{"id":35770137,"url":"https://github.com/mholzen/workflowy","last_synced_at":"2026-01-23T02:09:56.090Z","repository":{"id":325821532,"uuid":"1102493483","full_name":"mholzen/workflowy","owner":"mholzen","description":"Powerful CLI and MCP server for WorkFlowy: reports, search/replace, backup support, and AI integration (Claude, LLMs)","archived":false,"fork":false,"pushed_at":"2026-01-18T06:29:29.000Z","size":299,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T17:39:00.908Z","etag":null,"topics":["claude","cli","golang","llm","mcp","mcp-server","model-context-protocol-server","outline","productivity","task-management","workflowy"],"latest_commit_sha":null,"homepage":"https://workflowy.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mholzen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-23T15:07:01.000Z","updated_at":"2026-01-18T06:30:52.000Z","dependencies_parsed_at":"2026-01-08T01:09:26.745Z","dependency_job_id":null,"html_url":"https://github.com/mholzen/workflowy","commit_stats":null,"previous_names":["mholzen/workflowy"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/mholzen/workflowy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mholzen%2Fworkflowy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mholzen%2Fworkflowy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mholzen%2Fworkflowy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mholzen%2Fworkflowy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mholzen","download_url":"https://codeload.github.com/mholzen/workflowy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mholzen%2Fworkflowy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28677718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T01:00:35.747Z","status":"online","status_checked_at":"2026-01-23T02:00:08.296Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","cli","golang","llm","mcp","mcp-server","model-context-protocol-server","outline","productivity","task-management","workflowy"],"created_at":"2026-01-07T03:16:34.324Z","updated_at":"2026-01-23T02:09:56.074Z","avatar_url":"https://github.com/mholzen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workflowy MCP Server \u0026 CLI\n\nA feature-rich **Model Context Protocol (MCP) server** and **Command Line Interface (CLI)** for [Workflowy](https://workflowy.com) written in Go. Connect your AI assistant (Claude, ChatGPT, etc.) to your Workflowy data or run commands from a terminal emulator or script, including **search**, **bulk replace**, **usage reports**, and **offline access** capabilities.\n\n[![Go](https://img.shields.io/badge/Go-1.24.3+-00ADD8?logo=go\u0026logoColor=white)](https://go.dev/) [![Homebrew](https://img.shields.io/badge/Homebrew-Available-FBB040?logo=homebrew\u0026logoColor=white)](https://github.com/mholzen/workflowy) [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-8A2BE2)](https://modelcontextprotocol.io) [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n\n\u003ca href=\"https://glama.ai/mcp/servers/@mholzen/workflowy\"\u003e\n  \u003cimg width=\"380\" height=“200\" src=\"https://glama.ai/mcp/servers/@mholzen/workflowy/badge\" /\u003e\n\u003c/a\u003e\n\n## Why This Workflowy MCP Server?\n\n - Full-text search with regex\n - Bulk search \u0026 replace\n - Usage reports (stale nodes, size analysis)\n - Offline mode via backup files\n - CLI + MCP server in one tool\n - Caching for performance\n - Homebrew installation\n - Basic CRUD operations\n - Using short IDs (Copy Internal Link)\n\n## Quick Start\n\n### Install via Homebrew\n\n```bash\nbrew install mholzen/workflowy/workflowy-cli\n```\n\n### Configure Your API Key\n\n```bash\nmkdir -p ~/.workflowy\necho \"your-api-key-here\" \u003e ~/.workflowy/api.key\nchmod 600 ~/.workflowy/api.key\n```\n\nGet your API key at https://workflowy.com/api-key/\n\n### Run Your First Command\n\n```bash\n# Generate a report showing where most of your nodes are\nworkflowy report count | pbcopy   # paste directly into Workflowy!\n```\n\nUse `pbcopy` on macOS, `clip` on Windows, `wl-copy` on Linux, or `xclip` for X11 systems.\n\n\n## Use with Claude Desktop or Claude Code\n\nAdd to your Claude Desktop configuration\n\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\nor `~/.claude.json` for Claude Code:\n\n```json\n{\n  \"mcpServers\": {\n    \"workflowy\": {\n      \"command\": \"workflowy\",\n      \"args\": [\"mcp\", \"--expose=all\", \"--log-file=/tmp/workflowy-mcp.log\"]\n    }\n  }\n}\n```\n\nSwitch `--expose=all` to `--expose=read` if you want to allow read tools only.\n\nRestart Claude Desktop and start asking Claude to work with your Workflowy!\n\n## MCP Tools for AI Assistants\n\n### Read Tools (Safe)\n| Tool | Description |\n|------|-------------|\n| `workflowy_get` | Get a node and its descendants as a tree |\n| `workflowy_list` | List descendants as a flat list |\n| `workflowy_search` | Search nodes by text or regex |\n| `workflowy_targets` | List shortcuts and system targets (inbox, etc.) |\n| `workflowy_report_count` | Find where most of your content lives |\n| `workflowy_report_children` | Find nodes with many children |\n| `workflowy_report_created` | Find oldest nodes |\n| `workflowy_report_modified` | Find stale, unmodified nodes |\n\n### Write Tools\n| Tool | Description |\n|------|-------------|\n| `workflowy_create` | Create new nodes |\n| `workflowy_update` | Update node content |\n| `workflowy_delete` | Delete nodes |\n| `workflowy_complete` | Mark nodes complete |\n| `workflowy_uncomplete` | Mark nodes incomplete |\n| `workflowy_replace` | Bulk find-and-replace with regex |\n\n## CLI Features\n\n### Search Your Entire Outline\n\n```bash\n# Find all TODOs (case-insensitive)\nworkflowy search -i \"foobar\"\n\n# Regex search for dates\nworkflowy search -E \"\u003ctime.*\u003e\"\n\n# Search within a specific subtree (using Internal Link)\nworkflowy search \"bug\" --item-id https://workflowy.com/#/1bdae4aecf00\n```\n\n### Bulk Search and Replace\n\n```bash\n# Preview changes first (dry run)\nworkflowy replace --dry-run \"foo\" \"bar\"\n\n# Interactive confirmation\nworkflowy replace --interactive \"foo\" \"bar\"\n\n# Use regex capture groups\nworkflowy replace \"TASK-([0-9]+)\" 'ISSUE-$1'\n```\n\n### Some Common CRUD Operations\n\n```bash\n# Add a task to your inbox\nworkflowy create \"Buy groceries\" --parent-id=inbox\n\n# Change the name of an item\nworkflowy update xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --name \"Project Plan v2\"\n\n# Mark a node as complete, using a short ID\nworkflowy complete https://workflowy.com/#/xxxxxxxxxxxx\n```\n\n\n### Usage Reports\n\n```bash\n# Where is most of my content?\nworkflowy report count --threshold 0.01\n\n# Which nodes have the most children?\nworkflowy report children --top-n 20\n\n# Find stale content (oldest modified)\nworkflowy report modified --top-n 50\n```\n\n## Data Access Methods\n\nChoose the best method for your use case:\n\n| Method | Speed | Freshness | Offline | Best For |\n|--------|-------|-----------|---------|----------|\n| `--method=get` | Medium | Real-time | No | Specific items |\n| `--method=export` | Fast* | 1 min worst case (due to rate limiting) | No | Full tree access |\n| `--method=backup` | Fastest | Stale | **Yes** | Bulk operations |\n\n*Cached after first fetch\n\n### Offline Mode with Dropbox Backup\n\nEnable Workflowy's Dropbox backup and access your data offline:\n\n```bash\nworkflowy get --method=backup\nworkflowy search -i \"project\" --method=backup\n```\n\n## Installation Options\n\n### Homebrew (Recommended)\n\n```bash\nbrew install mholzen/workflowy/workflowy-cli\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/mholzen/workflowy.git\ncd workflowy\ngo build ./cmd/workflowy\n```\n\n## Documentation\n\n- [Full CLI Reference](docs/CLI.md)\n- [MCP Server Guide](docs/MCP.md)\n- [API Reference](https://workflowy.com/api-reference/)\n- [Changelog](CHANGELOG.md)\n\n## Examples\n\n### AI Assistant Workflows\n\nAsk Claude:\n- \"Search my Workflowy for all items containing 'meeting notes'\"\n- \"Show me nodes I haven't touched in 6 months\"\n- \"Replace all 'v1' with 'v2' in my Project A folder\"\n- \"What's taking up the most space in my outline?\"\n\n### CLI Workflows\n\n```bash\n# Morning review: find stale items\nworkflowy report modified --top-n 20\n\n# Weekly cleanup: find oversized nodes\nworkflowy report count --threshold 0.05\n\n# Bulk rename: update project prefix\nworkflowy replace \"OLD-\" \"NEW-\" --parent-id projects-folder-id\n```\n\n## Contributing\n\nContributions welcome! See the [Contributing Guide](CONTRIBUTING.md).\n\n```bash\n# Development setup\ngit clone https://github.com/mholzen/workflowy.git\ncd workflowy\ngo test ./...\n```\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmholzen%2Fworkflowy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmholzen%2Fworkflowy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmholzen%2Fworkflowy/lists"}