Skip to main content
Glama
berba-q

FAOSTAT MCP Server

by berba-q

faostat_resolve_name

Find FAOSTAT definitions by name when the domain is unknown, covering region, country, and indicator kinds. Exact matches resolve directly; partial or missing matches are flagged for confirmation.

Instructions

Find FAOSTAT definitions by name when the domain is unknown. kind: region, country, indicator (includes elements/items). definition_code identifies a definition, NOT a domain query filter; use faostat_search_codes for query codes. Exact matches are defined; partial matches require confirmation. no_matching_definition means this lookup found no match, not proof FAO never defines the concept. Narrow truncated matches. Custom constructions require explicit user request and a non-FAO label.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
langNoen
nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.0

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are present, so the description carries the load, and it discloses real behavioral traits: exact matches are treated as defined while partial matches require confirmation, why 'no_matching_definition' should not be read as proof of non-existence, and that custom constructions need explicit user request plus a non-FAO label. These are non-obvious semantics beyond a bare lookup; only auth/permission behavior is absent.

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?

The description is information-dense with essentially no filler, and the core purpose leads. The fragment 'Narrow truncated matches.' is cryptic enough to cost readability and briefly obscures intent, but the overall size is appropriate for what it conveys.

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?

An output schema exists, so return-shape documentation is not required, and the description still explains how to interpret a notable result state. With three parameters at 0% schema coverage, the only real remaining gap is the undocumented `name`/`lang` inputs; behaviorally the tool is well covered.

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 compensate. It does enumerate the meaningful values for `kind` (region, country, indicator, including elements/items), which is genuinely additive since the schema has no enum, but it says nothing about `name` or `lang`, leaving part of the parameter surface undocumented.

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 (resolve/find), resource (FAOSTAT definitions by name), and the distinguishing scope condition (when the domain is unknown). It also names the sibling it is not (faostat_search_codes for query codes), so an agent can route between them without opening the schemas.

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?

Clearly specifies the selecting condition ('when the domain is unknown') and names an alternative tool with the case that selects it (query codes belong to faostat_search_codes). It stops short of an explicit 'when the domain IS known, use X instead' exclusion, so it is strong context rather than complete when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.