revise_interaction
Revise your interaction using its current expected version. Visibility and target are immutable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| revision | Yes | ||
| idempotencyKey | Yes |
Revise your interaction using its current expected version. Visibility and target are immutable.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| revision | Yes | ||
| idempotencyKey | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful behavioral constraint ('Visibility and target are immutable') and implies version-based concurrency control. However, it does not explain conflict behavior, the role of idempotencyKey, whether revision replaces or creates a new version, or what happens on failure.
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 exceptionally concise and front-loaded: the action and mechanism are in the first sentence, and the immutability constraint is the second. No words are wasted, though the brevity comes at the cost of parameter and behavior coverage.
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 mutating tool with a nested revision object, three required parameters, no annotations, and no output schema, this description is too thin. It omits essential context about idempotency, version mismatch handling, return behavior, and what data the revision object should carry.
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%, so the description must compensate. It gives some context for expectedVersion ('current expected version') but says nothing about the summary/state fields or the idempotencyKey parameter. With three required parameters and a nested revision object, this is insufficient semantic guidance.
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 names a specific verb ('Revise'), a specific resource ('your interaction'), and adds scope by noting that visibility and target are immutable. This clearly distinguishes it from sibling tools like create_interaction, read_interaction, and revise_attestation.
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 implies this tool is for updating an existing interaction using its current expected version, which suggests a precondition and an optimistic-concurrency workflow. However, it never explicitly says when to choose this over create_interaction/read_interaction or what happens if the expected version does not match.
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.