OmniFocus Operator
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OmniFocus Operatorshow my flagged tasks due soon"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π― OmniFocus Operator
The last OmniFocus MCP Server you'll ever need.
Production-grade MCP server exposing OmniFocus as structured task infrastructure for AI agents. Agent-first design, SQLite-cached performance, 2,561 tests.
β See the full landing page β features, architecture, benchmarks, and comparison
π Quick Start
Prerequisites: macOS, OmniFocus 4, Python 3.12+
πͺ Not sure where this config goes? The setup wizard on the landing page walks you through it step-by-step β including auto-merging with your existing config.
For Claude Desktop
Paste this into ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"omnifocus-operator": {
"command": "uvx",
"args": ["omnifocus-operator"]
}
}
}uvx downloads, isolates, and runs the server automatically. No install step.
First run: OmniFocus shows a one-time permission dialog. Tick the box, click Run Script. You won't see it again.
For Claude Code, OpenCode, Cursorβ¦
Ask your agent β copy this prompt:
Add this MCP server to my client config. Just edit the config file β don't install anything, don't run any scripts.
"omnifocus-operator": { "command": "uvx", "args": ["omnifocus-operator"] }
β οΈ This doesn't work with Claude Desktop β Desktop has no config-editing tools. Use the manual paste above.
git clone https://github.com/HelloThisIsFlo/omnifocus-operator.git
cd omnifocus-operator
uv syncSee CONTRIBUTING.md for dev workflow details.
Related MCP server: OmniFocus MCP Server
β¨ Features
β‘ 46ms reads β SQLite caching gives 30β60x faster reads than bridge-only servers
π οΈ 11 MCP tools β lookups, filtered lists, task creation & editing
π€ Agent-first design β warnings that teach, errors that educate, guidance in every response
π§ͺ 2,561 tests, 97% coverage β strict mypy, no corners cut
π‘οΈ Graceful degradation β server stays alive no matter what, always recoverable
π Automatic fallback β SQLite β OmniJS bridge when needed
See the full documentation for architecture details, examples, and deep dives.
π οΈ Available Tools
Lookups
Tool | Description |
| Full OmniFocus database as structured data (last-resort debugging) |
| Single task by ID β urgency, availability, dates, tags, parent, project |
| Single project by ID β status, review interval, next task |
| Single tag by ID β availability, parent hierarchy |
List & Filter
Tool | Description |
| Filter by date, availability, flags, tags, project, parent subtree, search β with pagination, field selection, and presence-flag derivation |
| Filter by status, folder, review schedule, flags |
| List tags with parent hierarchy |
| List folders with parent hierarchy |
| List custom perspectives |
Write
Tool | Description |
| Create tasks with full field control β parent, tags, dates, flags, notes, repetition rules, parallel/sequential, completes-with-children |
| Patch semantics β update fields, move tasks, complete/drop, manage tags, repetition rules, and hierarchy properties |
All read tools are idempotent. Write tools reference projects and tags by name or ID.
π Tool Examples
Filter tasks (list_tasks):
{
"query": {
"flagged": true,
"due": "soon",
"availability": "remaining",
"include": ["notes"],
"limit": 10
}
}Create a task (add_tasks):
{
"items": [{
"name": "Review Q3 roadmap",
"parent": "Work Projects",
"tags": ["Planning"],
"dueDate": "2026-03-15T17:00:00",
"flagged": true,
"estimatedMinutes": 30,
"note": "Focus on v1.3-v1.5 milestones"
}]
}Edit with patch semantics (edit_tasks):
{
"items": [{
"id": "oRx3bL_UYq7",
"dueDate": null,
"actions": {
"tags": {"add": ["Urgent"]},
"move": {"ending": "Work Projects"}
}
}]
}Patch semantics cheat sheet:
Input | Meaning |
Field omitted | No change |
Field set to | Clear the value |
Field set to a value | Update |
πΊοΈ Roadmap
Version | Focus |
v1.0 | Foundation β read tools, three-layer arch, test suite β |
v1.1 | Performance β SQLite caching, 30β60x speedup β |
v1.2 | Writes & Lookups β add/edit tasks, get-by-ID β |
v1.2.1 | Architectural Cleanup β contracts, service refactor, golden master tests β |
v1.2.2 | FastMCP v3 Migration β |
v1.2.3 | Repetition Rule Write Support β |
v1.3 | Read Tools β SQL filtering, list/count, 5 new tools β |
v1.3.1 | First-Class References β name resolution, |
v1.3.2 | Date Filtering β 7 dimensions, shortcuts, calendar math β |
v1.3.3 | Task Ordering β dotted notation, outline order β |
v1.4 | Response Shaping & Batch Processing β |
v1.4.1 | Task Properties & Subtree β presence flags, auto-complete, parallel/sequential, parent filter β |
v1.4.2 | UNTIL Format Hotfix β parser accepts RFC 5545 DATE form; builder aligns with OmniFocus UI β |
v1.4.3 | First-Run UX β welcome banners in |
v1.4.4 | Batch Limit Increase β |
v1.5 | Project Writes β add/edit projects, review marking |
v1.6 | UI & Perspectives β perspective switching, deep links |
v1.7 | Smart Perspective Content β perspective-aware response shapes |
v1.8 | Production Hardening β retry, crash recovery, serial execution |
π Links
π Full Documentation β features, architecture, examples
π¦ PyPI β package page
π Issues
π¬ Discussions
π License
Proprietary β all rights reserved. Free to use, not to redistribute. License under review.
π€ Contributing
See CONTRIBUTING.md for guidelines. In short: fork, branch, test, PR.
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server β exposes tasks, projects, messages, and files as tools for AI agents.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
- DazbenchOAuthapp.dazbench
Task management your AI agents can actually run. One line becomes a context-ready task over MCP.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible AI assistants) to interact with your tasks and projects.7214 npm241MIT
- AlicenseAqualityFmaintenanceAn MCP server that provides full read/write access to OmniFocus, enabling AI assistants to manage tasks, projects, folders, tags, and perspectives via 51 tools, resources, and prompts.5111 npm21MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that gives AI assistants full control over OmniFocus on macOS, including tasks, projects, tags, folders, perspectives, forecast, notifications, and review workflows.43MIT
- AlicenseAqualityBmaintenanceAn MCP server that enables AI assistants to interact with OmniFocus on macOS via JXA, supporting task, project, folder, tag, perspective, and search operations.3111 npmMIT