Workflowy Local MCP 服务器

使用说明内容(Markdown格式)

项目简介

这个仓库实现了一个本地 MCP 服务器,用于向 LLM 客户端暴露 Workflowy 账户的上下文信息、操作工具和提示模板。服务器通过 SQLite 本地缓存管理节点数据,提供同步、查询、修改等能力,确保在本地环境中以安全、可扩展的方式帮助 LLM 进行任务规划与上下文管理。

主要功能点

  • 提供 12 种 Workflowy 相关工具,用于管理节点(创建、更新、删除、移动、完成状态、书签等)
  • 本地缓存 + 全文检索:使用 SQLite 缓存节点与书签,快速查询与浏览
  • 自动/按需同步 Workflowy 账户数据到本地缓存
  • 支持自定义 AI 指令:从名为 ai_instructions 的节点中读取用户偏好,影响对话行为
  • 提供服务器指令(Prompts)与动态上下文指令,方便 LLM 直接使用
  • 日志记录与简单迁移机制,确保缓存结构演进
  • 通过 Stdio 传输实现 MCP 服务器与客户端的通信(一个可运行的本地后端服务)

安装与运行

  • 系统依赖:Node.js 18+、Rust(用于桌面应用打包)
  • 安装依赖并构建:
    • npm install
    • npm run tauri build
  • 启动与使用:
    • MCP 服务器设计为随桌面应用一起打包并通过标准输入/输出(stdio)与 MCP 客户端通讯。客户端需要配置服务器的启动命令和参数来建立连接。
    • 服务器会读取本地 API 密钥、配置并缓存 Workflowy 数据,提供以下接口:读取书签、获取节点树、创建/更新/删除节点、同步节点等。

服务器配置(MCP 客户端启动信息示例,客户端需要)

说明:MCP 客户端在连接该 MCP 服务器时需要知道服务器的启动信息。以下字段用于描述如何启动服务器进程以及传递必要参数。具体路径会在部署环境中确定,示例仅供参考。

{ "server_name": "workflowy-mcp", "command": "node", "args": [ "/path/to/server.cjs" ] }

字段说明

  • server_name: MCP 服务标识,用来区分不同的 MCP 服务
  • command: 启动服务器所用的执行环境(示例中为 node,实际环境应使用打包后的服务脚本执行环境)
  • args: 启动脚本及参数的路径,server.cjs 为应用数据目录中复制的服务器入口脚本(具体路径随部署环境变化)

基本使用方法

  • 第一次使用前,请确保 Workflowy API Key 已配置(环境变量 WORKFLOWY_API_KEY 或应用设置中的 apiKey)

  • 启动客户端后:

    1. 调用 list_bookmarks:查看本地保存的书签及其上下文
    2. 如有合适书签,调用 get_node_tree 获取并展示节点树(按需设置 depth 与格式)
    3. 如没有合适书签,使用 search_nodes 进行内容检索,必要时保存新的书签
    4. 使用 create_node / update_node / delete_node / move_node 等工具对本地缓存及 Workflowy 实际内容进行管理
    5. 使用 sync_nodes 主动刷新本地缓存数据
  • 注意事项

    • 本地缓存包含 bookmarks 与 nodes 两张表,支持简单的全文检索和结构化展示
    • 单位时间内对 Workflowy 的导出请求有限制,以避免触发 API 限制
    • AI 指令通过 ai_instructions 节点提供,若存在将影响后续会话的行为

额外信息

  • 本 MCP 服务器使用 JSON-RPC 风格的请求/响应,与客户端通信,支持多种传输形式(此实现使用 stdio 传输)
  • 服务器实现了日志记录,简单的迁移能力,以及对 ai_instructions 的读取和嵌入式指令显示

服务器信息