OmniFocus MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_database_summaryA | Get a summary of the OmniFocus database including counts of inbox items, projects, tags, folders, available/due-soon/overdue/flagged tasks |
| searchB | Search across all OmniFocus items (tasks, projects, folders, tags) by name or note content |
| dump_databaseA | Dump the entire OmniFocus database including inbox, projects, folders, tags, and perspectives in a single call. Essential for getting full context. |
| save_databaseA | Explicitly save the OmniFocus database to disk |
| sync_databaseA | Trigger an OmniFocus sync to push local changes to OmniSync and pull updates from other devices. CALL THIS ONCE at the end of any session that mutated data — especially after batch_create_tasks, batch_complete_tasks, batch_delete_tasks, or any sequence of multiple create/update/delete/move operations. Do NOT call after every individual mutation; sync once at the end of the chain. Returns immediately while sync runs in the background. |
| list_tasksA | List tasks from OmniFocus with optional filters for status, flags, tags, projects, date ranges, and text search |
| get_taskA | Get detailed information about a specific task by its ID, optionally including subtask hierarchy |
| create_taskA | Create a new task in OmniFocus. By default creates in inbox; specify projectId or projectName to add to a project. |
| update_taskB | Update properties of an existing task |
| complete_taskB | Mark a task as completed |
| uncomplete_taskA | Mark a completed task as incomplete (re-open it) |
| drop_taskA | Mark a task as dropped (cancelled) |
| delete_taskA | Permanently delete a task from OmniFocus |
| move_tasksA | Move one or more tasks to a different project or parent task. Omit destination to move to inbox. |
| duplicate_tasksA | Duplicate one or more tasks, optionally into a different project |
| set_task_tagsB | Set, add, or remove tags on a task |
| add_task_notificationC | Add a notification/reminder to a task |
| get_inbox_tasksA | Get all tasks currently in the OmniFocus inbox (not yet assigned to a project) |
| get_flagged_tasksC | Get all available flagged tasks |
| get_today_completed_tasksB | Get all tasks completed today |
| append_task_noteB | Append text to an existing task's note |
| batch_create_tasksB | Create multiple tasks at once, with support for subtask hierarchies. Much more efficient than creating tasks one by one. |
| list_task_notificationsB | List all notifications/reminders on a task |
| remove_task_notificationB | Remove a specific notification from a task |
| convert_task_to_projectB | Convert an existing task into a new project, preserving subtasks |
| batch_delete_tasksA | Delete multiple tasks at once. More efficient than deleting one by one. |
| batch_complete_tasksB | Complete multiple tasks at once. More efficient than completing one by one. |
| get_task_countA | Get count of tasks matching filters without fetching full data. Faster than list_tasks when you only need the count. |
| list_projectsB | List projects from OmniFocus with optional filters for status, folder, and text search |
| get_projectA | Get detailed information about a specific project by ID or name |
| create_projectB | Create a new project in OmniFocus |
| update_projectB | Update properties of an existing project |
| complete_projectC | Mark a project as completed (done) |
| drop_projectC | Mark a project as dropped (cancelled) |
| move_projectB | Move a project to a different folder |
| delete_projectB | Permanently delete a project from OmniFocus |
| get_review_queueA | Get projects that are due for review |
| mark_reviewedB | Mark a project as reviewed, advancing its next review date |
| get_project_tasksB | Get all tasks belonging to a specific project |
| list_foldersB | List all folders in OmniFocus |
| get_folderA | Get detailed information about a folder including its child folders and projects |
| create_folderB | Create a new folder in OmniFocus |
| update_folderB | Update a folder's properties |
| delete_folderB | Permanently delete a folder from OmniFocus |
| list_tagsA | List all tags in OmniFocus |
| get_tagB | Get detailed information about a tag including its child tags |
| create_tagB | Create a new tag in OmniFocus |
| update_tagB | Update a tag's properties |
| delete_tagB | Permanently delete a tag from OmniFocus |
| list_perspectivesA | List custom perspectives in OmniFocus. Built-in perspectives (Inbox, Projects, Tags, Forecast, Flagged, Review, Nearby) are not enumerable via the API — use dedicated tools instead (get_inbox_tasks, get_flagged_tasks, get_review_queue, list_projects, list_tags, or list_tasks with date filters for Forecast). |
| get_perspective_tasksA | Get tasks shown in a specific custom perspective. Built-in perspectives (Inbox, Forecast, etc.) are not supported — use dedicated tools instead. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| weekly-review | Guided weekly review of OmniFocus projects and tasks |
| inbox-processing | Process OmniFocus inbox using GTD methodology |
| daily-planning | Plan today's tasks using OmniFocus data |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| database-summary | OmniFocus database summary with counts |
| perspectives | List of all OmniFocus perspectives |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/IllyaStarikov/omnifocus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server