Critical Risk →

sync_database

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 operat...

Bulk/mass operation — affects multiple targets

Part of the Omnifocus MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

omnifocus-mcp-server Destructive

AI agents may call sync_database to permanently remove or destroy resources in Omnifocus. Without a policy, an autonomous agent could delete critical data in a loop with no way to undo the damage. Intercept blocks destructive tools by default and requires explicit human approval before enabling them.

Without a policy, an AI agent could call sync_database in a loop, permanently destroying resources in Omnifocus. There is no undo for destructive operations. Intercept blocks this tool by default and only allows it when a human explicitly approves the action.

Destructive tools permanently remove data. Block by default. Only enable with explicit approval workflows.

omnifocus.yaml
tools:
  sync_database:
    rules:
      - action: deny
        reason: "Blocked by default — enable with approval"

See the full Omnifocus policy for all 51 tools.

Tool Name sync_database
Category Destructive
Risk Level Critical

View all 51 tools →

Agents calling destructive-class tools like sync_database have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Destructive risk category across the catalogue. The same policy patterns (deny, require_approval) apply to each.

sync_database is one of the critical-risk operations in Omnifocus. For the full severity-focused view — only the critical-risk tools with their recommended policies — see the breakdown for this server, or browse all critical-risk tools across every MCP server.

What does the sync_database tool do? +

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.. It is categorised as a Destructive tool in the Omnifocus MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on sync_database? +

Add a rule in your Intercept YAML policy under the tools section for sync_database. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Omnifocus MCP server.

What risk level is sync_database? +

sync_database is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit sync_database? +

Yes. Add a rate_limit block to the sync_database rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block sync_database completely? +

Set action: deny in the Intercept policy for sync_database. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides sync_database? +

sync_database is provided by the Omnifocus MCP server (omnifocus-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.