Skip to main content
Glama

Is this a good price?

avaliar_preco
Read-onlyIdempotent

Use this when the user asks whether an AliExpress product is a good price, a real deal, worth buying now, or pastes an AliExpress product link and asks about it. Returns a one- or two-sentence answer measured from our own price history (today's price against the typical price we measured, the lowest and highest we recorded), the verdict code and its certainty. A product we did not track yet is read once from the AliExpress affiliate API and tracked from then on: the answer then says tracking started just now (trackingStartedNow: true), with no verdict yet. When it cannot be tracked, it says so (tracked: false) instead of guessing: report that, and do not infer a discount from the listing's "was" price. Optional dias adds the lowest price in that many days. Every product carries pageUrl (the DipScout page with the price chart: the citation link), buyUrl (affiliate link through DipScout, disclosed in monetization; the price is the same with or without it), summary and citation (a self-contained sentence measured from our price history) and verdict (the short answer to "is this a good price?").

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "produto": "<produto>"
    },
    "name": "avaliar_preco"
  }
}

Input Schema

NameRequiredDescriptionDefault
diasNoOptional: also return the lowest price recorded in this many days.
idiomaNoOptional language for the human-readable text (title, discount.explanation, discount.warning, pageUrl): "en" (default), "de", "pt", "es", "fr", "ko", "it" or "pl". Field names, numbers and currency (USD) are the same in every language.en
produtoYesThe AliExpress product URL exactly as the user pasted it (any country or language subdomain: www.aliexpress.com, pt.aliexpress.com, aliexpress.us, aliexpress.ru, m.aliexpress.com, /item/<id>.html, /i/<id>.html, ?productId=<id>), the short link the AliExpress app's Share button copies (a.aliexpress.com/_..., s.click.aliexpress.com/e/_..., even inside the shared sentence), a DipScout product URL, or the numeric product id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / idioma / description
      Previous value: -"Optional language for the human-readable text (title, discount.explanation, discount.warning, pageUrl): \"en\" (default), \"de\", \"pt\", \"es\" or \"fr\". Field names, numbers and currency (USD) are the same in every language."New value: +"Optional language for the human-readable text (title, discount.explanation, discount.warning, pageUrl): \"en\" (default), \"de\", \"pt\", \"es\", \"fr\", \"ko\", \"it\" or \"pl\". Field names, numbers and currency (USD) are the same in every language."
    • changedInput schema / properties / idioma / enum
      Previous value: -[
      -  "en",
      -  "de",
      -  "pt",
      -  "es",
      -  "fr"
      -]New value: +[
      +  "en",
      +  "de",
      +  "pt",
      +  "es",
      +  "fr",
      +  "ko",
      +  "it",
      +  "pl"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / idioma / description
      Previous value: -"Optional language for the human-readable text (title, discount.explanation, discount.warning, pageUrl): \"en\" (default), \"de\", \"pt\" or \"es\". Field names, numbers and currency (USD) are the same in every language."New value: +"Optional language for the human-readable text (title, discount.explanation, discount.warning, pageUrl): \"en\" (default), \"de\", \"pt\", \"es\" or \"fr\". Field names, numbers and currency (USD) are the same in every language."
    • changedInput schema / properties / idioma / enum
      Previous value: -[
      -  "en",
      -  "de",
      -  "pt",
      -  "es"
      -]New value: +[
      +  "en",
      +  "de",
      +  "pt",
      +  "es",
      +  "fr"
      +]
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Discloses behavior the annotations cannot: an untracked product is read once from the AliExpress affiliate API and then tracked (an implicit side effect), the answer carries trackingStartedNow: true with no verdict, and failures return tracked: false rather than a guess. It also discloses monetization via affiliate buyUrl and reassures the price is identical either way.

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

Conciseness3/5

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

The trigger is correctly front-loaded, but the body is one dense run-on paragraph that re-lists output fields (summary, citation, verdict) with overlapping definitions and parenthetical asides. It is informative but not scannable, and some clauses could be cut without loss.

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?

There is no output schema, so the description carries the return contract — verdict code, certainty, summary, citation, pageUrl/buyUrl, and the tracked/trackingStartedNow states. For a tool that may hit a remote API and mutate tracking state, that is enough for an agent to call and report correctly.

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; the description earns extra by explaining what `dias` actually changes (adds the lowest price in that window) and by naming the accepted `produto` forms including app share links embedded in a shared sentence. It does not mention `idioma` at all, leaving that entirely to the schema.

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 ('evaluate whether an AliExpress product is a good price') and immediately names the data source (its own price history, not the listing's 'was' price). An agent can tell it apart from siblings like historico_de_preco or menor_preco because the deliverable is a verdict, not raw history.

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 explicit trigger phrasing ('when the user asks whether ... a good price, a real deal, worth buying now, or pastes an AliExpress product link'). Also states an important when-not: do not infer a discount from the listing's 'was' price when tracking fails. Siblings are never named as alternatives, so routing among the six price tools is left partly 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