OmniFocus is an MCP server that provides a bridge between Model Context Protocol clients and the OmniFocus task manager on macOS. It connects directly to OmniFocus via JavaScript for Automation (JXA) using the official OmniAutomation APIs, avoiding database modifications. Designed for knowledge workers, developers, and project managers who organize their workflows through OmniFocus, this server enables AI assistants like Claude to read, create, update, and manage tasks and projects programmatically. It incorporates a time-to-live caching architecture to support fast responses across large databases containing thousands of tasks, caching task queries for 30 seconds and project structures for 5 minutes. The server invalidates cache automatically upon modifications, allowing users to query incomplete items, apply filters based on projects, tags, and dates, and generate new actionable tasks or structured projects directly from natural language interactions within supported AI desktop environments.
Category: Data & Analytics
Tags: omnifocus, productivity, project-tracking, task-management
bash git clone https://github.com/yourusername/omnifocus-cache-by-windsurf.git cd omnifocus-cache-by-windsurf npm install npm run build 3. Configure Claude Desktop by editing ~/Library/Application Support/Claude/claude_desktop_config.json to register the server: json { "mcpServers": { "omnifocus": { "command": "node", "args": ["/path/to/omnifocus-cache-by-windsurf/dist/index.js"], "env": { "LOG_LEVEL": "info" } } } } 4. Restart Claude Desktop and grant macOS automation permissions when prompted to allow access to OmniFocus.Part of MCP Servers
Clone the repository on macOS, install dependencies using npm install, and compile the TypeScript code with npm run build. Then add the built script path to your Claude Desktop configuration file and approve macOS automation permissions when prompted on the initial run.
It provides tools to search, filter, create, update, complete, and delete both tasks and projects in OmniFocus. It features TTL caching to retrieve matching items quickly while updating or creating tasks with tags, dates, and parent folders.
The server works with any MCP-compliant client operating on macOS, including Claude Desktop and the Model Context Protocol Inspector. System automation permissions must be granted to the client application to allow execution of OmniAutomation scripts.
You need macOS, Node.js 18 or higher, and OmniFocus 3 or later installed locally. Direct access requires operating system permissions under Privacy and Security Automation settings to allow the client to communicate with OmniFocus.
Yes, the OmniFocus MCP server is open-source software distributed under the MIT License on GitHub.