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)
-
启动客户端后:
- 调用 list_bookmarks:查看本地保存的书签及其上下文
- 如有合适书签,调用 get_node_tree 获取并展示节点树(按需设置 depth 与格式)
- 如没有合适书签,使用 search_nodes 进行内容检索,必要时保存新的书签
- 使用 create_node / update_node / delete_node / move_node 等工具对本地缓存及 Workflowy 实际内容进行管理
- 使用 sync_nodes 主动刷新本地缓存数据
-
注意事项
- 本地缓存包含 bookmarks 与 nodes 两张表,支持简单的全文检索和结构化展示
- 单位时间内对 Workflowy 的导出请求有限制,以避免触发 API 限制
- AI 指令通过 ai_instructions 节点提供,若存在将影响后续会话的行为
额外信息
- 本 MCP 服务器使用 JSON-RPC 风格的请求/响应,与客户端通信,支持多种传输形式(此实现使用 stdio 传输)
- 服务器实现了日志记录,简单的迁移能力,以及对 ai_instructions 的读取和嵌入式指令显示