OmniFocus MCP Server

OmniFocus MCP Server

Claude's OmniFocus integration: Let LLMs interface with your tasks through the Model Context Protocol. Add, organize, and query your OmniFocus database with natural language commands.

themotionmachine

Developer Tools
Visit Server

README

OmniFocus MCP Server

A Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible AI assistants) to interact with your tasks and projects.

OmniFocus MCP

🌟 Overview

This MCP server creates a bridge between AI assistants (like Claude) and your OmniFocus task management system. It gives AI models the ability to view, create, edit, and remove tasks and projects in your OmniFocus database through natural language conversations. Some ways you could use it:

  • Translate the PDF of a syllabus into a fully specificed project with tasks, tags, defer dates, and due dates.
  • Turn a meeting transcript into a list of actions
  • Create visualizations of your tasks, projects, and tags

🚀 Quick Start

Prerequisites

  • macOS with OmniFocus installed

Connecting to Claude

  1. In Claude Desktop, add this MCP server to your configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json
  1. Add the following configuration:
{
  "mcpServers": {
    "omnifocus": {
      "command": "npx",
      "args": ["-y", "omnifocus-mcp"]
    }
  }
}
  1. Restart Claude Desktop

🌈 Use Cases

Reorganize your projects, tasks, and tags

"I want every task to have an energy level tag. show me a list of all the tasks that don't have an energy level tag and your suggestions for what tag to add. I'll make any changes I think are appropriate. Then make the changes in OmniFocus."

Add tasks from any conversation

"Ok, thanks for the detailed explanation of why the rule of law is important. Add a recurring task to my activism project that reminds me to call my representative weekly. Include a summary of this conversation in the notes field."

Quick, Virtual Perspectives

Get a summary of your current tasks and manage them conversationally:

"Show me all my flagged tasks due this week that don't mention "fish".

Process Transcripts or PDFs

Extract action items from meeting transcripts, academic research articles, or notes:

"I'm pasting in the transcript from today's product meeting. Please analyze it and create tasks in OmniFocus for any action items assigned to me. Put them in my 'Product Development' project."

🔧 Available Tools

The server currently provides these tools:

dump_database

Gets the current state of your OmniFocus database.

add_omnifocus_task

Add a new task to OmniFocus.

Parameters:

  • name: The name of the task
  • projectName: (Optional) The name of the project to add the task to
  • note: (Optional) Additional notes for the task
  • dueDate: (Optional) The due date of the task in ISO format
  • deferDate: (Optional) The defer date of the task in ISO format
  • flagged: (Optional) Whether the task is flagged or not
  • estimatedMinutes: (Optional) Estimated time to complete the task
  • tags: (Optional) Tags to assign to the task

add_project

Add a new project to OmniFocus.

Parameters:

  • name: The name of the project
  • folderName: (Optional) The name of the folder to add the project to
  • note: (Optional) Additional notes for the project
  • dueDate: (Optional) The due date of the project in ISO format
  • deferDate: (Optional) The defer date of the project in ISO format
  • flagged: (Optional) Whether the project is flagged or not
  • estimatedMinutes: (Optional) Estimated time to complete the project
  • tags: (Optional) Tags to assign to the project
  • sequential: (Optional) Whether tasks in the project should be sequential

remove_item

Remove a task or project from OmniFocus.

Parameters:

  • id: (Optional) The ID of the task or project to remove
  • name: (Optional) The name of the task or project to remove
  • itemType: The type of item to remove ('task' or 'project')

edit_item

Edit a task or project in OmniFocus.

Parameters:

  • id: (Optional) The ID of the task or project to edit
  • name: (Optional) The name of the task or project to edit
  • itemType: The type of item to edit ('task' or 'project')
  • Various parameters for editing properties

🛠 Development

Documentation to follow.

🧠 How It Works

This server uses AppleScript to communicate with OmniFocus, allowing it to interact with the application's native functionality. The server is built using the Model Context Protocol SDK, which provides a standardized way for AI models to interact with external tools and systems.

📜 License

MIT

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python