Workflowy Local Mcp

Created By
Rodolfo Terriquez4 months ago
A desktop app that gives AI assistants full read/write access to your WorkFlowy account with fast local search. Caches your entire outline in local SQLite with full-text search - instant search across hundreds of thousands of nodes without hitting API rate limits.
Overview

Workflowy Local MCP

A desktop app that gives AI assistants full read/write access to your Workflowy account with fast local search. Unlike simple API wrappers, it caches your entire outline in a local SQLite database with full-text search - so your AI can instantly search across hundreds of thousands of nodes without hitting API rate limits. Your API key never leaves your machine.

Why This Exists

Workflowy's API has no search endpoint and a strict 1 request/minute rate limit on full exports. That makes direct API access painfully slow for AI assistants that need to explore your outline. This server solves that with local caching, instant full-text search, bookmarks with context, and AI-configurable instructions - all through a simple desktop app.

Features

  • 7 tools for managing Workflowy nodes (read, edit, search, sync, bookmarks)
  • Local SQLite cache with fast full-text search across all your nodes
  • Bookmarks to save frequently-used node locations with context notes
  • AI Instructions — create an "AI Instructions" node in Workflowy to customize LLM behavior across sessions
  • Sync-on-access — reads auto-sync from the Workflowy API so data is always fresh
  • Customizable server instructions and tool descriptions to tune AI behavior
  • MCP logging — view server activity in the desktop app in real time
  • Fully local — your API key never leaves your machine

Installation

  1. Download the latest release from GitHub Releases

    • macOS: .dmg file
    • Windows: .msi or .exe installer
  2. macOS users: The app is unsigned, so you'll need to bypass Gatekeeper:

    • Option 1: Right-click the app → select "Open" → click "Open" in the dialog
    • Option 2: Run xattr -cr /path/to/Workflowy\ Local\ MCP.app in Terminal
    • If you see "damaged and can't be opened", use Option 2
  3. Open the app and enter your Workflowy API key

  4. Go to the Setup tab and follow the instructions for your MCP client (Claude Code, Claude Desktop, Cursor, or any app that supports MCP)

  5. Restart your MCP client — the Workflowy tools are now available

Available Tools

ToolDescription
list_bookmarksList all saved bookmarks and the user's custom AI instructions. Call this at the start of every conversation.
save_bookmarkSave a node ID with a friendly name and context notes for future sessions
delete_bookmarkDelete a saved bookmark by name
read_docRead a node and its children via the LLM Doc API. Supports calendar targets (today, tomorrow, next_week, inbox) and configurable depth (1-10). Returns tag-as-key JSON format.
edit_docEdit nodes via the LLM Doc API. Supports insert, update, and delete operations in a single call. Can create nested structures with one request.
search_nodesSearch locally cached nodes by text. Returns results with breadcrumb paths and a preview of each result's children.
sync_nodesFull sync of all Workflowy nodes to local cache (rate limited to 1 request per minute)

How It Works

The server uses Workflowy's LLM Doc API for reads and writes, with a local SQLite cache for search:

  • LLM Doc API: read_doc and edit_doc call Workflowy's /api/llm/doc/read/ and /api/llm/doc/edit endpoints directly for real-time access
  • Calendar targets: Use today, tomorrow, next_week, or inbox as node IDs — the API handles date resolution automatically
  • Batch operations: edit_doc can perform multiple insert/update/delete operations in a single API call
  • Local cache for search: search_nodes uses a SQLite cache that auto-syncs when stale (>1 hour)
  • Rate limiting: The Workflowy nodes-export API (used for cache sync) is limited to 1 request per minute; the LLM Doc API has no rate limit

Desktop App

The Tauri-based desktop app provides a UI for configuration and monitoring:

  • API Key — enter and validate your Workflowy API key
  • Tools — customize server instructions and individual tool descriptions to tune AI behavior
  • Setup — copy-paste configuration snippets for Claude Code, Claude Desktop, and Cursor
  • Bookmarks — view, edit context, and delete saved bookmarks
  • Cache — view cache status and trigger a manual sync
  • Logs — view MCP server logs in real time (auto-refreshes every 3 seconds)

AI Instructions

You can create a node called "AI Instructions" in Workflowy to set persistent preferences for how LLMs interact with your data. For example:

  • "Always add new tasks to my #inbox"
  • "Use checkboxes for tasks, not bullets"
  • "My calendar is under 'Daily Notes > 2025'"

The LLM will search for this node, save it as a reserved ai_instructions bookmark, and automatically load it at the start of every conversation.

Data Storage

All data is stored locally in the app data directory:

PlatformPath
macOS~/Library/Application Support/com.workflowy.local-mcp/
Windows%APPDATA%\com.workflowy.local-mcp\
Linux~/.local/share/com.workflowy.local-mcp/

Files stored: config.json (settings), bookmarks.db (SQLite database with bookmarks and node cache), mcp-logs.json (server logs).

The API key can also be set via the WORKFLOWY_API_KEY environment variable instead of the app config.

Works With

Building from Source

Requires Node.js 18+ and Rust.

npm install
npm run tauri build

This runs the frontend build (tsc && vite build), bundles the MCP server with esbuild (npm run build:mcp), and packages everything into a Tauri desktop app.

Server Config

{
  "mcpServers": {
    "workflowy": {
      "command": "node",
      "args": [
        "/path/to/workflowy-local-mcp/dist-mcp/server.js"
      ],
      "env": {
        "WORKFLOWY_API_KEY": "your-api-key"
      }
    }
  }
}
Project Info
Created At
4 months ago
Updated At
3 months ago
Author Name
Rodolfo Terriquez
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Mnemom

14 hours ago
//beforeyouship — LLM Cost Modeling From Your Editor
@Indiegoing

Query realistic LLM cost models without leaving your editor. beforeyouship models the **true monthly cost** of an LLM app architecture — retries, prompt caching, batch discounts, infra overhead, and 3×/10× growth — across GPT-5.x, Claude, Gemini, DeepSeek, and more. Not a token calculator: a planning tool for the design phase, before you commit to a stack. **No API key needed to try it** — demo mode covers the six free-tier models. A Pro key from [beforeyouship.dev](https://beforeyouship.dev) unlocks the full 18-model catalog. ## What you can ask - "How much will a RAG chatbot cost at 10,000 requests/day?" - "Compare Claude Haiku vs Gemini Flash pricing for my workload" - "What's the cheapest model for a multi-step agent at scale?" - "Show me current per-token prices for Anthropic models" ## Tools ### `estimate_cost` Full cost model for an architecture at a given usage level. Returns Naive / Realistic / Worst Case monthly cost per model, 3×/10× growth scenarios, and an opinionated recommendation with reasoning. ### `get_model_prices` Current per-1M-token pricing — input, output, cached input, batch — with context windows and staleness metadata. ### `list_archetypes` Seven preset architecture patterns (simple chatbot, chatbot with history, RAG pipeline, multi-model router, coding assistant, document processor, multi-step agent) used as starting points for estimates. ## Setup **Claude Code:** ​```bash claude mcp add --transport http beforeyouship https://beforeyouship.dev/api/mcp ​``` **Cursor / other clients** — add a remote server: ​```json { "mcpServers": { "beforeyouship": { "type": "streamable-http", "url": "https://beforeyouship.dev/api/mcp" } } } ​``` Add an `Authorization: Bearer bys_...` header with a Pro key for the full catalog. ## Try it > Estimate the monthly cost of a RAG pipeline at 10,000 requests/day

13 hours ago
Docwand

13 hours ago