Provides comprehensive task and project management for OmniFocus on macOS, including creating hierarchical tasks, managing folders and projects, accessing built-in and custom perspectives, handling repeating tasks, setting planned dates, managing project reviews, batch operations, and advanced filtering with tag support.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OmniFocus MCP Servershow me all tasks planned for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
of-mcp
An MCP server for OmniFocus. Originally forked from jqlts1/omnifocus-mcp-enhanced, now maintained independently with additional features.
Transform OmniFocus into an AI-powered productivity powerhouse
Enhanced Model Context Protocol (MCP) server for OmniFocus featuring project review workflow, planned date support, repeating task support, native custom perspective access, hierarchical task display, AI-optimized tool selection, and comprehensive task management. Perfect integration with Claude AI for intelligent workflows.
β¨ Key Features
π Project Review Workflow
π Find Due Reviews - Get projects that need review with
get_projects_for_reviewβ Mark Reviewed - Mark projects as reviewed individually or in batch
β° Set Intervals - Configure review intervals in days
π Track Progress - View next review date, last reviewed, and interval for each project
π Planned Date Support
π Schedule Work - Set when you intend to work on a task (separate from due date)
π Filter by Planned - Find tasks planned for today, this week, or date ranges
π Sort by Planned - Order tasks by their planned date
π Full CRUD - Create, read, update, and clear planned dates
π Repeating Tasks
π Flexible Frequencies - Daily, weekly, monthly, or yearly repetition
π― Custom Intervals - Repeat every N days/weeks/months
π Specific Days - Weekly tasks on specific days (e.g., Mon/Wed/Fri)
π Weekday-of-Month - First Monday, last Friday, third Wednesday patterns
π Repeat From - Choose to repeat from due date or completion date
π Native Custom Perspective Access
π― Direct Integration - Native access to your OmniFocus custom perspectives via
Perspective.CustomAPIπ³ Hierarchical Display - Tree-style task visualization with parent-child relationships
π§ AI-Optimized - Enhanced tool descriptions prevent AI confusion between perspectives and tags
β‘ Zero Setup - Works with your existing custom perspectives instantly
ποΈ Complete Task Management
ποΈ Subtask Support - Create hierarchical tasks with parent-child relationships
π Folder Management - Create and nest folders for project organization
π Built-in Perspectives - Access Inbox, Flagged, Forecast, and Tag-based views
π Ultimate Task Filter - Advanced filtering beyond OmniFocus native capabilities
π― Batch Operations - Add/edit/remove multiple items with true batching (9-12x faster)
π Smart Querying - Find tasks, projects, or folders by ID or name
π Consistent ID Support - All tools accept both IDs and names (IDs take priority for reliability)
π Full CRUD Operations - Create, read, update, delete tasks, projects, and folders
π Time Management - Due dates, defer dates, planned dates, creation dates (displayed in all task outputs), estimates, and scheduling
π·οΈ Advanced Tagging - Multi-tag filtering with any/all matching, exact/partial search, and auto-creation of missing tags
π€ AI Integration - Seamless Claude AI integration for intelligent workflows
π¦ Installation
Clone the repository:
git clone https://github.com/mojenmojen/of-mcp.git cd of-mcp npm install && npm run buildAlternative build (if
npm run buildhangs or runs out of memory):npm run build:fastThis uses esbuild (~14ms) instead of tsc. See Troubleshooting for details.
Add to Claude Code:
claude mcp add omnifocus -- node "/path/to/of-mcp/dist/server.js"
π Requirements
macOS 10.15+ - OmniFocus is macOS-only
OmniFocus 3+ - The application must be installed and running
OmniFocus Pro - Required for custom perspectives (new features in v1.6.0)
Node.js 18+ - For running the MCP server
Claude Code - For MCP integration
π― Core Capabilities
1. ποΈ Subtask Management
Create complex task hierarchies with ease:
2. π Folder Management
Organize projects with nested folders:
3. π Perspective Views
Access all major OmniFocus perspectives:
4. π Ultimate Task Filter
Create any perspective imaginable with advanced filtering:
5. π Repeating Tasks
Create and manage recurring tasks with flexible repetition rules:
6. π Native Custom Perspective Access
Access your OmniFocus custom perspectives with hierarchical task display:
Why This Is Powerful:
β Native Integration - Uses OmniFocus
Perspective.CustomAPI directlyβ Tree Structure - Visual parent-child task relationships with ββ, ββ symbols
β Task IDs Included - Build
omnifocus:///task/{id}deep links directly from outputβ AI-Friendly - Enhanced descriptions prevent tool selection confusion
β Professional Output - Clean, readable task hierarchies
7. π Batch Filter Tasks
Filter tasks across multiple projects in a single call (much faster than multiple filter_tasks calls):
Benefits:
Single API call instead of N calls for N projects
Results grouped by project with task counts
Supports all common filters (status, flagged, due dates)
Returns project IDs for follow-up operations
8. π― Batch Write Operations
Efficiently manage multiple tasks with true batching (9-12x faster than individual calls):
9. π Project Review Workflow
Automate your weekly review process:
Review Workflow Benefits:
Automate finding projects that need attention
Mark multiple projects reviewed in one operation
Track when each project was last reviewed
Set custom review intervals per project
π οΈ Complete Tool Reference
π Database & Task Management
add_omnifocus_task - Create tasks (enhanced with subtask support)
add_project - Create projects
add_folder - Create folders (with nesting support)
remove_item - Delete tasks or projects
edit_item - Edit tasks or projects
batch_add_items - Bulk add tasks/projects (true batching - 9x faster)
batch_edit_items - Bulk edit tasks/projects (true batching - 12x faster)
batch_remove_items - Bulk remove (true batching - 9x faster)
get_task_by_id - Query task information
list_projects - List projects with folder/status filtering
π Built-in Perspective Tools
get_inbox_tasks - Inbox perspective
get_flagged_tasks - Flagged perspective
get_forecast_tasks - Forecast perspective (due/deferred tasks)
get_tasks_by_tag - Tag-based filtering (single or multiple tags with any/all matching)
list_tags - List all tags with task counts and hierarchy
filter_tasks - Ultimate filtering with unlimited combinations
batch_filter_tasks - Filter multiple projects in one call (faster than multiple filter_tasks)
π Custom Perspective Tools
list_custom_perspectives - List all custom perspectives with details
get_custom_perspective_tasks - Access custom perspective with hierarchical display
π Analytics & Tracking
get_today_completed_tasks - View today's completed tasks
π Project Review Tools
get_projects_for_review - Get projects due for review
batch_mark_reviewed - Mark multiple projects as reviewed
π§ Utility Tools
get_server_version - Get server version and build information
get_project_by_id - Query project information by ID or name (includes review data)
get_folder_by_id - Query folder information by ID or name
diagnose_connection - Check OmniFocus connectivity and permissions
π New Tools (v1.23.0)
search_tasks - Full-text search across task names and notes (simpler than filter_tasks)
duplicate_project - Create a copy of a project including all tasks (great for templates)
edit_tag - Edit tag properties: rename, change status, move to parent, or set allowsNextAction
π New Tools (v1.27.0) - AI Assistant Optimizations
get_system_health - Get all health metrics in ONE call (inbox, projects, tasks, tags, flagged, untagged)
get_completion_stats - Get completion counts grouped by project/tag/folder for a date range
π Quick Start Examples
Basic Task Creation
Advanced Task Management
Smart Task Discovery
Custom Perspective Usage
π Search Tasks (New in v1.23.0)
π Duplicate Project (New in v1.23.0)
π·οΈ Edit Tag (New in v1.23.0)
π€ AI Assistant Efficiency Guide
Use batch_filter_tasks for Multi-Project Queries
Instead of making separate filter_tasks calls for each project:
Use a single batch call:
Use IDs for Reliability
All tools support both name and ID parameters. IDs are more reliable because they don't change when items are renamed.
Tool | ID Parameter | Alternative To |
|
|
|
|
|
|
|
| name equivalents |
|
| name equivalents |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rule: When both ID and name are provided, ID takes priority.
Batch Operations for Writes
Use batch tools for multiple write operations:
batch_add_items- Add multiple tasks/projects (9x faster)batch_edit_items- Edit multiple items (12x faster)batch_remove_items- Remove multiple items (9x faster)
π§ Configuration
Verify Installation
Analytics & Health Checks (v1.27.0)
Troubleshooting
Build issues:
If
npm run buildhangs or crashes with OOM, usenpm run build:fastinsteadThe
build:fastscript uses esbuild which skips type checking but produces identical outputThis can happen due to complex type inference in the MCP SDK and Zod dependencies
For type checking, run
npx tsc --noEmitseparately or rely on your IDE
Runtime issues:
Ensure OmniFocus 3+ is installed and running
Verify Node.js 18+ is installed
Check Claude Code MCP configuration
Enable accessibility permissions for terminal apps if needed
Use
get_server_versionto verify the correct version is loaded after updates
π― Use Cases
Project Management - Create detailed project hierarchies with subtasks
GTD Workflow - Leverage perspectives for Getting Things Done methodology
Time Blocking - Filter by estimated time for schedule planning
Weekly Reviews - Automate project reviews with
get_projects_for_reviewandbatch_mark_reviewedTeam Coordination - Batch operations for team task assignment
AI-Powered Planning - Let Claude analyze and organize your tasks
π Performance
True Batch Operations - All batch tools execute in a single OmniFocus script call
batch_add_items: ~138ms per item (9x faster than individual calls)batch_edit_items: ~76ms per item (12x faster than individual calls)batch_remove_items: ~65ms per item (9x faster than individual calls)
Fast ID Lookups - Direct
Task.byIdentifier()/Project.byIdentifier()API callsLazy Loading - OmniFocus collections only loaded when needed
Fast Filtering - Native AppleScript/OmniJS performance
Memory Optimized - Minimal resource usage
Scalable - Handles large task databases efficiently
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
Release Checklist
When releasing a new version:
Bump version in
package.jsonUpdate this README with any new features or tools
Commit and push changes
π License
MIT License - see LICENSE file for details.
π Links
This Fork: https://github.com/mojenmojen/of-mcp
Original Project: https://github.com/jqlts1/omnifocus-mcp-enhanced
OmniFocus: https://www.omnigroup.com/omnifocus/
Model Context Protocol: https://modelcontextprotocol.io/
Claude Code: https://docs.anthropic.com/en/docs/claude-code
π Acknowledgments
Based on the original OmniFocus MCP server by themotionmachine. Enhanced with perspective views, advanced filtering, and complete subtask support.
β Star this repo if it helps boost your productivity!