Skip to main content
Glama

Report a deal outcome

report_outcome

Records what happened after a deal was acted on, including anything that looked wrong (price, stock, dead link, checkout). Reports are saved and read by a human operator. Returns a feedback_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoWhat you or your human saw. Required for other. Leave out personal details.
deal_idYesThe deal id you acted on.
outcomeYesWhat happened. purchased: Your human bought it. price_confirmed: You checked the retailer: the price and stock matched the deal. wrong_price: The retailer shows a different price. Send actual_price_cents. out_of_stock: The retailer shows it unavailable. deal_dead: The offer is gone: page removed, promotion ended, or link broken. checkout_failed: Your human could not complete checkout (cart, coupon, region, payment). irrelevant: The deal did not fit what your human asked for. other: Anything else that looked wrong. Describe it in notes (required).
watch_idNoThe watch that surfaced this deal, if any.
actual_price_centsNoThe price the retailer actually showed, in cents. Include it for wrong_price.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / actual_price_cents / description
      Previous value: -"Price actually seen/paid, in cents — include when it differed from ours."New value: +"The price the retailer actually showed, in cents. Include it for wrong_price."
    • changedInput schema / properties / deal_id / description
      Previous value: -"The deal id."New value: +"The deal id you acted on."
    • changedInput schema / properties / deal_id / maxLength
      Previous value: -50New value: +100
    • changedInput schema / properties / notes / description
      Previous value: -"Anything else worth knowing."New value: +"What you or your human saw. Required for other. Leave out personal details."
    • changedInput schema / properties / notes / maxLength
      Previous value: -500New value: +1000
    • changedInput schema / properties / outcome / description
      Previous value: -"What happened."New value: +"What happened. purchased: Your human bought it. price_confirmed: You checked the retailer: the price and stock matched the deal. wrong_price: The retailer shows a different price. Send actual_price_cents. out_of_stock: The retailer shows it unavailable. deal_dead: The offer is gone: page removed, promotion ended, or link broken. checkout_failed: Your human could not complete checkout (cart, coupon, region, payment). irrelevant: The deal did not fit what your human asked for. other: Anything else that looked wrong. Describe it in notes (required)."
    • changedInput schema / properties / outcome / enum
      Previous value: -[
      -  "purchased",
      -  "deal_dead",
      -  "wrong_price",
      -  "out_of_stock",
      -  "irrelevant",
      -  "checkout_failed"
      -]New value: +[
      +  "purchased",
      +  "price_confirmed",
      +  "wrong_price",
      +  "out_of_stock",
      +  "deal_dead",
      +  "checkout_failed",
      +  "irrelevant",
      +  "other"
      +]
    • addedInput schema / properties / watch_id
      Added value: +{
      +  "description": "The watch that surfaced this deal, if any.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
  2. 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 it is a non-destructive write (readOnlyHint=false, destructiveHint=false), so the safety profile is covered. The description adds genuinely useful context beyond that: reports are persisted and read by a human operator, and the call returns a feedback_id for confirmation. It omits that the write is non-idempotent (repeats create duplicate reports), which would have been the natural complement to idempotentHint=false.

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?

Three short sentences, front-loaded with the core action and failure categories, then audience, then return value. Nothing is padded, though "including anything that looked wrong (price, stock, dead link, checkout)" slightly duplicates the outcome enum.

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 5-param, non-destructive write with a fully documented schema and no output schema, the description covers purpose, audience and the returned identifier. The remaining gap is the non-idempotent nature of repeated submissions, which an agent would benefit from knowing.

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 100%, and the outcome enum is documented in exhaustive detail inside the schema itself, including the cross-field rule that notes is required for 'other'. Baseline 3 applies because the description adds no parameter meaning beyond the schema.

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?

The description states a specific verb and resource — records the outcome of a deal, including failure modes — and names the downstream consumer (a human operator). It clearly distinguishes itself from the watch/deal-lookup siblings, though it never names one explicitly.

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?

"Records what happened after a deal was acted on" implies the trigger condition, but there is no explicit when-to-use vs. alternative guidance. It doesn't tell the agent whether to report only on acted-on deals versus merely viewed ones, or how it relates to the watch tools.

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