Skip to main content
Glama

prepare_review

Destructive

Prepare one immutable proposal under a review:prepare token. With target.offering_id, omit merchant_name, merchant_website and offering to reuse the public target. Otherwise provide seller identity and display name. Ratings are optional; never guess scores. This does not confirm or publish it. Return the confirmation URL to the consumer to check the full text, scores and evidence.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNo
contextNo
ratingsNo
feedbackYes
offeringNo
evidence_idYes
incentivizedYes
merchant_nameNo
merchant_websiteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / ratings / required
      Previous value: -[
      -  "quality",
      -  "service",
      -  "value"
      -]New value: +[]
    • changedInput schema / required
      Previous value: -[
      -  "evidence_id",
      -  "merchant_name",
      -  "merchant_website",
      -  "feedback",
      -  "ratings",
      -  "incentivized"
      -]New value: +[
      +  "evidence_id",
      +  "feedback",
      +  "incentivized"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / target
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "gtin": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "listing_id": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "marketplace": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "merchant_name": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "offering_id": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "product_name": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "product_url": {
      +      "maxLength": 2048,
      +      "type": "string"
      +    },
      +    "seller_id": {
      +      "maxLength": 160,
      +      "type": "string"
      +    },
      +    "store_url": {
      +      "maxLength": 2048,
      +      "type": "string"
      +    },
      +    "variant": {
      +      "maxLength": 160,
      +      "type": "string"
      +    }
      +  },
      +  "required": [],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, idempotentHint=false and readOnly=false, so mutability is already flagged; the description adds real value by saying the resulting proposal is immutable, that it neither confirms nor publishes, and that a confirmation URL is returned so the consumer can verify text, scores and evidence. It still does not explain why the call is destructive (e.g., token consumption/one-shot semantics).

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

Conciseness5/5

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

Four densely packed sentences, each covering a distinct concern (token/output, target branching, ratings rule, lifecycle/return). The key scoping constraint is front-loaded and no sentence is filler.

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

Completeness3/5

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

For a destructive, non-idempotent mutation with a nine-parameter nested schema, no output schema and zero schema descriptions, the definition covers the critical target branching and lifecycle but omits the meaning of feedback, evidence_id, incentivized and the context object. Adequate but with clear gaps given the tool's complexity.

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 description coverage is 0%, so the description must carry the load. It usefully explains the target.offering_id vs seller-identity branching and the optionality of ratings, but says nothing about feedback, evidence_id, incentivized, or the context sub-fields, leaving several required and complex parameters unexplained.

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 ('prepare one immutable proposal') and explicitly distinguishes itself from the publish/confirm step ('This does not confirm or publish it'), which separates it from sibling submit_review. An agent knows it is building a draft proposal for review, not finalizing one.

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?

Gives conditional guidance on the two mutually exclusive paths: use target.offering_id and omit merchant_name/merchant_website/offering to reuse a public target, otherwise supply seller identity and display name. It also states ratings are optional and 'never guess scores'. It does not, however, route against other siblings such as resolve_review_target or get_preparation.

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