someposer/mcp-omnifocus
If you are the rightful owner of mcp-omnifocus and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for controlling OmniFocus from VS Code, the command line, or any MCP-compatible client.
list_perspectives
List all perspectives
list_projects
List all projects
list_tags
List all tags
list_tasks
List all tasks (with full hierarchy)
list_inbox
List all tasks in the Inbox
create_task
Create a new task
update_task
Update a task (name, project, tags, note, defer/due date, flagged)
complete_task
Mark a task as complete
drop_task
Drop a task
activate_task
Reactivate a dropped or completed task
process_inbox
A reusable prompt for processing your GTD inbox
mcp-omnifocus
A Model Context Protocol (MCP) server for controlling OmniFocus from VS Code, the command line, or any MCP-compatible client. This tool enables automation and management of your OmniFocus tasks, projects, and tags using natural language and programmable interfaces.
Features
- List all tasks, projects, tags, and perspectives in OmniFocus
- Create, update, complete, drop, and activate tasks
- Assign tasks to projects and tags
- Process and organize your GTD inbox
- Integrate with VS Code and other MCP clients
Requirements
Installation
Clone the repository and install dependencies using uv
:
git clone https://github.com/YOUR_USERNAME/mcp-omnifocus.git
cd mcp-omnifocus
uv venv
uv pip install -e .
Usage
Add the following to your mcp configuration:
{
"servers": {
"mcp-omnifocus": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/somposer/mcp-omnifocus",
"mcp-omnifocus",
]
}
}
}
Capabilities
The MCP OmniFocus server exposes the following tools, prompts, and resources:
list_perspectives
: List all perspectiveslist_projects
: List all projectslist_tags
: List all tagslist_tasks
: List all tasks (with full hierarchy)list_inbox
: List all tasks in the Inboxcreate_task
: Create a new taskupdate_task
: Update a task (name, project, tags, note, defer/due date, flagged)complete_task
: Mark a task as completedrop_task
: Drop a taskactivate_task
: Reactivate a dropped or completed taskprocess_inbox
: A reusable prompt for processing your GTD inbox
Development
For development change your mcp.json to the following:
{
"servers": {
"mcp-omnifocus": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--project",
"${workspaceFolder}/",
"python",
"-m",
"mcp_omnifocus",
],
"dev": {
"watch": "src/**/*.py",
"debug": {
"type": "python"
}
}
}
}
}
License
MIT