home / mcp / omnifocus mcp server

OmniFocus MCP Server

Let LLMs interface with your tasks and projects through the Model Context Protocol. Add, organize, and query your OmniFocus database with natural language commands.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "themotionmachine-omnifocus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "omnifocus-mcp"
      ]
    }
  }
}

This MCP server enables Claude and other MCP-compatible clients to view, create, edit, and remove OmniFocus tasks and projects through natural language interactions, bridging your OmniFocus data with AI assistants for efficient task management.

How to use

You will interact with OmniFocus through high-level commands that map to tasks, projects, and views. Use tools to search for items, add or edit tasks, create projects, remove items, batch operations, and manage perspectives and tags. You can extract actions from transcripts or PDFs, translate documents into OmniFocus structures, and query for summaries or counts by project. Start conversations with natural language prompts, and the MCP server will translate your requests into OmniFocus operations.

How to install

Prerequisites: You are on macOS with OmniFocus installed.

Install Node.js and npm if you do not already have them. You can download the LTS version from the official Node.js site and follow the installer prompts.

Start the MCP server using the provided command. In your terminal, run:

npx -y omnifocus-mcp

Configure your MCP client (Claude)

Add the MCP server configuration to Claude so it can connect and use the OmniFocus tools.

{
  "mcpServers": {
    "omnifocus": {
      "command": "npx",
      "args": ["-y", "omnifocus-mcp"]
    }
  }
}

Available tools

query_omnifocus

Efficiently query your OmniFocus database with filters to retrieve specific tasks, projects, or folders without loading the entire database.

dump_database

Retrieve the complete current state of your OmniFocus database for comprehensive analysis or backup.

add_omnifocus_task

Add a new task to OmniFocus with optional project, notes, dates, flags, tags, and hierarchy.

add_project

Add a new project to OmniFocus with optional folder, notes, dates, flags, tags, and sequencing.

remove_item

Remove a task or project from OmniFocus by ID or name and specify the item type.

edit_item

Edit properties of an existing task or project in OmniFocus.

batch_add_items

Add multiple tasks or projects in a single operation with hierarchical relationships and temporary references.

batch_remove_items

Remove multiple items in a single operation by ID, name, or type.

list_perspectives

List all available OmniFocus perspectives, including built-in and custom perspectives.

get_perspective_view

Retrieve the items visible in a specified OmniFocus perspective, with optional limits and metadata.

list_tags

List all OmniFocus tags with their hierarchy, activity status, and usage counts.