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.
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, 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
Quick Install (Recommended)
Alternative Installation Methods
📋 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
🚀 Quick Start Examples
Basic Task Creation
Advanced Task Management
Smart Task Discovery
Custom Perspective Usage
🤖 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
Troubleshooting
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!