OmniFocus MCP for OpenClaw

v1.0.2

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...

1· 83·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for doannminh/omnifocus-mcp-openclaw.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "OmniFocus MCP for OpenClaw" (doannminh/omnifocus-mcp-openclaw) from ClawHub.
Skill page: https://clawhub.ai/doannminh/omnifocus-mcp-openclaw
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: node, npm, omnifocus-mcp
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install omnifocus-mcp-openclaw

ClawHub CLI

Package manager switcher

npx clawhub@latest install omnifocus-mcp-openclaw
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description claim a macOS OmniFocus integration and the skill only requires node/npm and the omnifocus-mcp binary, plus OmniFocus on macOS. Those requirements are appropriate and expected for this purpose; no unrelated credentials or services are requested.
Instruction Scope
SKILL.md and helper scripts limit actions to installing/verifying omnifocus-mcp, registering an OpenClaw MCP server, and guidance for querying and mutating OmniFocus. The scripts check system state (osascript, OmniFocus.app, paths) and call openclaw to register the MCP server — this is within scope. Note: the integration relies on AppleScript/macOS automation, so using the skill will prompt macOS automation permissions allowing the host process to control OmniFocus; that is expected but privileged.
Install Mechanism
The install spec uses the npm package 'omnifocus-mcp' (npm install -g omnifocus-mcp). Installing a package from the public npm registry is appropriate for this upstream tool but carries the usual supply-chain considerations of any npm package; the install does not download from arbitrary URLs or use extract operations.
Credentials
No environment variables or credentials are requested. The skill only needs local binaries and macOS automation permission to control OmniFocus, which is proportional to its stated functionality.
Persistence & Privilege
always is false and model invocation is allowed (normal). The register script writes an OpenClaw MCP entry (openclaw mcp set omnifocus ...) which is appropriate for registering the local MCP server; it does not modify other skills or request permanent elevated privileges.
Assessment
This skill appears to do what it says: it wraps the upstream omnifocus-mcp server to let OpenClaw read and modify your OmniFocus database. Before installing, confirm you trust the npm package 'omnifocus-mcp' (review its npm/GitHub source), understand that macOS will prompt to allow automation (granting the host process the ability to control OmniFocus), and be comfortable that OpenClaw will register a local MCP server entry. If you prefer, inspect the omnifocus-mcp source and test read-only queries first before allowing write operations.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Clawdis
OSmacOS
Binsnode, npm, omnifocus-mcp

Install

Install OmniFocus MCP (node)
Bins: omnifocus-mcp
npm i -g omnifocus-mcp
latestvk9720px6b0pr731m48ccfxxqjn853dndmcpvk9720px6b0pr731m48ccfxxqjn853dndomnifocusvk9720px6b0pr731m48ccfxxqjn853dndopenclawvk9720px6b0pr731m48ccfxxqjn853dndproductivityvk9720px6b0pr731m48ccfxxqjn853dnd
83downloads
1stars
3versions
Updated 1w ago
v1.0.2
MIT-0
macOS

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:

  • this skill uses the upstream OmniFocus MCP server behind the scenes, but the main goal is helping users review, organize, and update their OmniFocus system faster

Typical things this skill can help with:

  • review what is due today or this week
  • find flagged tasks, inbox items, or next actions
  • create tasks and projects from notes, transcripts, or plans
  • reorganize tags, folders, projects, and task metadata
  • inspect available perspectives and read what they contain

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-MCP
  • GitHub: https://github.com/themotionmachine/OmniFocus-MCP
  • npm: https://www.npmjs.com/package/omnifocus-mcp

This skill package does not reimplement the MCP server. It documents installation, registration, and OpenClaw-specific usage around the original package.

Refactor credit:

  • original MCP server and tool implementation: themotionmachine
  • OpenClaw skill adaptation and packaging assistance: OpenAI
  • final packaged release, testing, and publishing: the skill publisher

This skill assumes:

  • OpenClaw is being used on macOS.
  • OmniFocus Pro for Mac is installed locally.
  • OmniFocus 3 or later is the safest minimum assumption for this skill.
  • The omnifocus-mcp package is installed globally with npm install -g omnifocus-mcp.
  • The OpenClaw MCP registry includes an omnifocus server using the omnifocus-mcp executable.

Important compatibility note:

  • OmniGroup documents AppleScript support as a Pro feature.
  • The upstream MCP server depends on AppleScript.
  • The upstream roadmap mentions future support for the 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:

  • tasks due today, overdue, due this week, or deferred until a date
  • next actions, available tasks, blocked tasks, or flagged work
  • counts by project or folder
  • tasks in a named project or inbox
  • project or folder discovery without loading everything

When using query_omnifocus:

  • request only the fields you need
  • set limit for potentially large result sets
  • use summary: true for counts or quick status checks
  • sort by dueDate or modificationDate when ordering matters

See {baseDir}/references/query_omnifocus.md for concrete filter guidance.

Mutation Rules

When creating or editing items:

  • preserve the user's stated project, folder, tag, defer date, due date, and flag intent
  • prefer exact IDs when available; otherwise fall back to names
  • use ISO dates for dueDate, deferDate, and plannedDate
  • preserve notes instead of overwriting them casually unless the user asked for replacement
  • use batch_add_items when the request naturally contains multiple sibling tasks or parent/child structure

For destructive actions:

  • remove_item and batch_remove_items should be used only when the user clearly asked to delete or remove the items
  • if the target is ambiguous by name, resolve the ambiguity before removing anything

Common Patterns

Daily review

  • Fetch urgent work with query_omnifocus on tasks
  • filter for status, flagged, dueWithin, or dueOn
  • return a concise agenda, then offer follow-up edits only if requested

Inbox processing

  • use query_omnifocus with inbox-focused filters first
  • group similar tasks
  • if the user wants changes, apply them with edit_item or batch_add_items

Project build-out from notes or transcripts

  • extract deliverables and action items
  • create a project with add_project if needed
  • create structured tasks with batch_add_items
  • use tempId and parentTempId for hierarchy when subtasks are obvious

Tag cleanup

  • call list_tags first if tag names may be uncertain
  • identify missing or inconsistent tags with query_omnifocus
  • propose the cleanup before mass edits

Perspective Workflows

Use:

  • list_perspectives to enumerate built-in and custom perspectives
  • get_perspective_view to inspect a named perspective

Important limitation:

  • the server can read a named perspective view, but due to OmniJS limitations it cannot programmatically switch perspectives in the GUI

When To Use dump_database

Use dump_database only when one of these is true:

  • the user asks for a full OmniFocus inventory
  • the user wants cross-cutting analysis that is awkward with targeted queries
  • you need a broad export-style snapshot

Avoid it for simple reads because it is slower and heavier than query_omnifocus.

Response Style

When reporting results:

  • lead with the answer, not the raw tool call
  • keep large task lists grouped and easy to scan
  • mention important assumptions, especially around date interpretation
  • for write operations, state exactly what was added, edited, or removed

References

  • Query filter details: {baseDir}/references/query_omnifocus.md
  • OpenClaw MCP registration helper: {baseDir}/scripts/register_mcp.sh
  • Local setup check: {baseDir}/scripts/check_setup.sh

Comments

Loading comments...