Skip to main content
Glama

Kyrodata — Brazil Trade, Crop & Commodity Data

Resolve country, HS code or commodity

kyrodata_resolve_entity
Read-onlyIdempotent

Resolves a free-text name into platform identifiers for FILTERING other tools: commodity hubs (slug plus anchor SH4), HS headings (SH4), NCM codes (8 digits) and partner countries (country id). 'soja' resolves to the soybean hub and SH4 1201; 'China' to country id 160. query takes a name already known rather than a topic to explore, and up to 10 matches per kind come back — an ambiguous term returns the candidates instead of one guess, so the caller picks. The output is an ID to pass to another tool, and it carries no document and no URL. Finding what exists in the public catalog, and getting a citable document back, is kyrodata_search. Credit class: free (0 credits).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesWhat to look up, in plain words: a country, a product, or a code. Portuguese and English both work.
kindsNoNarrow the search to these kinds of entity. Omit to search all of them.
response_formatNoHow much of the answer to return. `concise` (the default) carries the headline figures; `detailed` adds the row-level series behind them and counts against the export quota.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesRaw numbers behind the text.
memoYestrue = identical call in the last 10 min, served again: 0 credits.
rowsNoTable rows; detailed only, capped per tool.
errorNoFailure message when status = error.
linksYesscreen = product page with these numbers.
deniedNoWhen status = denied: reason, feature, upgradeUrl.
statusYesok = data; denied = plan; error = failure or timeout.
windowNoLike-for-like window: from, to (YYYY-MM), label, months, crossesSeason.
caveatsYesReading caveats.
creditsYescharged, balance (null = unlimited), resetAt, session {charged, endsAt} of the 60-s billing session.
sourcesYesPer source: label, nameable, asOf.
dataVersionYesIdentity of the data that answered.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / kinds / description
      Added value: +"Narrow the search to these kinds of entity. Omit to search all of them."
    • addedInput schema / properties / q / description
      Added value: +"What to look up, in plain words: a country, a product, or a code. Portuguese and English both work."
    • addedInput schema / properties / response_format / description
      Added value: +"How much of the answer to return. `concise` (the default) carries the headline figures; `detailed` adds the row-level series behind them and counts against the export quota."
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe, non-mutating nature is covered. The description adds meaningful behavioral context beyond that: the output is an identifier to pass to another tool, carries no document and no URL, and returns up to 10 matches per kind with ambiguous terms yielding candidates rather than a single guess. It also states the credit cost. No contradictions with annotations. It could go further with details on pagination or rate limits, but for a resolver tool this is sufficient.

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?

The description is a single paragraph of about 80 words, densely packed with useful information. It front-loads the core purpose, provides concrete examples and alternate-tool guidance, and ends with the credit cost. Every sentence contributes value; there is no filler, repetition, or unnecessary elaboration. The structure leads with the main action and then systematically covers output, ambiguity handling, and contrast.

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?

Given that an output schema exists (so return format is already structured), the description does not need to detail the return shape. It covers everything an agent needs to call correctly: what identifiers look like, how ambiguity is handled, which sibling to use instead, and the cost. The covered scope is complete for the tool's complexity; no critical information is missing.

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?

The input schema has 100% coverage: all three parameters (q, kinds, response_format) are documented with types and constraints. The description adds semantic nuance beyond the schema, notably that 'query takes a name already known rather than a topic to explore,' and clarifies the kinds parameter by listing the entity types and saying to omit for all. The response_format parameter is described in the schema, but the description reinforces the distinction between concise and detailed with a note about export quota, which is extra context. Overall, the description compensates well despite schema coverage being high.

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?

The description leads with a precise verb–resource pair: 'Resolves a free-text name into platform identifiers for FILTERING other tools,' and enumerates the exact entity kinds and their output forms (commodity hubs with slug plus SH4, HS headings SH4, NCM 8-digit, country id). It also gives concrete examples ('soja' → hub and SH4 1201; 'China' → country id 160), making the purpose unmistakable. This clearly differentiates it from sibling kyrodata_search, which is about finding documents, not identifiers.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: for resolving a name already known into an ID to pass to other tools, and explicitly contrasts it with kyrodata_search for finding things in the public catalog and getting citable documents. It also explains behavior for ambiguous terms, telling the caller they get candidates to pick from, which is a clear usage guideline. The credit class mention ('free (0 credits)') further guides cost-aware routing.

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