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
MCP server

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
All reasons and checks

mholzen/workflowy

Install

Manual install

brew install mholzen/workflowy/workflowy-cli

Homebrew for macOS and Linux; Scoop exists for Windows.

Access and checks

How we review

Extended 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_KEY required, 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.

Official

Teamwork.com tasks, Desk tickets, Spaces pages and chats for an agent: a hosted server with role profiles and a read-only mode

MCP serverBroad access28Repository stars
Official

The Mindwtr task manager MCP server: an agent reads GTD tasks, projects and areas, and writing needs a separate flag.

MCP serverExtended access2.4KRepository stars
Official

Hosted Workopia MCP server: job search in more than 90 countries, resume tailoring for a posting, cover letters and an application dashboard

MCP serverBroad access312Repository stars
Official

A team wiki living in Git with a 51-tool MCP server: agents read and edit pages, tables and boards.

MCP serverExtended access87Repository stars
Official

An agent searches, reads and writes a Roam Research graph through the desktop app's local API, with a CLI and a syntax skill

MCP serverBroad access62Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Workflowy MCP Server & CLI: Workflowy for agents (this card)noAPI key72
Roam Research MCPnoAPI key100works with Roam Research; this one targets Workflowy and a command line
MCP Outline Server: your Outline wiki for agentsnoAPI key158connects 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.

README badge

Report a problem