workflowy — Claude Code MCP server: Workflowy access for AI
Connects your Workflowy outline to an AI assistant: search, create and edit nodes, run usage reports, work offline from a backup.
claude mcp add --env WORKFLOWY_API_KEY=<WORKFLOWY_API_KEY> --transport stdio workflowy -- docker run -i --rm -e WORKFLOWY_API_KEY ghcr.io/mholzen/workflowy:0.8.1What workflowy does
Written in Go, this tool ships as both an MCP server and a CLI. Through MCP the assistant gets read tools (workflowy_get, workflowy_list, workflowy_search, workflowy_report_count and others) plus write tools (workflowy_create, workflowy_update, workflowy_move, workflowy_replace, workflowy_transform). Search takes regular expressions, and replace supports a dry run and interactive confirmation.
Data comes from one of three methods: --method=get for live single nodes, --method=export for the full tree, --method=backup for offline work from a Dropbox backup. Backup is the fastest, though the data is stale. Reports show where most of your content sits, which nodes have the most children, what has not been touched in a while, and what gets mirrored most.
You need a Workflowy API key, either in ~/.workflowy/api.key or passed as WORKFLOWY_API_KEY. The --write-root-id flag confines writes to one subtree. Drop --expose=all and the server exposes read-only tools only. The report mirrors command needs a backup to be enabled.
What it helps with
- find every task containing a given word across the outline
- replace labels in nodes by regex after previewing the changes
- split a node's content into children on line breaks
- spot nodes that have not been modified in a long time
- add a task to the inbox from the terminal
Example prompts for the agent
- Search my Workflowy for every node containing "report" and show them as a tree
- Replace
TASK-withISSUE-across all nodes, show me the diff first - Split the content of node
1bdae4aecf00into child nodes on line breaks
How to install workflowy
Platform CLI
claude mcp add --env WORKFLOWY_API_KEY=<WORKFLOWY_API_KEY> --transport stdio workflowy -- docker run -i --rm -e WORKFLOWY_API_KEY ghcr.io/mholzen/workflowy:0.8.1Replace <…> with your own values
Platform CLI
codex mcp add workflowy --env WORKFLOWY_API_KEY=<WORKFLOWY_API_KEY> -- docker run -i --rm -e WORKFLOWY_API_KEY ghcr.io/mholzen/workflowy:0.8.1Replace <…> with your own values
Config file
{
"mcpServers": {
"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>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"workflowy": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"WORKFLOWY_API_KEY",
"ghcr.io/mholzen/workflowy:0.8.1"
],
"env": {
"WORKFLOWY_API_KEY": "<WORKFLOWY_API_KEY>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e WORKFLOWY_API_KEY=<WORKFLOWY_API_KEY> workflowy docker run -i --rm -e WORKFLOWY_API_KEY ghcr.io/mholzen/workflowy:0.8.1Replace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about workflowy
How do I install workflowy in Claude Code?
Run `claude mcp add --env WORKFLOWY_API_KEY=<WORKFLOWY_API_KEY> --transport stdio workflowy -- docker run -i --rm -e WORKFLOWY_API_KEY ghcr.io/mholzen/workflowy:0.8.1`. Get the key from your Workflowy API page.
What does workflowy do?
It is an MCP server and CLI for Workflowy: regex search, bulk replace, node creation and edits, usage reports, and offline access through a backup.
Does it need Docker?
The install commands run the server via docker run, so Docker has to be present. Other routes exist too: Homebrew, Scoop, go install, or a pre-built binary.