abort_project_sync
Abort an uncommitted hosted graph synchronization and release its staged data.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| syncId | Yes | ||
| projectId | Yes | ||
| sessionId | No | ||
| executionId | No | ||
| idempotencyKey | Yes |
Abort an uncommitted hosted graph synchronization and release its staged data.
| Name | Required | Description | Default |
|---|---|---|---|
| syncId | Yes | ||
| projectId | Yes | ||
| sessionId | No | ||
| executionId | No | ||
| idempotencyKey | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds the specific detail that it 'releases its staged data', which is useful beyond the generic destructive flag. However, it does not disclose side effects like whether the sync record is deleted, if the operation is reversible, or any state prerequisites. With annotations covering the core safety profile, this is an adequate but not rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It communicates the action and outcome efficiently. It is appropriately concise, though it sacrifices helpful details for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, multi-parameter operation with no output schema and zero parameter documentation, the description is far too sparse. It does not clarify the purpose of optional parameters like sessionId or executionId, nor does it explain the lifecycle position of an 'uncommitted' sync or how this relates to commit and seal. An agent would need to infer too much.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no explanation of any of the 5 parameters (syncId, projectId, sessionId, executionId, idempotencyKey). The agent must rely on parameter names and schema patterns alone, which is insufficient for a destructive operation with optional parameters. The description fails to compensate for the complete lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Abort' on a specific resource 'an uncommitted hosted graph synchronization', and adds the effect 'release its staged data'. This distinguishes it from sibling tools like commit_project_sync or begin_project_sync without needing to inspect schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the target is 'uncommitted' syncs, giving clear context for when to use it. It does not explicitly name alternatives or exclusions, but the 'uncommitted' qualifier implicitly routes the agent away from commit or seal operations. Slight gap in not mentioning any conditions for abort (e.g., must be in progress).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.