Skip to main content
Glama
IllyaStarikov

OmniFocus MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_database_summaryA

Get a summary of the OmniFocus database including counts of inbox items, projects, tags, folders, available/due-soon/overdue/flagged tasks

searchB

Search across all OmniFocus items (tasks, projects, folders, tags) by name or note content

dump_databaseA

Dump the entire OmniFocus database including inbox, projects, folders, tags, and perspectives in a single call. Essential for getting full context.

save_databaseA

Explicitly save the OmniFocus database to disk

sync_databaseA

Trigger an OmniFocus sync to push local changes to OmniSync and pull updates from other devices. CALL THIS ONCE at the end of any session that mutated data — especially after batch_create_tasks, batch_complete_tasks, batch_delete_tasks, or any sequence of multiple create/update/delete/move operations. Do NOT call after every individual mutation; sync once at the end of the chain. Returns immediately while sync runs in the background.

list_tasksA

List tasks from OmniFocus with optional filters for status, flags, tags, projects, date ranges, and text search

get_taskA

Get detailed information about a specific task by its ID, optionally including subtask hierarchy

create_taskA

Create a new task in OmniFocus. By default creates in inbox; specify projectId or projectName to add to a project.

update_taskB

Update properties of an existing task

complete_taskB

Mark a task as completed

uncomplete_taskA

Mark a completed task as incomplete (re-open it)

drop_taskA

Mark a task as dropped (cancelled)

delete_taskA

Permanently delete a task from OmniFocus

move_tasksA

Move one or more tasks to a different project or parent task. Omit destination to move to inbox.

duplicate_tasksA

Duplicate one or more tasks, optionally into a different project

set_task_tagsB

Set, add, or remove tags on a task

add_task_notificationC

Add a notification/reminder to a task

get_inbox_tasksA

Get all tasks currently in the OmniFocus inbox (not yet assigned to a project)

get_flagged_tasksC

Get all available flagged tasks

get_today_completed_tasksB

Get all tasks completed today

append_task_noteB

Append text to an existing task's note

batch_create_tasksB

Create multiple tasks at once, with support for subtask hierarchies. Much more efficient than creating tasks one by one.

list_task_notificationsB

List all notifications/reminders on a task

remove_task_notificationB

Remove a specific notification from a task

convert_task_to_projectB

Convert an existing task into a new project, preserving subtasks

batch_delete_tasksA

Delete multiple tasks at once. More efficient than deleting one by one.

batch_complete_tasksB

Complete multiple tasks at once. More efficient than completing one by one.

get_task_countA

Get count of tasks matching filters without fetching full data. Faster than list_tasks when you only need the count.

list_projectsB

List projects from OmniFocus with optional filters for status, folder, and text search

get_projectA

Get detailed information about a specific project by ID or name

create_projectB

Create a new project in OmniFocus

update_projectB

Update properties of an existing project

complete_projectC

Mark a project as completed (done)

drop_projectC

Mark a project as dropped (cancelled)

move_projectB

Move a project to a different folder

delete_projectB

Permanently delete a project from OmniFocus

get_review_queueA

Get projects that are due for review

mark_reviewedB

Mark a project as reviewed, advancing its next review date

get_project_tasksB

Get all tasks belonging to a specific project

list_foldersB

List all folders in OmniFocus

get_folderA

Get detailed information about a folder including its child folders and projects

create_folderB

Create a new folder in OmniFocus

update_folderB

Update a folder's properties

delete_folderB

Permanently delete a folder from OmniFocus

list_tagsA

List all tags in OmniFocus

get_tagB

Get detailed information about a tag including its child tags

create_tagB

Create a new tag in OmniFocus

update_tagB

Update a tag's properties

delete_tagB

Permanently delete a tag from OmniFocus

list_perspectivesA

List custom perspectives in OmniFocus. Built-in perspectives (Inbox, Projects, Tags, Forecast, Flagged, Review, Nearby) are not enumerable via the API — use dedicated tools instead (get_inbox_tasks, get_flagged_tasks, get_review_queue, list_projects, list_tags, or list_tasks with date filters for Forecast).

get_perspective_tasksA

Get tasks shown in a specific custom perspective. Built-in perspectives (Inbox, Forecast, etc.) are not supported — use dedicated tools instead.

Prompts

Interactive templates invoked by user choice

NameDescription
weekly-reviewGuided weekly review of OmniFocus projects and tasks
inbox-processingProcess OmniFocus inbox using GTD methodology
daily-planningPlan today's tasks using OmniFocus data

Resources

Contextual data attached and managed by the client

NameDescription
database-summaryOmniFocus database summary with counts
perspectivesList of all OmniFocus perspectives

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IllyaStarikov/omnifocus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server