omnifocus-claude-extension
Omnifocus integration in Desktop Extension Format suitable for Claude Desktop on Mac
claude mcp add geoffdavis-omnifocus-claude-extension
How to use
This MCP server exposes an OmniFocus Claude integration that lets Claude Desktop drive OmniFocus tasks via a JSON-RPC 2.0 interface. Core capabilities include adding tasks with notes, due dates, defer dates, and flags; viewing and processing inbox items; listing today’s tasks; completing tasks by name; and generating GTD-style weekly reviews. Advanced features support searching across projects, contexts, and notes; editing any task property; batch task creation with subtasks; and creating recurring tasks with various repeat patterns. The server forwards commands from Claude to AppleScript handlers that perform the actual OmniFocus interactions on macOS, returning structured results back to Claude for display or further processing. To use it, run the MCP server and connect Claude Desktop to it; then issue natural-language style prompts that map to the available commands (e.g., add a task, search tasks, complete a task, or create recurring tasks).
How to install
Prerequisites:
- macOS with OmniFocus installed and running
- Claude Desktop installed
- Node.js (recommended LTS, e.g., 14+ for development as noted in the README)
- Git to clone the repository
Installation steps:
-
Clone the repository: git clone https://github.com/geoffdavis/omnifocus-claude-extension.git cd omnifocus-claude-extension
-
Install dependencies: npm install
-
Build the extension (if you plan to develop or run the built extension): npm run build
-
Start the MCP server (example): node src/server/index.js
-
In Claude Desktop, configure the MCP connection to point to the running server (stdio-based RPC). Ensure macOS Automation permissions are granted for OmniFocus when prompted.
Additional notes
Tips and common considerations:
- Ensure OmniFocus Automation permissions are enabled (Claude runs the MCP server using Node.js which calls AppleScript). If you encounter permission prompts, reset with: tccutil reset AppleEvents and relaunch Claude Desktop.
- The server uses AppleScript under the hood; if OmniFocus isn’t responding, verify OmniFocus is open and the default project/document is accessible.
- For recurring tasks and batch operations, provide explicit syntax supported by the extension (as shown in the usage examples).
- If you see errors about multiple matches or no tasks found, refine your search terms or ensure the correct OmniFocus context (project, inbox, etc.) is targeted.
- This MCP server is designed to run locally; no data leaves your machine.
Related MCP Servers
Gitingest
mcp server for gitingest
juliadoc
MCP server for efficiently retrieving Julia docstrings and source code
novita
The Model Context Protocol (MCP) server that provides seamless interaction with Novita AI platform resources
claude_autoapprove
Autoapprove support for claude
claude-qdrant
Local-first TypeScript MCP server for Qdrant with client isolation, LM Studio integration, and scalable document workflows.
capacities -bridge-unofficial
Unofficial MCP tools and bridges for Capacities.io, for use with Claude Desktop, Genspark, and other clients.