Skip to main content
Glama

Autopilot: record a proposal as approved and made

autopilot_proposal_done
DestructiveIdempotent

Records that the agency approved a proposal and the change was made: call it right after the tool call from autopilot_proposal_get succeeded. It checks that call went through (the same tool, the same ids, in the last 2 hours), so a proposal is never marked done without the change. Makes no change itself.

Input Schema

NameRequiredDescriptionDefault
proposal_idYesFrom autopilot_proposal_get

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Goes beyond the annotations with a real validation rule: it 'checks that call went through (the same tool, the same ids, in the last 2 hours)', which tells the agent a stale or mismatched proposal_id will be rejected. The claim 'makes no change itself' sits in slight tension with destructiveHint=true, since it omits that marking a proposal done is itself a non-reversible record change — worth stating explicitly.

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

Conciseness4/5

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

Front-loaded with the action and followed immediately by the trigger condition, with zero filler. The middle sentence is a dense run-on (verification details packed into one parenthetical) but every clause carries information the agent needs.

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

Completeness4/5

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

For a one-parameter, no-output-schema tool, the description covers ordering, verification, and side effects — enough to call it correctly. What's missing is any hint of the failure mode (what happens if no matching call is found within 2 hours), which the agent would want before invoking it.

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% and the single parameter already carries 'From autopilot_proposal_get', so the baseline is 3. The description adds genuine semantics on top: the id must match the proposal_get call and be within a 2-hour window, which is a constraint the schema cannot express.

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?

States a specific verb and resource: 'Records that the agency approved a proposal and the change was made'. It also distinguishes itself from sibling autopilot_proposal_get by naming it as the precondition, and from mutation tools by adding 'Makes no change itself' — an agent can place it correctly in the autopilot family without opening a schema.

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?

'call it right after the tool call from autopilot_proposal_get succeeded' gives an explicit sequencing rule rather than vague context. However, it gives no when-not guidance and never names the alternative path (e.g. autopilot_decline for a rejected proposal), so the agent must infer the negative case.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.