Workflowy MCP Server & CLI: Workflowy for agents
Workflowy MCP Server & CLI
One Go binary: an MCP server and CLI for Workflowy with regex search, bulk replace, reports and a read-only mode
- 72 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- With `--expose=all` an agent creates, moves and deletes nodes and bulk-replaces text
- The API key opens your whole outline
Install
- Works in
Manual install
brew install mholzen/workflowy/workflowy-cliHomebrew for macOS and Linux; Scoop exists for Windows.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- With `--expose=all` an agent creates, moves and deletes nodes and bulk-replaces text
- The API key opens your whole outline
This is third-party code. Review the repository files before installing.
What it does
The `workflowy` utility in Go opens your Workflowy to agents and the terminal. As a CLI it searches the whole outline with regular expressions, does bulk replace (`workflowy replace --dry-run "foo" "bar"` shows the edits first), creates, moves, updates and completes nodes and accepts the short IDs from the Copy Internal Link feature. Reports show where the bulk lives: `workflowy report count`, nodes with many children, the oldest and long-unmodified nodes, the most mirrored nodes. The `workflowy transform` command splits node content by a separator, cleans text and pipes it through any shell command, for example an LLM. The MCP server starts as `workflowy mcp`. Read tools (`workflowy_get`, `workflowy_search`, reports) are safe, while write tools (`workflowy_create`, `workflowy_update`, `workflowy_move`, `workflowy_delete`, `workflowy_replace`, `workflowy_transform`) are switched on with the `--expose=all` flag. The `--write-root-id` flag confines writes to one subtree. Data is read in real time, from an export or from a Dropbox backup with no network.
Who it is for. Workflowy users with a large outline who want search, bulk edits and content reports from a terminal or a Claude chat.
Good fit when
- Thousands of nodes and you must find every TODO with a date by regular expression
- Labels `TASK-123` must be rewritten to `ISSUE-123` in one go with a preview of the edits
- You want to see which outline branches grew and have not changed for long
- An agent may write to only one branch through `--write-root-id` and everything else stays read-only
Not a fit when
- Notes live in another tool: the server works with Workflowy only
- You have no API key: without the `~/.workflowy/api.key` file or the `WORKFLOWY_API_KEY` variable commands do not run
- You need real-time sync with an offline copy: the Dropbox backup lags
Example request
Find every Workflowy node with bug in the project branch and show which have not changed for over six months.MCP
- Transport
- stdio
- Authentication
- API key
Environment variables
WORKFLOWY_API_KEYrequired, secret- Workflowy API key; an alternative to the `~/.workflowy/api.key` file
Limitations
A Workflowy API key is required: put it in `~/.workflowy/api.key` or in `WORKFLOWY_API_KEY`. An export refreshes once a minute because of rate limiting, while the Dropbox backup goes stale and serves offline work and the mirrors report.
Without `--expose=all` the server hands out read tools only. With that flag an agent deletes, moves and bulk-replaces nodes, so replacements start with `--dry-run`. The last commit in the repository was made in August 2026.
How to disable. Run `claude mcp remove workflowy` or remove the server from `claude_desktop_config.json`. The API key is revoked on the workflowy.com/api-key page.
FAQ
How do I install Workflowy CLI on macOS?
With `brew install mholzen/workflowy/workflowy-cli`. Windows has Scoop, and `go install github.com/mholzen/workflowy/cmd/workflowy@latest` works everywhere.
How do I connect Workflowy to Claude Code?
Run `claude mcp add --transport=stdio workflowy -- workflowy mcp --expose=all`. Without `--expose=all` write tools are unavailable.
How do I limit an agent to writing in one branch?
With the `--write-root-id` flag set to a node ID: writes outside that subtree are rejected.
Can I work offline?
Yes, with `--method=backup`: the server reads the backup from Dropbox. The data in it goes stale.
Where do I get the API key?
On the workflowy.com/api-key page; put the key in `~/.workflowy/api.key` or in `WORKFLOWY_API_KEY`.
Discussion
No questions or reviews yet.
Related
MCP serversMCP Outline Server: your Outline wiki for agents
MCP Outline Server
A community server that connects Outline to MCP: an agent searches, reads, creates and edits documents and comments in your wiki
Teamwork.com tasks, Desk tickets, Spaces pages and chats for an agent: a hosted server with role profiles and a read-only mode
The Mindwtr task manager MCP server: an agent reads GTD tasks, projects and areas, and writing needs a separate flag.
Hosted Workopia MCP server: job search in more than 90 countries, resume tailoring for a posting, cover letters and an application dashboard
A team wiki living in Git with a 51-tool MCP server: agents read and edit pages, tables and boards.
An agent searches, reads and writes a Roam Research graph through the desktop app's local API, with a CLI and a syntax skill
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Workflowy MCP Server & CLI: Workflowy for agents (this card) | no | API key | 72 | |
| Roam Research MCP | no | API key | 100 | works with Roam Research; this one targets Workflowy and a command line |
| MCP Outline Server: your Outline wiki for agents | no | API key | 158 | connects the Outline wiki; this one covers a personal Workflowy outline |
README in short
The README shows installation through Homebrew, Scoop, Go and Docker, connection to Claude Code and Claude Desktop, tables of read and write tools, CLI commands for search, replace, transform and reports, and three data access methods.