OmniFocus MCP
Let LLMs interface with your tasks and projects through the Model Context Protocol. Add, organize, and query your OmniFocus database with natural language comma…
- Transport
- Not stated
- Package
- —
- Registry id
- —
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
A Model Context Protocol (MCP) server that connects OmniFocus to Claude and other MCP-compatible AI assistants.

Overview
This server bridges AI assistants and your OmniFocus database. Through natural conversation, an assistant can query, create, edit, and remove tasks and projects — including bulk operations. Some things you can do with it:
- Translate a syllabus PDF into a fully specified project with tasks, tags, defer dates, and due dates
- Turn a meeting transcript into a list of actions
- Audit and reorganize your tags, projects, and folders conversationally
- Create visualizations of your tasks, projects, and tags
- Process dozens of items in a single batch operation
Quick Start
Prerequisites
- macOS with OmniFocus installed
- Node.js 20 or later (for
npx)
The first time the server talks to OmniFocus, macOS will ask you to allow automation access. Grant it once and you're set.
Claude Desktop
Add the server to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"omnifocus": {
"command": "npx",
"args": ["-y", "omnifocus-mcp"]
}
}
}
Then restart Claude Desktop.
Claude Code
claude mcp add omnifocus -- npx -y omnifocus-mcp
Other MCP clients work the same way: launch npx -y omnifocus-mcp over stdio.
Example Conversations
Targeted queries:
"Show me all my flagged tasks due this week"
"What are my next actions in the Work folder?"
"Count how many tasks are in each project"
Reorganizing:
"I want every task to have an energy level tag. Show me a list of all the tasks that don't have one and your suggestions for what tag to add. I'll make any changes I think are appropriate. Then make the changes in OmniFocus."
Capturing from anywhere:
"Ok, thanks for the detailed explanation of why the rule of law is important. Add a recurring task to my activism project that reminds me to call my representative weekly. Include a summary of this conversation in the notes field."
Working with perspectives:
"What perspectives do I have available?"
"Show me what's in my Inbox perspective"
Processing transcripts or PDFs:
"I'm pasting in the transcript from today's meeting. Please analyze it and create tasks in OmniFocus for any action items assigned to me. Put them in my 'Product Development' project."
Tools
The server provides 12 tools. Optional parameters are marked.
query_omnifocus
Query tasks, projects, or folders with targeted filters — much faster and lighter than dumping the whole database. See QUERY_TOOL_REFERENCE.md for the full reference and QUERY_TOOL_EXAMPLES.md for worked examples.
| Parameter | Description |
|---|---|
entity |
What to query: tasks, projects, or folders |
filters (optional) |
Combine with AND logic; array filters (tags, status) use OR within the array |
fields (optional) |
Only return the listed fields — keeps responses small |
limit, sortBy, sortOrder (optional) |
Shape the result list |
includeCompleted (optional) |
Include completed/dropped items (default: false) |
summary (optional) |
Return only the match count |
Available filters:
From the project's README.