AI Skill Hub 推荐使用:系统MCP平此 是一款优质的MCP工具。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的MCP工具解决方案,这是一个值得深入了解的选择。
安装为系统MCP平此,用事Workflowy和Claude给管理事为平此和数据为Wo。很統事为系统平此和给管理事为平此和数据为Wo。
系统MCP平此 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
安装为系统MCP平此,用事Workflowy和Claude给管理事为平此和数据为Wo。很統事为系统平此和给管理事为平此和数据为Wo。
系统MCP平此 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/dromologue/workflowyMCP
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"--mcp--": {
"command": "npx",
"args": ["-y", "workflowymcp"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 系统MCP平此 执行以下任务... Claude: [自动调用 系统MCP平此 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"__mcp__": {
"command": "npx",
"args": ["-y", "workflowymcp"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
You need: Rust 1.75+ (rustup install stable), a Workflowy account with an API key (Settings → API in Workflowy), and an MCP host (Claude Code, Claude Desktop, or claude.ai web).
git clone https://github.com/dromologue/workflowyMCP.git ~/code/workflowy-mcp-server
cd ~/code/workflowy-mcp-server
cargo build --release
echo "WORKFLOWY_API_KEY=<your-token>" > .env
The binary reads .env from the directory it's launched from. The clone path above (~/code/workflowy-mcp-server) is the working directory for the host's MCP launch — the host runs the binary from there, so .env resolves correctly. Recommended alternative: put the same key in your MCP host's env block (see the next section), so the binary works regardless of where it's launched from.
Wire the resulting target/release/workflowy-mcp-server into your MCP host:
- Claude Code: claude mcp add workflowy -- $(pwd)/target/release/workflowy-mcp-server - Claude Desktop: edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). See BOOTSTRAP.md for the JSON shape.
Verify by calling the workflowy_status tool — the host should return status: "ok", api_reachable: true, authenticated: true. If authenticated: false, your API key is wrong or not reaching the binary; check the env-var section below.
That's it for plain MCP usage.
---
The server reads three env vars at runtime. The repository ships no machine-specific defaults: a path you don't set is a feature you don't use. Set them in the env block of your MCP host config (Claude Code: ~/.claude.json; Claude Desktop: claude_desktop_config.json) and, when you also use the wflow-do CLI from a shell, in your shell profile (~/.zshrc or ~/.bashrc).
| Variable | Required? | What it controls |
|---|---|---|
WORKFLOWY_API_KEY | Yes | Bearer token for the Workflowy API. |
SECONDBRAIN_DIR | Optional | Absolute path to your operational secondBrain directory (drafts, session logs, briefs, memory). When set, the review tool's bucket-d session-log scan and the wflow-do index default output path read from $SECONDBRAIN_DIR/session-logs/. Unset or empty disables those features (graceful skip). |
WORKFLOWY_INDEX_PATH | Optional | Absolute path to the persistent name-index JSON. Conventionally $SECONDBRAIN_DIR/memory/name_index.json. Unset or empty disables persistence — the index then lives only in memory for the lifetime of each process. |
Example MCP host env block (Claude Code or Desktop):
"env": {
"WORKFLOWY_API_KEY": "<your token>",
"SECONDBRAIN_DIR": "/absolute/path/to/secondBrain",
"WORKFLOWY_INDEX_PATH": "/absolute/path/to/secondBrain/memory/name_index.json"
}
Example shell profile (so the CLI agrees with the MCP server):
export SECONDBRAIN_DIR="/absolute/path/to/secondBrain"
export WORKFLOWY_INDEX_PATH="$SECONDBRAIN_DIR/memory/name_index.json"
Neither path needs to be inside the user's home directory — a Dropbox / iCloud / Google Drive folder works as long as the host process can read and write it. Paths with spaces are fine in the MCP env block (JSON quoting handles it) and in the shell profile (the export line quotes the value).
---
The server exposes 41 tools. node_id accepts any of: full UUID (with or without hyphens), 12-char URL-suffix short hash, or 8-char prefix. parent_id (and any other parent-scoped argument) accepts null or omission as "workspace root" across the whole tool surface — create_node, batch_create_nodes, insert_content, list_children, and the rest behave the same way.
| Category | Tools |
|---|---|
| Search & navigate | node_at_path, resolve_link, search_nodes, find_node, get_node, list_children, tag_search, get_subtree, find_backlinks, path_of, find_by_tag_and_path, read_batch |
| Create & edit | create_node, batch_create_nodes, insert_content, smart_insert, convert_markdown, edit_node, move_node, reorder_nodes, delete_node, complete_node, duplicate_node, create_from_template, bulk_update, bulk_tag, transaction, export_subtree |
| Mirror discipline | create_mirror (convention-based: duplicates the canonical's name into a new parent and writes mirror_of: to the new node's note), audit_mirrors |
| Todos & scheduling | list_todos, list_upcoming, list_overdue, daily_review, since |
| Project management | get_project_summary, get_recent_changes |
| Diagnostics & ops | workflowy_status, health_check, cancel_all, build_name_index, review, get_recent_tool_calls |
Native task completion. complete_node(node_id) toggles the Workflowy completed boolean — the legacy #done tag-as-completion workaround is deprecated for tasks. bulk_update(operation: "complete"|"uncomplete", filter: …) toggles a filtered set in one call; transaction accepts the same ops with rollback. Wire payload is POST /nodes/{id} with {"completed": true|false}.
Reordering siblings (reorder_nodes). Workflowy's move_node priority is position-relative-to-siblings and renormalises after every call, so a naive forward priority=0,1,2,… loop fights itself when you try to batch-reorder a set. reorder_nodes(parent_id, node_ids[]) takes the desired head-first order and walks it in reverse, issuing move_node with priority=0 per id — every move plants its node at position 0, the previously-planted nodes shift one step right, and after N moves the head of the parent's children is the requested sequence. Side effect: ids not currently under parent_id are reparented as part of the reorder (the primitive is built on move_node, not a sibling- only assertion). Capped at 200 ids per call. Returns Complete or Partial { reason: cancelled | timeout } with per-id `ok / error / skipped` entries; partial outcomes are safe to re-issue with the full list because each reverse-priority-0 move is idempotent. The orchestration lives once in crate::workflows::reorder_nodes_via_priority and is shared with wflow-do reorder --parent <id> --node <id> --node <id>.
Mirror creation (convention). Workflowy's REST API does not expose native mirror creation, so create_mirror(canonical_node_id, target_parent_id) implements the documented mirror_of: / canonical_of: note convention that audit_mirrors already understands: a new node is created under the target parent with the same name as the canonical, and its description carries mirror_of: <canonical_uuid>. Edits to the canonical do not propagate to the mirror — the link is structural and human-curated, not live. Pass an optional pillar to write a canonical_of: <pillar> marker to the canonical when it lacks one; existing markers are never overwritten. Pass dry_run=true to preview the resolved canonical, target_parent, and mirror name (verbatim copy of the canonical's name) without writing — useful when batching multiple mirror passes across a synthesis. The mirror's create + the optional canonical edit (and the dry-run preview) run through the shared crate::workflows module, the same code path the wflow-do create-mirror [--dry-run] CLI calls.
scope_resolved diagnostic field. Every tool that accepts an Option<NodeId> for parent_id (create_node, batch_create_nodes, insert_content, create_mirror, list_children, find_node, search_nodes) returns a scope_resolved field naming what the server actually targeted: workspace_root when the resolved scope was None (caller passed null or omitted), or scoped:<full-uuid> otherwise. Read this field after every call where parent_id was null/omitted to verify the server resolved to where you intended — pre-2026-05-09 callers had no way to audit this without inspecting the wire payload.
insert_content payload cap. The hard cap is 80 lines per call, lowered from 200 on 2026-05-04 after the failure-report 2026-05-03 session observed ≥80-line payloads failing at the MCP transport layer with no diagnostic. Above the cap, the call returns a typed error with a chunking instruction; chunk to ≤80 lines and pass the previous batch's last_inserted_id as the next call's parent_id to keep the hierarchy stitched together.
Truncation envelope. Every walk-shaped tool that emits JSON includes the same four fields when its 20 s walk budget fires:
{
"truncated": true,
"truncation_limit": 10000,
"truncation_reason": "timeout",
"truncation_recovery_hint": "Call build_name_index(parent_id=...) … then re-issue with use_index=true …"
}
Read truncation_reason and truncation_recovery_hint on every walk response. For name-based queries (search_nodes, find_node), use_index=true answers in O(1) from the persistent name index without burning the walk budget — populate it first with build_name_index(parent_id=<scope>). Index path is name-only; description-content matching still needs a live walk.
For large workspaces, prefer node_at_path (path of names → UUID, ~1 second on any tree size) and resolve_link (Workflowy URL + optional parent path → full node info) over search_nodes. They cost O(depth) API calls instead of O(tree).
Conventions parsed from node text:
- Tags: #inbox, #review, #urgent - Assignees: @alice, @bob - Due dates: due:2026-03-15, #due-2026-03-15, or bare 2026-03-15 (priority order)
---
A Rust MCP server that gives Claude (Code, Desktop, or web) read/write access to your Workflowy graph, plus a generic template for turning that raw access into a working second brain.
There are two ways to use it:
1. Bare MCP server. Wire the binary into your MCP host and call the 41 tools directly. No templates, no opinions. 2. Second brain. Hand BOOTSTRAP.md to Claude. The assistant follows the script: builds the binary, wires the host, sets up your secondBrain directory at whatever path you choose (exposed to the server via $SECONDBRAIN_DIR), and installs the wflow skill that drives every subsequent session.
The methodology in option 2 is opinionated; the server itself is not. The repo only ships generic templates — your node IDs, drafts, and session logs live wherever $SECONDBRAIN_DIR points, never in this repo.
---
系统MCP平此的给管理事为平此和数据为Wo。平此的给管理事为平此和数据为Wo。平此的给管理事为平此和数据为Wo。
该工具未明确声明开源协议,商业使用前请联系原作者确认授权范围,避免侵权风险。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
总体来看,系统MCP平此 是一款质量良好的MCP工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | workflowyMCP |
| 原始描述 | 开源MCP工具:An MCP server that uses Workflowy and Claude to manage Tasks & Information in Wo。⭐8 · Rust |
| Topics | mcpworkflowyrust |
| GitHub | https://github.com/dromologue/workflowyMCP |
| 语言 | Rust |
收录时间:2026-05-24 · 更新时间:2026-05-30 · License:未公布 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端