mcpField
W
workflowy

workflowy

本地服务
github.com/mholzen生产力7230 周前更新

关于 workflowy

workflowy 是用 Go 编写的 Workflowy MCP 服务与命令行工具,可让 AI 助手读取和修改 Workflowy 大纲,也可在终端或脚本中使用。项目支持正则搜索、批量替换、用量报告和基于备份文件的离线访问。

主要功能

  1. 01支持正则的全文搜索
  2. 02批量查找替换,并提供试运行模式
  3. 03内容转换,如拆分、清理及通过 shell 命令处理
  4. 04用量报告,包括陈旧节点和镜像节点分析
  5. 05通过 --write-root-id 限制 AI 的写入范围

适用场景

  1. 01让 AI 助手查找并整理 Workflowy 中的待办事项
  2. 02批量修改大纲中的文本并先预览变更
  3. 03定期生成大纲用量报告,找出长期未修改的内容

MCP 相关

该项目提供 stdio 方式的 MCP 服务,将 Workflowy 的读取、搜索、创建、更新、移动和替换等操作暴露为工具。可通过参数限制为只读工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"mholzen-workflowy": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"WORKFLOWY_API_KEY",
"ghcr.io/mholzen/workflowy:0.8.1"
],
"env": {
"WORKFLOWY_API_KEY": "<WORKFLOWY_API_KEY>"
}
}
}
}
启动命令docker run -i --rm -e WORKFLOWY_API_KEY ghcr.io/mholzen/workflowy:0.8.1
需要配置的环境变量
WORKFLOWY_API_KEY密钥Your Workflowy API key (get it from https://workflowy.com/api-key/)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/mholzen/workflowy:0.8.1

工具

还没有获取到工具列表

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

详细介绍

Workflowy MCP 服务与 CLI

一个功能丰富的 模型上下文协议(MCP)服务和 命令行界面(CLI),使用 Go 为 Workflowy 编写。将 AI 助手(Claude、ChatGPT 等)连接到你的 Workflowy 数据,或通过终端模拟器或脚本运行命令,支持搜索、批量替换、使用情况报告和离线访问等功能。

Go Homebrew MCP Compatible MIT License

README 配图

为什么选择这个 Workflowy MCP 服务?

  • 支持正则表达式的全文搜索
  • 批量搜索与替换
  • 内容转换(拆分、清理、通过管道传递给大模型)
  • 使用情况报告(过时节点、大小分析、镜像)
  • 通过 --write-root-id 实现沙盒化 AI 访问
  • 通过备份文件实现离线模式
  • CLI 与 MCP 服务集于一体
  • 使用缓存提升性能
  • 支持 Homebrew 安装
  • 基本 CRUD 操作
  • 使用短 ID(复制内部链接)

快速开始

通过 Homebrew 安装
brew install mholzen/workflowy/workflowy-cli
配置 API 密钥
mkdir -p ~/.workflowy
echo "your-api-key-here" > ~/.workflowy/api.key

在 https://workflowy.com/api-key/ 获取 API 密钥

运行你的第一条命令
# Get the top-level nodes, and nodes two levels deep
workflowy get

# Generate a report showing where most of your nodes are
workflowy report count | pbcopy   # paste directly into Workflowy!

在 macOS 上使用 pbcopy,在 Windows 上使用 clip,在 Linux 上使用 wl-copy,或在 X11 系统上使用 xclip。

与 Claude Desktop 或 Claude Code 搭配使用

Claude Code
claude mcp add --transport=stdio workflowy -- workflowy mcp --expose=all

移除 —expose=all,即可限制为只读工具。

Claude Desktop

将以下内容添加到配置文件中:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "workflowy": {
      "command": "workflowy",
      "args": ["mcp", "--expose=all"]
    }
  }
}

重启 Claude Desktop,然后就可以让 Claude 开始处理你的 Workflowy 内容了!

面向 AI 助手的 MCP 工具

读取工具(安全)
工具描述
workflowy_get获取一个节点及其后代节点,并以树形结构呈现
workflowy_list以扁平列表列出后代节点
workflowy_search按文本或正则表达式搜索节点
workflowy_targets列出快捷方式和系统目标(收件箱等)
workflowy_id将短 ID 或目标键解析为完整 UUID
workflowy_report_count查找内容主要所在位置
workflowy_report_children查找子节点较多的节点
workflowy_report_created查找最早创建的节点
workflowy_report_modified查找长期未修改的过时节点
workflowy_report_mirrors查找镜像次数最多的节点(需要备份)
写入工具
工具描述
workflowy_create创建新节点
workflowy_update更新节点内容
workflowy_move将节点移动到新的父节点下
workflowy_delete删除节点
workflowy_complete将节点标记为已完成
workflowy_uncomplete将节点标记为未完成
workflowy_replace使用正则表达式进行批量查找与替换
workflowy_transform转换节点内容(拆分、修剪、执行 shell 命令)

