submit_audit
Accept a quote and atomically reserve its disclosed audit credits.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes | ||
| idempotency_key | Yes |
Accept a quote and atomically reserve its disclosed audit credits.
| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes | ||
| idempotency_key | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent, non-destructive, closed-world, so the safety profile is covered. The description usefully adds that credit reservation is atomic, implying all-or-nothing spending. It does not say what happens on failure, whether reserved credits are released, or how the idempotency_key governs replay.
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?
One front-loaded sentence with no filler; the side effect is placed where the reader needs it. It is, however, terse to the point that the tool is under-described, so brevity here is borderline under-specification rather than clean economy.
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?
This is a mutating, credit-spending operation with no output schema and no parameter descriptions, yet the description omits the result (audit id, receipt, status), failure semantics, and credit-release behavior. Given sibling tools like get_audit_receipt and get_audit_status, an agent is left guessing what it gets back.
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 carries the full burden for two parameters, yet it never explains quote_id (a 32-hex quote reference) or why idempotency_key exists (replay-safe retries). The schema supplies patterns and length bounds but no meaning, and the description does not compensate.
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?
States a specific verb+resource pair ('accept a quote') plus the concrete side effect ('atomically reserve its disclosed audit credits'), which implicitly separates it from quote_audit and delete_audit. It does not name any sibling explicitly, so the differentiation is inferable rather than stated.
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?
There is no statement of when to call this versus quote_audit, get_audit_receipt, or delete_audit, and no prerequisites spelled out (e.g., that a quote must first be obtained and not expired). The only hint is the required quote_id parameter, which leaves the ordering and retry policy to inference.
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.