mcpField
W
Workflowy

Workflowy

本地服务
github.com/jbeshir生产力13 天前更新

关于 Workflowy

Workflowy MCP 服务让用户通过 MCP 客户端读取和编辑 Workflowy 节点,适用于需要在大纲中搜索、整理和更新内容的场景。它提供层级路径上下文,并缓存导出数据以控制 API 请求频率。

主要功能

  1. 01搜索节点名称和备注
  2. 02读取节点详情及子节点
  3. 03创建、更新、删除和移动节点
  4. 04标记节点完成或取消完成
  5. 05列出系统位置和用户快捷方式
  6. 06搜索结果包含面包屑路径

适用场景

  1. 01按关键词或完成日期查找任务
  2. 02在指定父节点下创建大纲条目
  3. 03调整节点层级并更新内容
  4. 04查看节点在大纲中的完整位置

MCP 相关

通过 stdio 为 MCP 客户端提供 Workflowy 读取和写入工具,涵盖搜索、节点管理及位置查询。读取操作使用导出缓存,写入后会使缓存失效。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbworkflowy-mcp.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

workflowy-mcp

一个 MCP 服务,可对 Workflowy 进行完整的读写操作。你可以通过 Claude Desktop 或 Claude Code 等任何兼容 MCP 的客户端搜索、创建、整理、移动节点并将其标记为已完成。该服务通过 stdio 通信,并缓存 Workflowy 的导出端点数据,以遵守 API 速率限制。

入门

要求
配置
变量必需说明
WORKFLOWY_API_TOKEN是你的 Workflowy API 令牌
WORKFLOWY_API_URL否自定义 API URL(默认值:https://workflowy.com)
从源代码安装

需要 Go 1.27.3+。

go install github.com/jbeshir/mcp-servers/workflowy/cmd/workflowy-mcp@latest
Docker
docker build -t workflowy-mcp ./workflowy
docker run -e WORKFLOWY_API_TOKEN=<your-token> workflowy-mcp
Claude Desktop

将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json)中:

{
  "mcpServers": {
    "workflowy": {
      "command": "/path/to/workflowy-mcp",
      "env": { "WORKFLOWY_API_TOKEN": "<your-token>" }
    }
  }
}
Claude Code
claude mcp add workflowy -- env WORKFLOWY_API_TOKEN=<your-token> /path/to/workflowy-mcp

工具

工具说明
search_nodes按关键字和/或完成日期范围(completed_after/completed_before,Unix 秒)搜索名称和备注字段中的节点
get_node按 ID 获取节点的完整详情
list_children按优先级排序,列出某个父节点的子节点
create_node创建新节点
update_node更新现有节点的属性
delete_node删除节点
move_node将节点移动到其他父节点下
complete_node将节点标记为已完成
uncomplete_node将节点标记为未完成
list_targets列出系统位置(home/inbox)和用户快捷方式

核心概念

  • 节点 — Workflowy 的基本单位。每个项目符号、标题、待办事项和代码块都是一个节点。节点构成一棵树:每个节点都可以有子节点,除根节点外的每个节点都有一个父节点。
  • 目标 — 命名的系统位置(home、inbox)和用户定义的快捷方式。在任何接受父节点 ID 的地方都可以使用目标键,因此即使不知道收件箱的 UUID,也可以在其中创建节点。
  • 布局模式 — 每个节点都有一种显示模式:bullets(默认)、todo、h1、h2、h3、code-block 或 quote-block。
  • 面包屑路径 — 搜索结果包含完整的祖先名称链(例如 Projects > Backend > Auth),可用于了解节点在层级中的位置。
  • 层级式完成状态 — 完成父节点会隐式地将其所有子节点标记为已完成。服务在筛选搜索结果时会考虑这一点,因此即使某个子节点自身没有完成时间戳,只要其父节点已完成,该子节点也会被视为已完成。

架构概览

graph LR
    Client["MCP Client"]
    Server["MCP Server<br/>10 tools"]
    Cache["Export Cache<br/>TTL 60s+"]
    HTTP["HTTP Client<br/>Bearer token auth"]
    API["Workflowy REST API"]

    Client -->|"JSON-RPC over stdio"| Server
    Server -->|"reads"| Cache
    Server -->|"writes"| HTTP
    Cache -->|"cache miss"| HTTP
    HTTP -->|"HTTPS"| API

该服务包含三个内部层:

  • MCP 服务(internal/server/)— 注册 10 个工具、解析参数,并生成包含面包屑路径的 JSON 响应。
  • 导出缓存(internal/cache/)— 基于 TTL 的完整节点导出缓存。使用双重检查锁定(RWMutex)合并并发请求。最短 TTL 为 60 秒,以遵守 Workflowy 导出端点的速率限制。
  • HTTP 客户端(internal/client/)— 精简的 REST 客户端。所有请求均使用 Bearer 令牌身份验证。读取操作通过缓存执行;写入操作直接调用 API,随后使缓存失效。

数据流

读取路径(搜索、获取、列出)
sequenceDiagram
    participant C as MCP Client
    participant S as MCP Server
    participant Ca as Export Cache
    participant H as HTTP Client
    participant A as Workflowy API

    C->>S: search_nodes(query)
    S->>Ca: GetAllNodes()
    alt Cache hit (within TTL)
        Ca-->>S: Cached nodes
    else Cache miss or expired
        Ca->>H: ExportNodes()
        H->>A: GET /api/v1/nodes-export
        A-->>H: All nodes (JSON)
        H-->>Ca: []Node
        Ca-->>S: Fresh nodes
    end
    S-->>C: Matching nodes with breadcrumb paths
写入路径(创建、更新、删除、移动、完成)
sequenceDiagram
    participant C as MCP Client
    participant S as MCP Server
    participant Ca as Export Cache
    participant H as HTTP Client
    participant A as Workflowy API

    C->>S: create_node(name, parentId)
    S->>H: CreateNode(request)
    H->>A: POST /api/v1/nodes
    A-->>H: Created node ID
    H-->>S: CreateNodeResponse
    S->>Ca: Invalidate()
    S-->>C: "Created node with ID: ..."

写入操作完全绕过缓存,直接调用 Workflowy API,然后使缓存失效,以便下一次读取时获取最新数据。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。