Skip to main content
Glama

Report a wrong price, variant or shop

report_issue
Idempotent

When an offer on a product page is wrong (the shop's page shows another price, the offer is another variant or product, the link leads to the wrong shop or page, or anything else), file a report: kind price | variant | category | shop | other, product_slug (the stable product id from find_best_price or search_products), the offer_id of the offer (from the card's offers; optional) and a message saying what you saw (at most 1000 characters). An optional email gets the founder's answer; it is never shown. Every report goes to a queue a person reads; the same report sent twice within a day answers the first id with duplicate true. Public, no key; the anonymous rate limit applies.

Input Schema

NameRequiredDescriptionDefault
kindYesWhat is wrong: the price, the variant or product, the category the product is filed under, the shop or link, or something else.
emailNoWhere the answer goes. Optional, never shown.
localeNoLanguage of the answer.
ip_hashNosha-256 of the reporter's address with a daily salt (the website computes it); the per-visitor limit of five reports a minute counts by it. Never stored.
messageYesWhat you saw, e.g. the price on the shop's page and when.
websiteNoLeave empty (spam trap).
offer_idNoThe offer the report is about (offer_id in the card).
page_urlNoThe page the report was made on.
shop_slugNoThe shop's slug, when known.
product_slugYesProduct slug (the stable product id).
user_agent_hashNosha-256 of the reporter's user agent (the website computes it); only for spotting floods.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the annotations: it discloses that reports land in a human-read queue, that the email is never shown but receives the founder's answer, that the endpoint is public with no key but subject to the anonymous rate limit, and it gives concrete semantics for idempotency ('the same report sent twice within a day answers the first id with duplicate true'). That last point turns the abstract idempotentHint into observable behavior.

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-loads the triggering condition before the parameter walkthrough, and every clause carries information. It is a single dense paragraph with stacked parentheticals, though, which makes the required-vs-optional split harder to scan than a short bulleted structure would.

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

Completeness5/5

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

For an 11-parameter mutation with no output schema, the description covers the essentials an agent cannot get elsewhere: no auth required, the rate limit, the human-queue consequence, and the duplicate-response shape. The undocumented remaining parameters are all explained in the schema itself.

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%, so the baseline is 3, but the description adds genuine value: it tells the agent where `product_slug` comes from (find_best_price or search_products), that `offer_id` comes from the card's offers and is optional, and restates the 1000-character `message` limit alongside guidance on what to say. It leaves `locale`, `page_url`, `shop_slug`, `ip_hash`, and the `website` spam trap to the schema, which is acceptable.

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 ('file a report' about a wrong offer on a product page) and immediately bounds the scope with the enumerated `kind` values price | variant | category | shop | other. An agent can tell this is the complaint-filing tool, not a data-read tool, without opening the 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?

Gives a rich set of triggering conditions ('the shop's page shows another price, the offer is another variant or product, the link leads to the wrong shop or page'), which is far more than most tools offer. It does not, however, route the agent away from the similar sibling `report_illegal_content`, leaving the boundary between 'wrong' and 'illegal' for the agent to infer.

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