OmniFocus MCP for OpenClaw
by @doannminh
Review what is due, capture new tasks, build projects from notes, and organize OmniFocus from natural language in OpenClaw on macOS. Use this when the user w...
clawhub install omnifocus-mcp-openclawπ About This Skill
name: omnifocus-mcp description: Review what is due, capture new tasks, build projects from notes, and organize OmniFocus from natural language in OpenClaw on macOS. Use this when the user wants to read or update OmniFocus tasks, projects, folders, tags, or perspectives; the upstream OmniFocus-MCP project by themotionmachine provides the connection layer. metadata: {"openclaw":{"emoji":"β ","homepage":"https://github.com/themotionmachine/OmniFocus-MCP","os":["darwin"],"requires":{"bins":["node","npm","omnifocus-mcp"]},"install":[{"id":"node","kind":"node","package":"omnifocus-mcp","bins":["omnifocus-mcp"],"label":"Install OmniFocus MCP (node)"}]}} homepage: https://github.com/themotionmachine/OmniFocus-MCP user-invocable: true
Manage OmniFocus
Use this skill to connect OpenClaw to OmniFocus and work with your tasks, projects, folders, tags, and perspectives in natural language.
Technical note:
Typical things this skill can help with:
Quick examples:
Use $omnifocus-mcp to show me tasks due today.Use $omnifocus-mcp to list my flagged tasks for this week.Use $omnifocus-mcp to show my Inbox items and suggest how to organize them.Use $omnifocus-mcp to create a project called Product Launch with tasks for copy, design, and QA.Use $omnifocus-mcp to show the next actions in my Work folder.Attribution
This skill is an OpenClaw-focused wrapper around the upstream OmniFocus MCP server created by themotionmachine.
Upstream project:
OmniFocus-MCPhttps://github.com/themotionmachine/OmniFocus-MCPhttps://www.npmjs.com/package/omnifocus-mcpThis skill package does not reimplement the MCP server. It documents installation, registration, and OpenClaw-specific usage around the original package.
Refactor credit:
themotionmachineOpenAIThis skill assumes:
omnifocus-mcp package is installed globally with npm install -g omnifocus-mcp.omnifocus server using the omnifocus-mcp executable.Important compatibility note:
planned date added in OmniFocus 4.7, which implies OmniFocus 4.7 is not required for the current feature set.If the package is missing, OpenClaw can install it from the skill metadata using the configured node manager.
Use {baseDir} when referencing bundled files.
Quick Start
If the MCP server is not configured yet, register it first:
{baseDir}/scripts/register_mcp.sh
To verify the local environment before using the skill:
{baseDir}/scripts/check_setup.sh
The intended OpenClaw MCP definition is:
{
"command": "omnifocus-mcp",
"args": []
}
If you want to inspect the registered server after setup:
openclaw mcp show omnifocus --json
Core Workflow
1. Confirm the request is really about OmniFocus, not generic planning advice. 2. Prefer targeted reads before broad dumps. 3. Use the smallest tool that answers the question. 4. Reflect back ambiguous destructive operations before applying them. 5. After write operations, summarize what changed in plain language.
Tool Selection
Prefer these tools in this order:
query_omnifocus for targeted reads, counts, filtered searches, and lightweight summaries.list_tags when you need to discover valid tags before suggesting or applying them.list_perspectives and get_perspective_view for perspective-driven workflows.dump_database only when the user explicitly needs a broad inventory, deep analysis across the whole database, or the targeted query surface cannot answer the request.add_omnifocus_task, add_project, edit_item, remove_item for single-item mutations.batch_add_items and batch_remove_items for transcript ingestion, bulk cleanup, or hierarchical task creation.If the MCP tools are unavailable in the current session, check setup first instead of improvising a replacement workflow.
Query Strategy
Default to query_omnifocus.
Use it for:
When using query_omnifocus:
limit for potentially large result setssummary: true for counts or quick status checksdueDate or modificationDate when ordering mattersSee {baseDir}/references/query_omnifocus.md for concrete filter guidance.
Mutation Rules
When creating or editing items:
dueDate, deferDate, and plannedDatebatch_add_items when the request naturally contains multiple sibling tasks or parent/child structureFor destructive actions:
remove_item and batch_remove_items should be used only when the user clearly asked to delete or remove the itemsCommon Patterns
Daily review
query_omnifocus on tasksstatus, flagged, dueWithin, or dueOnInbox processing
query_omnifocus with inbox-focused filters firstedit_item or batch_add_itemsProject build-out from notes or transcripts
add_project if neededbatch_add_itemstempId and parentTempId for hierarchy when subtasks are obviousTag cleanup
list_tags first if tag names may be uncertainquery_omnifocusPerspective Workflows
Use:
list_perspectives to enumerate built-in and custom perspectivesget_perspective_view to inspect a named perspectiveImportant limitation:
When To Use dump_database
Use dump_database only when one of these is true:
Avoid it for simple reads because it is slower and heavier than query_omnifocus.
Response Style
When reporting results:
References
{baseDir}/references/query_omnifocus.md{baseDir}/scripts/register_mcp.sh{baseDir}/scripts/check_setup.shπ‘ Examples
If the MCP server is not configured yet, register it first:
{baseDir}/scripts/register_mcp.sh
To verify the local environment before using the skill:
{baseDir}/scripts/check_setup.sh
The intended OpenClaw MCP definition is:
{
"command": "omnifocus-mcp",
"args": []
}
If you want to inspect the registered server after setup:
openclaw mcp show omnifocus --json