CLI 功能

搜索整个大纲
# Find all TODOs (case-insensitive)
workflowy search -i "foobar"

# Regex search for dates
workflowy search -E "<time.*>"

# Search within a specific subtree (using Internal Link)
workflowy search "bug" --item-id https://workflowy.com/#/1bdae4aecf00
批量搜索与替换
# Preview changes first (dry run)
workflowy replace --dry-run "foo" "bar"

# Interactive confirmation
workflowy replace --interactive "foo" "bar"

# Use regex capture groups
workflowy replace "TASK-([0-9]+)" 'ISSUE-$1'
一些常见的 CRUD 操作
# Add a task to your inbox
workflowy create "Buy groceries" --parent-id=inbox

# Change the name of an item
workflowy update xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --name "Project Plan v2"

# Move an item to a different parent
workflowy move <item-id> <new-parent-id>

# Mark a node as complete, using a short ID
workflowy complete https://workflowy.com/#/xxxxxxxxxxxx

# Resolve a short ID or target key to full UUID
workflowy id inbox
转换内容
# Split a node's content by newlines into child nodes
workflowy transform <item-id> split -s "\n"

# Clean up text
workflowy transform <item-id> trim
workflowy transform <item-id> no-punctuation

# Pipe content through any shell command (e.g., an LLM)
workflowy transform <item-id> -x 'echo {} | llm "summarize this"'
使用情况报告
# Where is most of my content?
workflowy report count --threshold 0.01

# Which nodes have the most children?
workflowy report children --top-n 20

# Find stale content (oldest modified)
workflowy report modified --top-n 50

# Find most mirrored nodes (requires backup)
workflowy report mirrors --top-n 20

数据访问方式

根据你的使用场景选择最合适的方式:

方式速度数据新鲜度离线最适合
--method=get中等实时否特定条目
--method=export快*最坏情况下为 1 分钟(由于速率限制)否访问完整树
--method=backup最快可能过时是批量操作

*首次获取后会缓存

使用 Dropbox 备份的离线模式

启用 Workflowy 的 Dropbox 备份,即可离线访问数据:

workflowy get --method=backup
workflowy search -i "project" --method=backup

安装选项

Homebrew(macOS 和 Linux)
brew install mholzen/workflowy/workflowy-cli
Scoop(Windows)
scoop bucket add workflowy https://github.com/mholzen/scoop-workflowy
scoop install workflowy
使用 Go 安装
go install github.com/mholzen/workflowy/cmd/workflowy@latest
下载二进制文件

从 GitHub Releases 下载预构建的二进制文件。

Docker
docker run --rm -e WORKFLOWY_API_KEY=your-key ghcr.io/mholzen/workflowy:latest get
从源代码安装
git clone https://github.com/mholzen/workflowy.git
cd workflowy
go build ./cmd/workflowy

文档

示例

AI 助手工作流

询问 Claude:

  • “在我的 Workflowy 中搜索所有包含‘会议记录’的条目”
  • “显示我 6 个月未处理的节点”
  • “将我的 Project A 文件夹中所有的‘v1’替换为‘v2’”
  • “我的大纲中什么占用的空间最多?”
  • “哪些节点被镜像的次数最多?”
  • “将此条目移到我的收件箱”
CLI 工作流
# Morning review: find stale items
workflowy report modified --top-n 20

# Weekly cleanup: find oversized nodes
workflowy report count --threshold 0.05

# Find unnecessary mirrors
workflowy report mirrors --top-n 20

# Bulk rename: update project prefix
workflowy replace "OLD-" "NEW-" --parent-id projects-folder-id

# Split pasted content into child nodes
workflowy transform <item-id> split -s "\n"

贡献

欢迎贡献!请参阅贡献指南。

# Development setup
git clone https://github.com/mholzen/workflowy.git
cd workflowy
go test ./...

许可证

MIT — 请参阅 LICENSE

致谢

  • 感谢 Andrew Lisy 提出添加沙盒隔离写入命令的方法
  • 感谢 Craig P. Motlin 指出镜像是在备份文件中定义的

评论

支持 Markdown

第一次接触 MCP?

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

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