Skip to main content
Glama

StatCite — Verified Economic Statistics

Verify a claimed statistic against the official source

verify_stat
Read-onlyIdempotent

Check a claimed economic figure (from a draft, article, or memory) against the official statistical series and get a verdict: match, close, mismatch, or cannot_verify. With the official value, the difference, diagnostics for classic errors (wrong year, percent-vs-decimal, unit scaling), and a full citation for the correct number. Honesty contract: when the official source cannot support a judgment (source down, no published value, fallback vintage risk), the verdict is cannot_verify with the reason, never a guess. Supports historical IMF-vintage checks via as_of. Use this before publishing any economic statistic in a report, brief, or article.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofNoHistorical IMF-vintage verification: judge the claim against the dated IMF WEO edition resolved from this date, e.g. '2019-04', '2019', instead of today's live data. Resolution is a conservative month calendar (editions flip May 1 / Nov 1, not the IMF's exact release days) and always verifies against a dated WEO edition even when the indicator's live primary is World Bank WDI or the IMF Fiscal Monitor. The response's as_of object and notes disclose both, so present results as 'matched the IMF WEO {vintage} edition', never 'was true at the time'. Recent editions serve from the IMF's own dated vintage dataflows (api.imf.org) directly, with DBnomics's dated editions as the deep archive, the citation names which one served. Only supported for the six WEO-dated registry indicators (gdp_growth, current_account_gdp, govt_debt_gdp, fiscal_balance_gdp, govt_revenue_gdp, govt_expenditure_gdp); rejects with advice otherwise, and impossible calendar dates are rejected.
periodYesPeriod of the claim, usually a year: '2024'.
countryNoCountry for registry indicators / World Bank series.
indicatorYesRegistry key ('inflation_cpi', 'gdp_growth', …) or explicit series id ('worldbank/FP.CPI.TOTL.ZG', 'imf/NGDP_RPCH', 'dbnomics/IMF/WEO:latest/USA.NGDP_RPCH.pcent_change').
claimed_valueYesThe value as claimed (in the series' own units).
strict_sourceNoReproducibility mode: never verify against a fallback source, error instead if the primary source fails. Default false; without it, a verify served from a transient-failure fallback returns cannot_verify with the fallback value as indicative (fallback_used=true), while a fallback for a series the primary permanently lacks (e.g. Taiwan in WDI) is judged normally with disclosure.
tolerance_absNoOptional absolute tolerance in series units (e.g. 0.1 percentage points).
tolerance_pctNoOptional relative tolerance in percent.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesYes
periodYes
seriesYes
verdictYes
citationYes
differenceYes
diagnosticsYes
explanationYes
claimed_valueYes
is_projectionYes
status_methodYes
official_valueYes
observation_statusYes
relative_difference_pctYes

TDQS

A4.3/5.0
Behavior5/5

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

The description goes well beyond annotations by disclosing the 'honesty contract' (never guessing, returning cannot_verify), fallback behavior under strict_source, and the as_of vintage resolution details. These are critical behavioral traits not captured in readOnlyHint or other annotations.

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 description is informative but somewhat verbose, with several paragraphs that repeat or expand on schema descriptions. It is front-loaded with the main purpose, but later sections on as_of and fallback behavior are long and could be trimmed. Every sentence earns its place regarding policy, but the length reduces readability.

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 the tool's complexity (8 params, output schema), the description is quite complete: it covers verdict types, diagnostic details, honesty contract, historical vintage resolution, and fallback modes. It does not need to explain return values since an output schema exists, and the description provides sufficient context for an agent to select and invoke the tool correctly.

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%, so the baseline is 3. The description adds little beyond the schema for parameters; most parameter-specific details (e.g., as_of behavior, strict_source) are already fully described in the input schema. The description provides a high-level overview but does not enhance or clarify individual parameters further.

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 clearly states the tool's function: 'Check a claimed economic figure... against the official statistical series and get a verdict: match, close, mismatch, or cannot_verify.' This is a specific verb+resource and differentiates it from siblings like verify_claims (likely batch) and compare_sources by focusing on verification against official sources.

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?

The description provides clear usage context: 'Use this before publishing any economic statistic in a report, brief, or article.' It also explains behavior in edge cases (fallback, as_of) but does not explicitly state when not to use it or name alternatives beyond the implicit distinction from sibling 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.

TDQS

A4.4/5.0
Disambiguation4/5

Tools are organized into clear functional groups (retrieval, search, verification, conversion), and pairs like get_indicator/get_series and verify_stat/verify_claims have explicit usage distinctions. The only minor overlap is between fetch and get_series, but their descriptions clarify when to use each.

Naming Consistency4/5

Most tool names follow a verb_noun snake_case pattern (get_indicator, verify_stat, compare_sources), with a few single-word or noun-style exceptions (fetch, search, country_snapshot). The overall convention is predictable and consistent.

Tool Count5/5

12 tools is within the optimal range for a domain of this complexity, covering retrieval, search, comparison, verification, conversion, and source listing without unnecessary bloat.

Completeness5/5

The surface covers the full workflow: discover indicators (search_indicators), search data (search), fetch data (get_indicator, get_series, fetch, country_snapshot), compare sources (compare_sources), convert values (fx_convert, inflation_adjust), verify claims (verify_stat, verify_claims), and understand sources (list_sources). No critical gaps are apparent.