omnifocus-operator
An MCP server that exposes OmniFocus to AI agents via the Model Context Protocol (MCP).
Install / Use
claude mcp add HelloThisIsFlo -- npx -y github:HelloThisIsFlo/omnifocus-operatorIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of omnifocus-operator
omnifocus-operator scores 75/100 on our quality scale, 2592nd of 2,876 Automation skills we index.
Its MCP Server is 7.5 KB long, well organised into 15 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 78/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
omnifocus-operator compared with similar skills
All 4 of these similar skills score higher than omnifocus-operator; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| omnifocus-operator (this skill)by HelloThisIsFlo | 75 | 10 | 4mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 96.7k | 5d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 87.1k | today | MCP Server |
Frequently asked questions
- How do I install omnifocus-operator?
- Run
claude mcp add HelloThisIsFlo -- npx -y github:HelloThisIsFlo/omnifocus-operator. The install tabs above show the steps for each supported agent. - Which AI agents does omnifocus-operator work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is omnifocus-operator safe to use?
- It declares no license and scores 78/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is omnifocus-operator still maintained?
- The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHub🎯 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.
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/images/first-run-dark.png"> <img src="docs/images/first-run-light.png" alt="OmniFocus first-run permission dialog showing OmniFocus Operator's welcome banner with two steps: tick the 'Automatically run' checkbox, then click Run Script" width="600"> </picture>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"] }
<details> <summary><strong>Development install (contributors)</strong></summary>⚠️ 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 sync
See CONTRIBUTING.md for dev workflow details.
</details>✨ 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 |
|------|-------------|
| get_all | Full OmniFocus database as structured data (last-resort debugging) |
| get_task | Single task by ID — urgency, availability, dates, tags, parent, project |
| get_project | Single project by ID — status, review interval, next task |
| get_tag | Single tag by ID — availability, parent hierarchy |
List & Filter
| Tool | Description |
|------|-------------|
| list_tasks | Filter by date, availability, flags, tags, project, parent subtree, search — with pagination, field selection, and presence-flag derivation |
| list_projects | Filter by status, folder, review schedule, flags |
| list_tags | List tags with parent hierarchy |
| list_folders | List folders with parent hierarchy |
| list_perspectives | List custom perspectives |
Write
| Tool | Description |
|------|-------------|
| add_tasks | Create tasks with full field control — parent, tags, dates, flags, notes, repetition rules, parallel/sequential, completes-with-children |
| edit_tasks | 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 null | 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, $inbox, rich refs ✅ |
| 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 bridge.js that frame OmniFocus's permission dialog with two-click instructions; startup log line ✅ |
| v1.4.4 | Batch Limit Increase — add_tasks / edit_tasks accept up to 150 items per call ✅ |
| 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.
Related Skills
Agent-Reach
96.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.4kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
87.1k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
