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
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_taskA | Read-only. Get one exact OmniFocus task by ID or exact name. |
| get_projectA | Read-only. Get one exact OmniFocus project by canonical ID or exact name. |
| get_completed_sinceB | Read-only. Return directly completed OmniFocus actions and action groups within an inclusive absolute time range. Project root completion events are excluded. |
| get_lean_snapshotA | Read-only. Return a capped all-system current-state OmniFocus snapshot containing active project summaries, factual attention signals, and Inbox task summaries. Waiting, recent completion history, health, risk, priority, and recommendations are not inferred. |
| search_tagsA | Read-only. Search existing OmniFocus Tags with canonical IDs, exact native status, full hierarchy paths, and mutual-exclusion facts. Defaults to Active Tags. Use full paths to distinguish same-name Tags. Results are discovery facts, not write authorization, and this Tool never creates Tags. |
| create_taskA | Create exactly one new OmniFocus task after an explicit user request. destination is required: Inbox, one exact Active Project canonical ID from a fresh get_project read, or one exact existing ordinary Action Group canonical ID from a fresh get_task read. Parent names, paths, leaf Actions, and Project roots are never accepted as Parent destinations. Optional tagIds accepts 1-5 unique canonical IDs of existing Active Tags selected from fresh search_tags results; names and paths are never mutation identifiers, all requested Tags and ancestors are revalidated immediately before creation, and this Tool never creates Tags. Immediately before a Project, Parent, or tagged call, restate the available target context and every full Tag path so the user can associate each canonical ID with the pending mutation; if any target is not distinguishable, do not call. Generate a fresh UUID idempotencyKey per new creation intent and reuse it only for a transparent retry. This server may return write_disabled without touching OmniFocus. Repeats, notifications, batches, edits, moves, reparenting, completion, deletion, fallback to Inbox/Project, silent Tag omission, and automatic Tag creation are unsupported. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clear, distinct purpose: create_task is the only mutation, while read-only tools cover specific retrievals (projects, tasks, tags, completed items) and a broad snapshot. No overlaps exist.
All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., create_task, get_project). The naming is predictable and well-structured.
With 6 tools covering creation and various read operations, the count is well-scoped for an OmniFocus integration. Each tool earns its place and the set feels neither sparse nor bloated.
The tool surface misses critical CRUD operations like update, delete, and complete tasks. The descriptions explicitly unsupport many common actions, leaving significant gaps for a task management server.