Skip to main content
Glama

prepare_sale

Destructive

After the seller approves the details and sending a verification email, prepare a private draft. Requires a seller-owned email and a stable idempotency_key. Does not publish. Returns a draft ID; ask the seller for the 8-digit code emailed to them. Never invent a code or use another person’s email.

Input Schema

NameRequiredDescriptionDefault
saleYes
emailYes
idempotency_keyYesGenerate a unique request ID; reuse it only for retries with identical details.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare a non-read-only, open-world, destructive write. The description adds real context beyond them: the output is a private (unpublished) draft, a draft ID is returned, an 8-digit verification code is emailed, and it warns never to invent a code or use another person's email. Minor tension with idempotentHint=false while the text stresses a 'stable idempotency_key', but the key is a caller-supplied dedup mechanism rather than an inherent idempotency claim, so this is not a contradiction.

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 trigger and the core action, then requirements, the non-publication caveat, the return value, and a safety rule. Dense and mostly waste-free, though the requirements sentence sits slightly awkwardly between the action and the caveat.

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 complex write tool with a nested schema and no output schema, the description covers the workflow position, the return value, and the verification step. It is complete enough to invoke correctly, with the only real gap being the semantics of the nested 'sale' fields, which the schema itself leaves undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% and the nested 'sale' object has many undocumented subfields. The description does add meaning to two of the three top-level params ('seller-owned email', 'stable idempotency_key'), but it does not compensate for the nested-object coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: prepare a private draft for a sale, and returns a draft ID. It implicitly distinguishes itself from publish_sale by stating 'Does not publish', but it never names that sibling explicitly, so sibling differentiation is only partial.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a precondition ('After the seller approves the details and sending a verification email') and one exclusion ('Does not publish'), which implies the publish flow is a separate tool. However, it never names publish_sale or any other alternative, so routing between siblings is left to inference.

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.

Resources