Let LLMs interface with your tasks and projects through the Model Context Protocol. Add, organize, and query your OmniFocus database with natural language commands.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"omnifocus": {
"args": [
"-y",
"omnifocus-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible clients) to interact with your tasks and projects.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
inboxCurrent inbox items (tasks not assigned to any project)
omnifocus://inbox
todayToday's agenda — tasks due today, planned for today, and overdue
omnifocus://today
flaggedAll flagged items
omnifocus://flagged
statsQuick database statistics (task counts, project counts, overdue, etc.)
omnifocus://stats
projectTasks in a specific project (supports autocomplete)
omnifocus://project/{name}
perspectiveItems visible in a named perspective (supports autocomplete)
omnifocus://perspective/{name}
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Official Notion MCP Server
MCP Security Weekly
Get CVE alerts and security updates for OmniFocus MCP and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server that connects OmniFocus to Claude and other MCP-compatible AI assistants.

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:
npx)The first time the server talks to OmniFocus, macOS will ask you to allow automation access. Grant it once and you're set.
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 mcp add omnifocus -- npx -y omnifocus-mcp
Other MCP clients work the same way: launch npx -y omnifocus-mcp over stdio.
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."
The server provides 12 tools. Optional parameters are marked.
query_omnifocusQuery 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:
projectName (case-insensitive partial match; "inbox" targets the inbox), projectId, folderId (includes subfolders)taskName (case-insensitive partial match)tags (exact match, case-sensitive)status — tasks: Next, Available, Blocked, DueSoon,