
OmniFocus Enhanced
Integrates with OmniFocus on macOS through AppleScript to manage tasks, projects, perspectives, and tags. Enables AI assistants to fully control your OmniFocus workflow with hierarchical task views and batch operations.
Integrates with OmniFocus on macOS using AppleScript to provide complete task and project management capabilities including CRUD operations, perspective views, batch operations, subtask hierarchies, tag management, and custom filtering for productivity workflows.
What it does
- Create and edit tasks with due dates, defer dates, and tags
- Access custom perspectives with hierarchical task display
- Perform batch operations on multiple tasks
- Manage project hierarchies and subtasks
- Filter and search tasks with custom criteria
- Move tasks between projects and reorganize structures
Best for
About OmniFocus Enhanced
OmniFocus Enhanced is a community-built MCP server published by jqlts1 that provides AI assistants with tools and capabilities via the Model Context Protocol. Boost productivity on Mac with OmniFocus Enhanced—manage tasks, projects, and workflows in one powerful macOS productivi It is categorized under productivity.
How to install
You can install OmniFocus Enhanced in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
OmniFocus Enhanced is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
🚀 OmniFocus MCP Enhanced
🌟 NEW: Native Custom Perspective Access with Hierarchical Display!
Transform OmniFocus into an AI-powered productivity powerhouse with custom perspective support
Enhanced Model Context Protocol (MCP) server for OmniFocus featuring native custom perspective access, hierarchical task display, AI-optimized tool selection, and comprehensive task management. Perfect integration with Claude AI for intelligent workflows.
🆕 Latest Release
- v1.6.8 - Added stable task move support via
move_taskandedit_item(newProjectId/newProjectName/newParentTaskId/newParentTaskName/moveToInbox) with duplicate-name protection and cycle-prevention checks. - v1.6.6 - Added full Planned Date support (create/edit/read/filter/sort/export), including
plannedDate/newPlannedDateand updated task displays.
✨ Key Features
🌟 NEW: 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
- 🏗️ Complete Subtask Support - Create hierarchical tasks with parent-child relationships
- 🔍 Built-in Perspectives - Access Inbox, Flagged, Forecast, and Tag-based views
- 🚀 Ultimate Task Filter - Advanced filtering beyond OmniFocus native capabilities
- 🎯 Batch Operations - Add/remove multiple tasks efficiently
- 📊 Smart Querying - Find tasks by ID, name, or complex criteria
- 🔄 Full CRUD Operations - Create, read, update, delete tasks and projects
- 📅 Time Management - Due, defer, planned dates, estimates, and scheduling
- 🏷️ Advanced Tagging - Tag-based filtering with exact/partial matching
- 🤖 AI Integration - Seamless Claude AI integration for intelligent workflows
📦 Installation
Quick Install (Recommended)
# One-line installation
claude mcp add omnifocus-enhanced -- npx -y omnifocus-mcp-enhanced
Alternative Installation Methods
# Upgrade to latest
npm install -g omnifocus-mcp-enhanced@latest
# Global installation
npm install -g omnifocus-mcp-enhanced
claude mcp add omnifocus-enhanced -- omnifocus-mcp-enhanced
# Local project installation
git clone https://github.com/jqlts1/omnifocus-mcp-enhanced.git
cd omnifocus-mcp-enhanced
npm install && npm run build
claude mcp add omnifocus-enhanced -- node "/path/to/omnifocus-mcp-enhanced/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:
// Create subtask by parent task name
{
"name": "Analyze competitor keywords",
"parentTaskName": "SEO Strategy",
"note": "Focus on top 10 competitors",
"dueDate": "2025-01-15",
"estimatedMinutes": 120,
"tags": ["SEO", "Research"]
}
// Create subtask by parent task ID
{
"name": "Write content outline",
"parentTaskId": "loK2xEAY4H1",
"flagged": true,
"estimatedMinutes": 60
}
2. 🔍 Perspective Views
Access all major OmniFocus perspectives programmatically:
# Inbox perspective
get_inbox_tasks {"hideCompleted": true}
# Flagged tasks
get_flagged_tasks {"projectFilter": "SEO Project"}
# Forecast (next 7 days)
get_forecast_tasks {"days": 7, "hideCompleted": true}
# Tasks by tag
get_tasks_by_tag {"tagName": "AI", "exactMatch": false}
3. 🚀 Ultimate Task Filter
Create any perspective imaginable with advanced filtering:
# Time management view (30min tasks due this week)
filter_tasks {
"taskStatus": ["Available", "Next"],
"estimateMax": 30,
"dueThisWeek": true
}
# Deep work view (60+ minute tasks with notes)
filter_tasks {
"estimateMin": 60,
"hasNote": true,
"taskStatus": ["Available"]
}
# Planned work view (tasks planned for today)
filter_tasks {
"plannedToday": true,
"sortBy": "plannedDate"
}
# Project overdue tasks
filter_tasks {
"projectFilter": "Website Redesign",
"taskStatus": ["Overdue", "DueSoon"]
}
4. 🌟 NEW: Native Custom Perspective Access
Access your OmniFocus custom perspectives with hierarchical task display:
# 🌟 NEW: List all your custom perspectives
list_custom_perspectives {"format": "detailed"}
# 🌳 NEW: Project tree view (default)
get_custom_perspective_tasks {
"perspectiveName": "今日工作安排", # Your custom perspective name
"displayMode": "project_tree", # project_tree | task_tree | flat
"hideCompleted": true
}
# Global task tree (legacy showHierarchy=true equivalent)
get_custom_perspective_tasks {
"perspectiveName": "Today Review",
"displayMode": "task_tree"
}
# Flat list (legacy groupByProject=false equivalent)
get_custom_perspective_tasks {
"perspectiveName": "Weekly Planning",
"displayMode": "flat"
}
Why This Is Powerful:
- ✅ Native Integration - Uses OmniFocus
Perspective.CustomAPI directly - ✅ Tree Structure - Visual parent-child task relationships with ├─, └─ symbols
- ✅ Project-First Grouping - Project header first, then nested subtasks
- ✅ Readable Metadata - Full notes and
#tagsin tree output - ✅ AI-Friendly - Enhanced descriptions prevent tool selection confusion
- ✅ Professional Output - Clean, readable task hierarchies
5. 🎯 Batch Operations
Efficiently manage multiple tasks:
{
"items": [
{
"type": "task",
"name": "Website Technical SEO",
"projectName": "SEO Project",
"note": "Optimize technical aspects"
},
{
"type": "task",
"name": "Page Speed Optimization",
"parentTaskName": "Website Technical SEO",
"estimatedMinutes": 180,
"flagged": true
},
{
"type": "task",
"name": "Mobile Responsiveness",
"parentTaskName": "Website Technical SEO",
"estimatedMinutes": 90
}
]
}
🛠️ Complete Tool Reference
📊 Database & Task Management
- dump_database - Get OmniFocus database state
- add_omnifocus_task - Create tasks (enhanced with subtask support)
- add_project - Create projects
- remove_item - Delete tasks or projects
- edit_item - Edit tasks or projects (now supports task moves: project/parent/inbox)
- move_task - Move an existing task to project/parent task/inbox
- batch_add_items - Bulk add (enhanced with subtask support)
- batch_remove_items - Bulk remove
- get_task_by_id - Query task information
🔍 Built-in Perspective Tools
- get_inbox_tasks - Inbox perspective
- get_flagged_tasks - Flagged perspective
- get_forecast_tasks - Forecast perspective (due/deferred/planned task data included)
- get_tasks_by_tag - Tag-based filtering
- filter_tasks - Ultimate filtering with unlimited combinations
🌟 Custom Perspective Tools (NEW)
- list_custom_perspectives - 🌟 NEW: List all custom perspectives with details
- get_custom_perspective_tasks - 🌟 NEW: Access custom perspective with hierarchical display
📊 Analytics & Tracking
- get_today_completed_tasks - View today's completed tasks
Batch move feature roadmap (future): docs/roadmap/2026-02-25-batch-move-tasks-plan.md
🚀 Quick Start Examples
Basic Task Creation
# Simple task
add_omnifocus_task {
"name": "Review quarterly goals",
"projectName": "Planning",
"dueDate": "2025-01-31",
"plannedDate": "2025-01-28"
}
Advanced Task Management
# Create parent task
add_omnifocus_task {
"name": "Launch Product Campaign",
"projectName": "Marketing",
"dueDate": "2025-02-15",
"tags": ["Campaign", "Priority"]
}
# Add subtasks
add_omnifocus_task {
"name": "Design landing page",
"parentTaskName": "Launch Product Campaign",
"estimatedMinutes": 240,
"flagged": true
}
Task Move Operations
# Move task to a project
move_task {
"id": "task-id-123",
"targetProjectName": "Planning"
}
# Move task under another task
move_task {
"id": "task-id-123",
"targetParentTaskId": "parent-task-id-456"
}
# Move task back to inbox
move_task {
"id": "task-id-123",
"targetInbox": true
}
Task move safety rules:
- Name lookups fail fast on duplicates and ask you to use IDs.
- Destination must be exactly one type: project OR parent task OR inbox.
- Moving a task into itself/its descendants is blocked to prevent cycles.
You can also move with edit_item and combine move + field updates:
edit_item {
"itemType": "task",
"id": "task-id-123",
"newProjectName": "Planning",
"newName": "Review tmux workflow",
"newFlagged": true
}
Smart Task Discovery
# Find high-priority work
filter_tasks {
"flagged": true,
"taskStatus": ["Available"],
"estimateMax": 120,
"hasEstimate": true
}
# Today's completed work
filter_tasks {
---
*README truncated. [View full README on GitHub](https://github.com/jqlts1/omnifocus-mcp-enhanced).*
Alternatives
Related Skills
Browse all skillsCreate professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
Generate ASCII art diagrams using PlantUML text mode. Use when user asks to create ASCII diagrams, text-based diagrams, terminal-friendly diagrams, or mentions plantuml ascii, text diagram, ascii art diagram. Supports: Converting PlantUML diagrams to ASCII art, Creating sequence diagrams, class diagrams, flowcharts in ASCII format, Generating Unicode-enhanced ASCII art with -utxt flag
Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns
Brainstorm - Requirements Discovery (AI Coding Enhanced)
Enhanced project documentation with AI-powered features and Context7 integration
This enhanced skill should be used when the user asks to create an agent, automate a repetitive workflow, create a custom skill, or needs advanced agent creation capabilities. Activates with phrases like every day, daily I have to, I need to repeat, create agent for, automate workflow, create skill for, need to automate, turn process into agent. Supports single agents, multi-agent suites, transcript processing, template-based creation, and interactive configuration. Claude will use the enhanced protocol to research APIs, define analyses, structure everything, implement functional code, and create complete skills autonomously with optional user guidance.