- Home
- MCP servers
- OmniFocus
OmniFocus
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"someposer-mcp-omnifocus": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/somposer/mcp-omnifocus",
"mcp-omnifocus"
]
}
}
}You can control OmniFocus from any MCP-compatible client, including VS Code or the command line, by running an MCP server that exposes a set of tasks, projects, and GTD inbox management tools. This server lets you list, create, update, complete, drop, and activate tasks, and it supports organizing work with projects and tags through simple commands or programmable prompts.
How to use
Connect your MCP client to the OmniFocus MCP server and start issuing commands to view your tasks, create new ones, or reorganize your GTD setup. You can list perspectives, projects, tags, and tasks; operate on individual tasks (create, update, complete, drop, activate); assign items to projects and tags; and process your Inbox with the dedicated prompt. Use natural language prompts or structured prompts to perform batch updates, inspections, or cleanups, all from your preferred MCP client.
Common usage patterns include: listing all entities to understand your current OmniFocus state, creating new tasks with targeted project and tag associations, updating task details (name, project, tags, notes, defer/due dates, flagged status), marking tasks as complete, dropping tasks you no longer need, or reactivating previously dropped or completed items. You can also run a reusable prompt to process your GTD inbox and organize incoming items automatically.
How to install
Prerequisites you need to meet before installation:
-
macOS with OmniFocus installed
-
Python 3.12+
-
uv for fast Python package management
Install and run the server locally
# Clone the MCP server repository
git clone https://github.com/YOUR_USERNAME/mcp-omnifocus.git
cd mcp-omnifocus
# Set up a Python virtual environment and install the package
uv venv
uv pip install -e .
Configure the MCP client to connect
Add the MCP server configuration to your client so it can communicate with the OmniFocus server. You will typically register a local stdio server that runs via the MCP runtime.
{
"servers": {
"mcp_omnifocus": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/somposer/mcp-omnifocus",
"mcp-omnifocus"
]
}
}
}
Available tools
list_perspectives
List all OmniFocus perspectives to understand available views.
list_projects
List all OmniFocus projects to see your structure.
list_tags
List all tags used in OmniFocus for tagging tasks.
list_tasks
List all tasks with full hierarchy to understand task relationships.
list_inbox
List all tasks currently in the Inbox.
create_task
Create a new OmniFocus task with specified attributes.
update_task
Update a task's attributes such as name, project, tags, notes, defer/due dates, or flags.
complete_task
Mark a task as complete.
drop_task
Drop a task from active focus.
activate_task
Reactivate a task that was dropped or completed.
process_inbox
Process and organize your GTD inbox using a reusable prompt.