Skip to main content
Glama

OmniFocus app control

app_control
Destructive

Control OmniFocus app-level actions: sync, undo/redo with confirmation, manage sidebar focus, and reveal tasks or projects.

Instructions

Application-level OmniFocus control: start a sync, step the undo/redo stack, read/set/clear the sidebar focus of the front window, or reveal (select) a task or project. Undo and redo are destructive and require confirm: true — the top of the undo stack is often the user's own manual edit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskIdNoreveal only: ID of the task to select.
confirmNoRequired (true) for 'undo' and 'redo'. Without it those operations only REPORT the undo/redo state and change nothing. Only valid with undo/redo.
taskNameNoreveal only: name of the task to select (alternative to taskId).
folderIdsNoset_focus only: folder IDs to focus on.
operationYesWhat to do: 'sync' starts an OmniFocus sync (fire-and-forget). 'undo' / 'redo' step the OmniFocus undo stack — DESTRUCTIVE, requires confirm: true. 'get_focus' reports what the front window is focused on. 'set_focus' focuses the sidebar on specific folders/projects. 'clear_focus' removes any focus. 'reveal' selects a task or project in the front window.
projectIdNoreveal only: ID of the project to select. NOTE: for set_focus use projectIds (plural).
projectIdsNoset_focus only: project IDs to focus on.
folderNamesNoset_focus only: folder names to focus on.
projectNameNoreveal only: name of the project to select. NOTE: for set_focus use projectNames (plural).
projectNamesNoset_focus only: project names to focus on.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaNo
toolYes
successYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the destructiveHint annotation by specifying that confirm:true is required for undo/redo and that without it these operations only report state. It also notes sync is fire-and-forget. This adds valuable behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences that front-load the purpose and immediately highlight the destructive operations. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 10 parameters and 7 operations, the description covers the operations, the confirm requirement, and the plural/singular distinction. Output schema exists, so return values are handled. An agent has everything needed to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaningful semantics: it explains the operation enum values, clarifies the confirm flag's effect, and distinguishes projectId vs projectIds (singular/plural) for reveal vs set_focus. This is more than the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: 'Application-level OmniFocus control' and enumerates the exact operations (sync, undo/redo, focus, reveal). It is specific and distinct from the many task-level sibling tools, so an agent can easily tell this tool is for app-wide control.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context by labeling the tool as 'Application-level' and explaining the destructive nature of undo/redo with the confirm requirement. It doesn't explicitly say 'use this instead of X', but the scope is clearly defined and differentiates from the task-centric siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.