DatoQA — Economic Indicators
Server Details
Official country economic indicators and annual history, with units, dates, citations and gaps.
Datoka portal and connection guide: https://datoka.dev/qa.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 13 tools
The core get/list_*indicators tools overlap heavily in name (get_indicators, get_historical_indicators, get_economic_indicators, get_us_economic_indicators) and are distinguishable only by reading the source-specific descriptions (World Bank WDI vs World Bank historical vs Eurostat vs BLS). The meta-tools get_record, get_evidence, and catalog also have fuzzy boundaries around provenance/verification. Descriptions do resolve most confusion, but selection requires careful reading.
Strong list_* / get_* verb_noun pairing holds across nearly all data tools (list_countries, list_economic_indicators, get_economic_indicators, etc.). Minor deviations: the bare noun 'catalog' and the possibly-confusable get_record/get_evidence break the pattern slightly. Overall predictable and readable.
Thirteen tools is well within a healthy range for a multi-source economic data server, and each source gets a paired discover/fetch tool. There is mild redundancy in the meta-tools (catalog, get_evidence, get_record) that could arguably be consolidated, but nothing feels bloated.
For a read-only data aggregation domain, the surface covers discovery (list_*) plus retrieval (get_*) across World Bank WDI, World Bank historical, Eurostat, BLS, and central-bank rate sources, with provenance and evidence support. Gaps are minor: no cross-source unified search and provenance is split across three meta-tools.
Available Tools
13 toolscatalogARead-onlyIdempotentInspect
Inspect this connection’s scope, tools and access policy. With no arguments returns the usual catalog. On the general or economy connection, optionally supply report_countries (1–10 World Bank codes) for a FREE live preview of the optional paid country comparison: population/GDP/inflation by default, or up to six selected historical indicators over ten years, aligned JSON and CSV, definitions and source evidence. Preview reports price, missing cells, availability and the exact HTTP purchase path; it never signs or pays. Existing data tools remain free. Buying requires an authorized x402 HTTP client, not just MCP. Source/schema checks are not independent factual verification.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Response metadata language, English by default or French; original source definitions and notes remain preserved. | en |
| report_to | No | Inclusive last observation year, no later than the last completed calendar year. Supply with report_from and report_indicators; missing observations block purchase. | |
| report_from | No | Inclusive first observation year for a custom country preview. Supply with report_to and report_indicators; at most ten years, from 1960 onward. | |
| report_countries | No | Optional free preview for these distinct World Bank country codes, e.g. FRA, DEU, ESP. General/economy connections only. | |
| report_indicators | No | Custom historical comparison: select up to six of the 22 WDI indicators. Supply report_from and report_to together, up to ten years. Missing cells block payment. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| title | No | |
| tools | No | |
| profile | No | |
| version | No | |
| capabilities | No | |
| available_records | No | |
| independently_verified | No | Official-source checks are not independent factual corroboration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent safety profile, and the description layers on real behavioral context the structured fields can't convey: the preview 'never signs or pays,' missing cells block purchase, reports expose price/availability/HTTP purchase path, and source/schema checks are not independent factual verification. This is valuable disclosure beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose and keeps every sentence informative, but the second half is a dense run-on covering preview outputs, pricing, purchase path, and caveats. Slightly crowded, yet nothing is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unusual dual-purpose tool (catalog inspection plus paid-data preview) with an output schema already covering return values, the description supplies the needed context: scope, the free-vs-paid boundary, preview contents, payment prerequisites, and an analytical caveat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter semantics the schema doesn't: report_from/report_to must be supplied together with report_indicators, missing observations block purchase, and report_countries triggers a free preview only on general/economy connections. That is meaningful added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource ('Inspect this connection's scope, tools and access policy') and adds a second, clearly described capability (free country-comparison preview). It implies differentiation from the data siblings by noting 'Existing data tools remain free,' but never names a sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear when-to-use guidance: call with no arguments for the plain catalog, or supply report_countries on the general/economy connection for a preview, and explicitly states buying needs an authorized x402 HTTP client 'not just MCP.' No explicit when-NOT-to-use beyond that constraint, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_economic_indicatorsARead-onlyIdempotentInspect
Eurostat HICP annual inflation rate (monthly), seasonally adjusted unemployment rate (monthly), or real GDP growth over the previous quarter (quarterly). EU/EFTA only, since 2020 through latest published periods. Source flags, missing cells, units and evidence retained. Use list_economic_indicators for countries; not real-time or independently verified.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum latest monthly or quarterly observations returned, default 24. | |
| country | Yes | Eurostat EU/EFTA country code from list_economic_indicators, for example FR or EL for Greece; not a World Bank three-character code. | |
| language | No | Response metadata language: en or fr; original source notes are preserved. | en |
| indicator | Yes | Eurostat series key from list_economic_indicators; check frequency, units and adjustment. |
Output Schema
| Name | Required | Description |
|---|---|---|
| record | No | |
| status | Yes | |
| country | Yes | |
| returned | Yes | |
| directory | No | |
| indicator | Yes | |
| interpretation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description goes further with data-provenance behavior: source flags, missing cells, units and evidence are retained, and the data is explicitly 'not real-time or independently verified.' That last caveat is exactly the kind of trait an agent needs and cannot get from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three densely packed sentences with no filler, and the series/scope information is front-loaded. It is terse but every clause carries information; the only cost is slight density that borders on note-form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a 100%-covered schema, output schema present, and annotations carrying safety, the description's remaining obligations are scope and data-quality caveats — both delivered. It could be more complete by distinguishing from the sibling 'indicator' tools, but nothing required for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so country codes (EL for Greece, not World Bank 3-char), enum values, language and limit are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names three concrete series (HICP annual inflation, seasonally adjusted unemployment, real GDP growth), their frequencies, and the geographic scope (EU/EFTA, since 2020). An agent can distinguish this from get_us_economic_indicators and get_historical_indicators without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to route elsewhere ('Use list_economic_indicators for countries') and gives hard scope limits (EU/EFTA only, since 2020, not real-time). It does not, however, contrast with the closely-named get_indicators or get_historical_indicators siblings, leaving some ambiguity about which indicator tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_evidenceARead-onlyIdempotentInspect
Retrieve the source JSON snapshot and SHA-256 digest for a currently available record. The digest proves snapshot integrity, not factual truth.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Record id returned by a DatoQA data response; returns the retained source snapshot for that record. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | Yes | |
| sha256 | Yes | |
| record_id | Yes | |
| hash_scope | Yes | |
| source_url | Yes | |
| first_observed_at | Yes | |
| source_payload_json | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely non-obvious context the annotations cannot: the digest proves snapshot integrity and not factual truth, and the snapshot is only available for a record that is currently available. That constraint on availability is useful behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, and the most important scoping fact (snapshot plus digest for an available record) is front-loaded before the integrity caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be explained; the description nonetheless names the returned artifacts (snapshot, digest). The main remaining omission is what the caller should do when the record is no longer available, but for a one-parameter read tool with rich annotations and an output schema this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single id parameter is already documented in the schema (record id from a DatoQA data response, including the accepted pattern). The description adds no format or sourcing detail beyond that, so the baseline 3 for full schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource pair: retrieve the source JSON snapshot plus its SHA-256 digest for a record. It is meaningfully distinguishable from the sibling get_record (this returns provenance/evidence, not the record payload), but it never names that sibling, so the differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement and no alternative is named; an agent must infer from the word 'evidence' and 'currently available' that this is the provenance/verification path rather than the normal data-retrieval path. Relative to get_record, which presumably serves the same record space, this is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_indicatorsARead-onlyIdempotentInspect
Annual historical series for one World Bank country and indicator from 1960 to the last completed year. Use list_historical_indicators for keys and list_countries for countries. Choose GDP per capita, current dollars or constant 2015 dollars explicitly; these are not interchangeable. Nulls are missing, not zero. Provenance and original definitions included; not independently verified.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Inclusive last observation year, no later than the last completed calendar year. Available data may end earlier. | |
| from | No | Inclusive first observation year, at least 1960 and no later than to. | |
| format | No | CSV content with null flags, original values, source notes and provenance, alongside JSON. No missing-date filling. | json |
| country | Yes | World Bank three-character economy code from list_countries, for example USA or FRA. | |
| language | No | Response metadata language: en or fr; original definitions and source notes are preserved. | en |
| indicator | Yes | Annual series key from list_historical_indicators, for example gdp_per_capita; inspect units before comparing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| notice | No | |
| status | Yes | Read this before using values; a successful transport does not establish data availability. |
| returned | Yes | Domain-specific result count, not necessarily the number of stored records in items. |
| directory | No | |
| independently_verified | No | Official-source checks are not independent factual corroboration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds non-obvious semantics: 'Nulls are missing, not zero' and 'Provenance and original definitions included; not independently verified.' These are genuine data-quality caveats not derivable from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences, each carrying distinct information: scope, key/country sources, unit-choice warning, null semantics, and provenance disclaimer. No filler and the scope statement is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the remaining burden is mostly the unit/null/provenance caveats, which are all covered. Minor gap: no mention of payload size or pagination expectations for a 65-year annual series, though with the output schema present this is largely redundant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds real meaning beyond it by warning that GDP per capita in current vs constant 2015 dollars 'are not interchangeable' and that units should be inspected before comparing. It does not elaborate on from/to or format beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Annual historical series for one World Bank country and indicator from 1960 to the last completed year'), with clear scope and time bounds. It routes to list_historical_indicators for keys, which helps separate it from the sibling catalog tools, though it does not explicitly distinguish itself from get_economic_indicators or get_indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives prerequisite routing ('Use list_historical_indicators for keys and list_countries for countries') and a real selection rule between GDP variants ('current dollars or constant 2015 dollars explicitly; these are not interchangeable'). It stops short of stating when to prefer this tool over the other indicator tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indicatorsARead-onlyIdempotentInspect
Annual population, GDP in current US dollars and CPI inflation from World Bank WDI worldwide economies. Use list_countries for supported three-character codes. Five completed years only, not real-time. Returns units, definitions, producers, footnotes and provenance. Null is missing, never zero. Not independently verified.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | World Bank three-character economy code from list_countries, for example USA or FRA. | |
| language | No | Response metadata language: en or fr; original producer attribution is preserved. | en |
| indicator | No | Optional annual series: population, gdp (current USD), or inflation (annual CPI percent). Omit for all three. |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| items | Yes | |
| notice | No | |
| status | Yes | Read this before using values; a successful transport does not establish data availability. |
| country | Yes | |
| coverage | Yes | |
| language | Yes | |
| returned | Yes | Domain-specific result count, not necessarily the number of stored records in items. |
| directory | No | |
| interpretation | Yes | |
| independently_verified | No | Official-source checks are not independent factual corroboration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses meaningful data-quality behavior: null means missing and is never zero, the series covers only five completed years and is not real-time, and the data is not independently verified. These are exactly the caveats an agent needs to interpret results correctly and are not obtainable from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, front-loaded with the core payload, and each sentence carries distinct information — scope, code lookup, temporal limit, return contents, null semantics, and verification caveat — with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read tool with 100% schema coverage, annotations, and an output schema, the description supplies the remaining interpretive context (null handling, data vintage, provenance, verification status) without redundantly explaining return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the enum values and country-pattern are already documented and the baseline is 3. The description still adds value by pointing to list_countries for the three-character code and pinning the indicator meaning (current USD GDP, annual CPI percent) plus the five-completed-years constraint that the schema doesn't express.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource and source (annual population, GDP in current USD, CPI inflation from World Bank WDI) and scopes it to worldwide economies, so an agent knows exactly what it retrieves. It narrows the field against the many sibling indicator tools by citing the WDI source and the five-completed-years limit, though it never explicitly names an alternative to distinguish from get_historical_indicators or get_economic_indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operating context: use list_countries to obtain supported three-character codes, omit indicator for all three series, and note that only five completed years are available and data is not real-time. It stops short of explicitly stating when to prefer this tool over the adjacent indicator siblings, so the routing decision is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_interest_ratesARead-onlyIdempotentInspect
Retrieve or export central-bank policy rates in percent. provider=boe series=bank_rate since 1975; boc default overnight_target/bank_rate since 2010; ecb deposit_facility/main_refinancing/marginal_lending and historical main_refinancing_minimum_bid since 1999; fed eight series from directory with distinct starts since 1982. Latest numeric observation by default, optional year or exact date (mutually exclusive). format=csv provides a ready-to-import table with notes and provenance. No date filling, inferred announcement dates or retail quotes. Historical instruments are not current rates. Original source data free; not independently verified.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact published source date YYYY-MM-DD. Mutually exclusive with year; no carry-forward or inferred rate for a missing date. | |
| year | No | One source calendar year, within this provider and series coverage and no later than the current year. Mutually exclusive with date; omit both for the latest numeric observation. | |
| format | No | CSV includes selected observations, original decimals, null flags, definitions and provenance. MCP returns CSV content alongside JSON; source-date gaps keep JSON only. | json |
| series | Yes | Provider-specific policy series from list_interest_rate_series. For example boe/bank_rate or ecb/deposit_facility; incompatible provider/series pairs are rejected. | |
| provider | No | Central bank: boc Canada (default), ecb euro area, fed United States, or boe United Kingdom. Select a series from this provider. | boc |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| notice | No | |
| series | No | |
| status | Yes | Read this before using values; a successful transport does not establish data availability. |
| returned | Yes | Domain-specific result count, not necessarily the number of stored records in items. |
| directory | No | |
| latest_only | No | |
| requested_date | No | |
| available_years | No | |
| independently_verified | No | Official-source checks are not independent factual corroboration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), so the burden is lighter. The description still adds real behavioral context beyond them: no carry-forward/inferred rates, historical instruments are not current rates, and source data is free but unverified. It does not describe rate limits or error surface, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then dense supporting detail. Every sentence carries information (coverage, defaults, exclusions, provenance). It is a single dense paragraph that is effortful to scan but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 params, full schema coverage, and an output schema that handles return values, the description covers the remaining gaps: provider/series mapping, date vs year exclusivity, CSV behavior, and data-quality caveats. It is essentially complete for correct invocation, missing only sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by tying specific series to providers and their coverage windows (boe/bank_rate since 1975, boc since 2010, ecb since 1999, fed eight series since 1982) and by clarifying how format=csv behaves. This meaningfully enriches the enum choices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Retrieve or export central-bank policy rates in percent') with explicit provider/series coverage and start dates, so it is clearly distinguishable from siblings like get_economic_indicators or get_exchange_rates. An agent knows exactly what data domain this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States default behavior (latest numeric observation), the date/year mutual exclusivity, and the export path via format=csv. It also gives exclusion guidance ('No date filling, inferred announcement dates or retail quotes'). It stops short of naming a sibling as the alternative for related needs (e.g., list_interest_rate_series to discover pairs), so it is clear but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordARead-onlyIdempotentInspect
Get an unexpired record with provenance and its explicit verification level. Source/schema validation is not independent factual verification.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Opaque record id returned by a DatoQA data response. Reuse it exactly; do not invent an id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| data | Yes | Source-specific payload; inspect units, observation dates, nulls and source notes. |
| domain | Yes | |
| citation | Yes | |
| freshness | Yes | |
| provenance | Yes | |
| display_label | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds two genuinely useful behavioral facts not in the annotations: records returned are unexpired, and source/schema validation must not be mistaken for independent factual verification. It stops short of describing error behavior for a missing/expired id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, the primary purpose front-loaded, with the interpretive caveat placed second. No filler, no restating of the tool name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile. The gap is routing: with 24 siblings an agent is given no cue for choosing this tool, and nothing is said about what happens when the record is expired or absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter and schema_description_coverage is 100%; the schema already explains the id is opaque, must be reused exactly, and must not be invented. The description adds no parameter guidance at all, so the baseline 3 for fully-covered schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get an unexpired record') plus the returned payload ('provenance and its explicit verification level'). The 'unexpired' qualifier meaningfully narrows scope beyond the bare tool name, though it never distinguishes itself from any of the 24 sibling get_*/list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the sibling retrieval tools (get_evidence, catalog, etc.), nor any prerequisite or exclusion. Usage is only implied by the required id parameter. The closing caveat is about interpreting results, not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_economic_indicatorsARead-onlyIdempotentInspect
BLS US monthly consumer_price_index (CPI-U NSA, 1982-84=100), unemployment (SA percent civilian labor force 16+), nonfarm_employment (SA thousands of payroll jobs). Default last 12 monthly periods; limit 1-120 or exact period YYYY-MM, mutually exclusive. Retains source decimals, missing values, preliminary/revision footnotes and evidence. Not real-time, a percent inflation rate or monthly job creation; not independently verified.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Latest monthly periods, default 12; omit when period is supplied. | |
| period | No | Exact source month YYYY-MM, for example 2025-06; cannot be combined with limit. | |
| indicator | Yes | BLS monthly series key; use list_us_economic_indicators to check availability and units. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| notice | No | |
| status | Yes | Read this before using values; a successful transport does not establish data availability. |
| returned | Yes | Domain-specific result count, not necessarily the number of stored records in items. |
| directory | No | |
| available_period | No | |
| independently_verified | No | Official-source checks are not independent factual corroboration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description layers on substantive data-quality behavior: it retains source decimals, missing values, and preliminary/revision footnotes, and it is explicitly not real-time and not independently verified. That staleness and revision-caveat disclosure is exactly the context an agent needs before citing these numbers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and series definitions, then defaults, then caveats; the final 'Not real-time, ... not independently verified' clause is slightly compressed and reads as a dash-list. Dense but nearly every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value explanation is unnecessary, and the description still supplies the defaults, the limit/period interaction, series semantics, and revision/staleness caveats. Nothing material is missing for correct invocation or interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the enum keys alone do not carry: what each indicator actually measures, its units and index base, plus the default and mutual-exclusivity of limit/period. This is genuine semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (US monthly BLS indicators) and enumerates the three exact series with their units and seasonal-adjustment basis (CPI-U NSA 1982-84=100, unemployment SA percent, nonfarm_employment SA thousands). An agent can distinguish this from list_us_economic_indicators and get_economic_indicators without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the default (last 12 monthly periods) and the mutually-exclusive selection modes (limit 1-120 vs exact period YYYY-MM), plus negative scoping: 'Not real-time, a percent inflation rate or monthly job creation.' It does not name a sibling alternative for availability checks in the description text (that cue lives in the schema), so it stops just short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_countriesARead-onlyIdempotentInspect
List economies and territories available for annual indicators. Aggregated regions are excluded. Coverage and missing values vary by indicator.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| scope | Yes | |
| countries | Yes | |
| retrieved_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world). The description adds genuinely non-obvious behavioral context: aggregated regions are excluded, and coverage/missing values vary by indicator, which warns the agent the list is not uniformly complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no redundancy: scope, exclusion rule, and data-quality caveat in order of importance. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers scope, exclusion of aggregates, and varying coverage. Slightly more detail on the identifier format (ISO codes vs. names) would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. No parameter-related claims are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (List) and resource (economies and territories), scoped to those available for annual indicators. It doesn't explicitly name a sibling to differentiate from, but the 'annual indicators' qualifier ties it to the indicator tools and away from holiday/weather region lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — an agent infers this enumerates valid country/territory values before calling indicator tools — but there is no explicit when-to-use statement, no exclusions, and no named alternatives such as list_holiday_regions or list_weather_locations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_economic_indicatorsBRead-onlyIdempotentInspect
Eurostat EU/EFTA country codes and monthly/quarterly economic series since 2020. Includes latest published periods, source definitions, units and collection status. Country codes differ from World Bank; Greece is EL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| period | Yes | |
| source | Yes | |
| endpoint | Yes | |
| countries | Yes | |
| collection | Yes | |
| indicators | Yes | |
| country_code_system | Yes | |
| independently_verified | Yes | Official-source checks are not independent factual corroboration. |
| refresh_interval_seconds | Yes | |
| max_collection_age_seconds | Yes | |
| configured_country_allowlist | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description usefully adds content-level behavior (latest published periods, source definitions, units, collection status, 2020 start), which is genuine context beyond the annotations, though it omits ordering, pagination and update cadence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the scope front-loaded in the first and a practical caveat last; no filler. Slightly compressed but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. However, for a no-param catalog tool the description should state its role relative to the get_* siblings and any ordering/update behavior; that routing information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The note that 'Country codes differ from World Bank; Greece is EL' adds real semantic value for downstream calls that must supply codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the source (Eurostat), scope (EU/EFTA), frequency (monthly/quarterly) and coverage window (since 2020), but never states plainly that this is a catalog/list of available series and country codes, leaving the 'list' verb under-specified. It also does not distinguish itself from close siblings like get_economic_indicators, get_indicators, or list_historical_indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. With siblings such as get_economic_indicators, get_indicators and list_historical_indicators, the agent has no signal for choosing this listing tool over the data-fetching ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_historical_indicatorsARead-onlyIdempotentInspect
List twenty-two annual World Bank historical series, units, definitions via records, and latest collection status. Coverage starts in 1960 with missing years preserved. Not real-time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| period | Yes | |
| refresh | Yes | |
| coverage | Yes | |
| independently_verified | Yes | Official-source checks are not independent factual corroboration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower; the description still adds meaningful context the annotations cannot: exactly 22 series, coverage beginning 1960, missing years preserved rather than interpolated, and staleness ('Not real-time'). That is real behavioral disclosure beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the verb and scope front-loaded and no filler. The middle clause ('units, definitions via records') is slightly compressed and reads awkwardly, costing a point against perfect clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value shape need not be explained, and the description covers data scope, temporal coverage, gap handling, and freshness. The only gap is the lack of routing guidance relative to get_historical_indicators.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to document and no risk of under-specification. Nothing in the text misleads about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It pairs a specific verb ('List') with a specific resource ('twenty-two annual World Bank historical series') and enumerates what the listing contains (units, definitions, collection status). It stops short of explicitly distinguishing itself from the sibling get_historical_indicators, which is the main ambiguity an agent faces here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Not real-time' and 'coverage starts in 1960' imply when this catalog-style tool is appropriate versus a live-data retrieval, but no alternative tool is named and there is no explicit when/when-not guidance. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_interest_rate_seriesARead-onlyIdempotentInspect
Discover scoped official policy rates: provider=boe for UK Bank Rate daily since 1975 (historical regimes and notes preserved); fed for eight US series with distinct starts since 1982 (pre-1994 target reconstructed); ecb for three current instruments and historical minimum-bid refinancing since 1999, sparse dates of changes; boc default for two Canadian daily series since 2010. Original bank data free. Inspect coverage, units, freshness and source notes. Not independently verified.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Central bank: boc Canada (default), ecb euro area, fed United States, or boe United Kingdom. The returned directory supplies compatible series identifiers. | boc |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| notice | Yes | |
| status | Yes | |
| country | Yes | |
| citation | Yes | |
| coverage | Yes | |
| endpoint | Yes | |
| provider | No | |
| freshness | Yes | |
| providers | No | |
| configured_series | Yes | |
| independently_verified | Yes | Official-source checks are not independent factual corroboration. |
| refresh_interval_seconds | Yes | |
| max_collection_age_seconds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds valuable provenance context beyond that: 'Original bank data free' and 'Not independently verified' are data-quality caveats an agent cannot get from annotations, plus temporal coverage and change-frequency characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, and every clause carries provider-specific facts. The semicolon-chained run-on is dense and slightly harder to scan than a bulleted form, but there is little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description still covers coverage, units, freshness, source notes and a verification disclaimer. It is complete for a single-enum directory tool, with only the sibling-routing guidance being thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum is already documented, so baseline is 3. The description goes further by mapping each provider value to concrete content and time spans (fed's pre-1994 target reconstruction, ecb's sparse dates of changes), adding real meaning beyond the enum names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Discover') and resource ('official policy rates' as a series directory), and enumerates exactly what each provider returns (boe UK Bank Rate since 1975, fed eight US series, ecb three instruments, boc two Canadian series). This clearly separates it from data-fetching siblings like get_interest_rates. It stops short of explicitly naming that sibling, so differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Inspect coverage, units, freshness and source notes' hints at the discovery-first workflow, and the schema notes the returned directory supplies compatible series identifiers. However, there is no explicit 'call this before get_interest_rates' instruction or when-not-to-use guidance, so the agent must infer the catalog role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_us_economic_indicatorsARead-onlyIdempotentInspect
Discover three official BLS US monthly series, original units, seasonal adjustment, latest periods and freshness. Rolling ten calendar years, not a full archive. CPI is an index, payroll employment counts jobs in thousands. Read source notes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | Yes | |
| source | Yes | |
| country | Yes | |
| endpoint | Yes | |
| indicators | Yes | |
| requested_window | Yes | |
| independently_verified | Yes | Official-source checks are not independent factual corroboration. |
| refresh_interval_seconds | Yes | |
| max_collection_age_seconds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile needs no restatement. The description earns credit for behavioral context annotations can't carry: the three-series scope, the original-units/seasonal-adjustment framing, that CPI is an index while payroll counts jobs in thousands, and that ten years is a hard window rather than a full archive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, scope and units front-loaded, no filler. The trailing 'Read source notes.' is terse and only marginally useful, keeping it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A simple no-arg list tool with an output schema, so return shape needn't be re-explained. The description covers resource, units, time window and caveats, which is close to complete; the only gap is not identifying its sibling alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema, 100% coverage), so the baseline of 4 applies. There is nothing for the description to clarify on the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Discover') and a precise resource ('three official BLS US monthly series'), plus what each carries (original units, seasonal adjustment, periods, freshness). It does not, however, differentiate itself from the many list/get economic-indicator siblings, so an agent still has to infer why this exists alongside list_economic_indicators or get_us_economic_indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It bounds scope ('rolling ten calendar years, not a full archive') and points at source notes, which hints at expectations, but names no alternative tool and gives no explicit when-to-use vs when-not condition. The selection between this and its sibling indicator tools is entirely left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
catalog3 fields changed- added
Input schema / properties / language / descriptionAdded value: +"Response metadata language, English by default or French; original source definitions and notes remain preserved." - added
Input schema / properties / report_from / descriptionAdded value: +"Inclusive first observation year for a custom country preview. Supply with report_to and report_indicators; at most ten years, from 1960 onward." - added
Input schema / properties / report_to / descriptionAdded value: +"Inclusive last observation year, no later than the last completed calendar year. Supply with report_from and report_indicators; missing observations block purchase."
- Changed
get_interest_rates4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Exact published source date YYYY-MM-DD. Mutually exclusive with year; no carry-forward or inferred rate for a missing date." - added
Input schema / properties / provider / descriptionAdded value: +"Central bank: boc Canada (default), ecb euro area, fed United States, or boe United Kingdom. Select a series from this provider." - added
Input schema / properties / series / descriptionAdded value: +"Provider-specific policy series from list_interest_rate_series. For example boe/bank_rate or ecb/deposit_facility; incompatible provider/series pairs are rejected." - added
Input schema / properties / year / descriptionAdded value: +"One source calendar year, within this provider and series coverage and no later than the current year. Mutually exclusive with date; omit both for the latest numeric observation."
- Changed
list_interest_rate_series1 field changed- added
Input schema / properties / provider / descriptionAdded value: +"Central bank: boc Canada (default), ecb euro area, fed United States, or boe United Kingdom. The returned directory supplies compatible series identifiers."
3 tool updates
- Changed
get_historical_indicators1 field changed- added
Input schema / properties / formatAdded value: +{ + "default": "json", + "description": "CSV content with null flags, original values, source notes and provenance, alongside JSON. No missing-date filling.", + "enum": [ + "json", + "csv" + ], + "type": "string" +}
- Changed
get_interest_rates4 fields changed- added
Input schema / properties / formatAdded value: +{ + "default": "json", + "description": "CSV includes selected observations, original decimals, null flags, definitions and provenance. MCP returns CSV content alongside JSON; source-date gaps keep JSON only.", + "enum": [ + "json", + "csv" + ], + "type": "string" +} - changed
Input schema / properties / provider / enumPrevious value: -[ - "boc", - "ecb", - "fed" -]New value: +[ + "boc", + "ecb", + "fed", + "boe" +] - changed
Input schema / properties / year / maximumPrevious value: -2026New value: +9007199254740991 - changed
Input schema / properties / year / minimumPrevious value: -1982New value: +1975
- Changed
list_interest_rate_series2 fields changed- changed
Input schema / properties / provider / enumPrevious value: -[ - "boc", - "ecb", - "fed" -]New value: +[ + "boc", + "ecb", + "fed", + "boe" +] - changed
Output schema / properties / provider / enumPrevious value: -[ - "boc", - "ecb", - "fed" -]New value: +[ + "boc", + "ecb", + "fed", + "boe" +]
2 tool updates
- Changed
get_interest_rates3 fields changed- changed
Input schema / properties / provider / enumPrevious value: -[ - "boc", - "ecb" -]New value: +[ + "boc", + "ecb", + "fed" +] - changed
Input schema / properties / series / enumPrevious value: -[ - "overnight_target", - "bank_rate", - "deposit_facility", - "main_refinancing", - "main_refinancing_minimum_bid", - "marginal_lending" -]New value: +[ + "overnight_target", + "bank_rate", + "deposit_facility", + "main_refinancing", + "main_refinancing_minimum_bid", + "marginal_lending", + "federal_funds_target", + "federal_funds_lower", + "federal_funds_upper", + "reserve_balances", + "excess_reserves", + "required_reserves", + "primary_credit", + "overnight_reverse_repo" +] - changed
Input schema / properties / year / minimumPrevious value: -1999New value: +1982
- Changed
list_interest_rate_series2 fields changed- changed
Input schema / properties / provider / enumPrevious value: -[ - "boc", - "ecb" -]New value: +[ + "boc", + "ecb", + "fed" +] - changed
Output schema / properties / provider / enumPrevious value: -[ - "boc", - "ecb" -]New value: +[ + "boc", + "ecb", + "fed" +]
3 tool updates
- Changed
catalog3 fields changed- added
Input schema / properties / report_fromAdded value: +{ + "maximum": 9007199254740991, + "minimum": 1960, + "type": "integer" +} - added
Input schema / properties / report_indicatorsAdded value: +{ + "description": "Custom historical comparison: select up to six of the 22 WDI indicators. Supply report_from and report_to together, up to ten years. Missing cells block payment.", + "items": { + "enum": [ + "population", + "gdp", + "gdp_per_capita", + "gdp_real", + "gdp_growth", + "inflation", + "life_expectancy", + "fertility", + "urban_population", + "internet_users", + "electricity_access", + "unemployment", + "renewable_energy", + "forest_area", + "agricultural_land", + "trade", + "exports", + "imports", + "infant_mortality", + "basic_drinking_water", + "basic_sanitation", + "primary_completion" + ], + "type": "string" + }, + "maxItems": 6, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / report_toAdded value: +{ + "maximum": 2025, + "minimum": -9007199254740991, + "type": "integer" +}
- Changed
get_interest_rates6 fields changed- removed
Input schema / properties / date / descriptionRemoved value: -"Exact source date YYYY-MM-DD; no carry-forward for missing dates. Cannot be combined with year." - added
Input schema / properties / providerAdded value: +{ + "default": "boc", + "enum": [ + "boc", + "ecb" + ], + "type": "string" +} - removed
Input schema / properties / series / descriptionRemoved value: -"Canadian policy series: overnight_target or bank_rate. Both are percentages, not retail rates." - changed
Input schema / properties / series / enumPrevious value: -[ - "overnight_target", - "bank_rate" -]New value: +[ + "overnight_target", + "bank_rate", + "deposit_facility", + "main_refinancing", + "main_refinancing_minimum_bid", + "marginal_lending" +] - removed
Input schema / properties / year / descriptionRemoved value: -"Source calendar year since 2010; omit for latest observation. Cannot be combined with date." - changed
Input schema / properties / year / minimumPrevious value: -2010New value: +1999
- Changed
list_interest_rate_series4 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / providerAdded value: +{ + "default": "boc", + "enum": [ + "boc", + "ecb" + ], + "type": "string" +} - added
Output schema / properties / providerAdded value: +{ + "enum": [ + "boc", + "ecb" + ], + "type": "string" +} - added
Output schema / properties / providersAdded value: +{ + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +}
1 tool update
- Changed
catalog3 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / languageAdded value: +{ + "default": "en", + "enum": [ + "en", + "fr" + ], + "type": "string" +} - added
Input schema / properties / report_countriesAdded value: +{ + "description": "Optional free preview for these distinct World Bank country codes, e.g. FRA, DEU, ESP. General/economy connections only.", + "items": { + "pattern": "^[A-Z0-9]{3}$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +}
13 tool updates
- Changed
catalog1 field changed- changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_economic_indicators2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_evidence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_historical_indicators2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_indicators2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_interest_rates2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_record2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_us_economic_indicators2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_countries1 field changed- changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_economic_indicators1 field changed- changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_historical_indicators1 field changed- changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_interest_rate_series1 field changed- changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_us_economic_indicators1 field changed- changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
6 tool updates
- Changed
get_economic_indicators1 field changed- changed
Output schema / properties / record / properties / provenance / properties / verification_level / enumPrevious value: -[ - "official_source_and_schema_checked", - "method_specific" -]New value: +[ + "official_source_and_schema_checked", + "public_aggregator_and_schema_checked", + "method_specific" +]
- Changed
get_historical_indicators1 field changed- changed
Output schema / properties / items / items / properties / provenance / properties / verification_level / enumPrevious value: -[ - "official_source_and_schema_checked", - "method_specific" -]New value: +[ + "official_source_and_schema_checked", + "public_aggregator_and_schema_checked", + "method_specific" +]
- Changed
get_indicators1 field changed- changed
Output schema / properties / items / items / properties / provenance / properties / verification_level / enumPrevious value: -[ - "official_source_and_schema_checked", - "method_specific" -]New value: +[ + "official_source_and_schema_checked", + "public_aggregator_and_schema_checked", + "method_specific" +]
- Changed
get_interest_rates1 field changed- changed
Output schema / properties / items / items / properties / provenance / properties / verification_level / enumPrevious value: -[ - "official_source_and_schema_checked", - "method_specific" -]New value: +[ + "official_source_and_schema_checked", + "public_aggregator_and_schema_checked", + "method_specific" +]
- Changed
get_record1 field changed- changed
Output schema / properties / provenance / properties / verification_level / enumPrevious value: -[ - "official_source_and_schema_checked", - "method_specific" -]New value: +[ + "official_source_and_schema_checked", + "public_aggregator_and_schema_checked", + "method_specific" +]
- Changed
get_us_economic_indicators1 field changed- changed
Output schema / properties / items / items / properties / provenance / properties / verification_level / enumPrevious value: -[ - "official_source_and_schema_checked", - "method_specific" -]New value: +[ + "official_source_and_schema_checked", + "public_aggregator_and_schema_checked", + "method_specific" +]
13 tool updates
- First observed
catalog - First observed
get_economic_indicators - First observed
get_evidence - First observed
get_historical_indicators - First observed
get_indicators - First observed
get_interest_rates - First observed
get_record - First observed
get_us_economic_indicators - First observed
list_countries - First observed
list_economic_indicators - First observed
list_historical_indicators - First observed
list_interest_rate_series - First observed
list_us_economic_indicators
Related MCP Connectors
Official economic statistics for AI agents: GDP, inflation, trade and debt for 150+ countries.
Macroeconomic and other official data from 170+ publishers, resolved from natural language with provenance.
490+ economic & demographic indicators for 218 countries from IMF, World Bank, UN, FRED.
Official World Bank macro indicators (GDP, inflation...) by country. $0.005/call via x402.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query cross-country macroeconomic and financial statistics, including GDP, inflation, fiscal balance, debt, exchange rates, trade, and balance-of-payments data for comparison and time-series analysis.11 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to access official statistical and economic indicator datasets from Eurostat, World Bank, OECD, IMF, WHO, and national statistical offices across 150+ countries through natural-language dataset discovery, inspection, time-series retrieval, SQL queries, CSV export, and account/watchlist management.MIT
- AlicenseAqualityAmaintenanceOfficial economic statistics with full citations — World Bank, IMF WEO, ECB — plus verify_stat to check a claimed figure against the official series. Free, remote, no auth.121MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to discover, retrieve, and compare official international development indicators from sources such as the World Bank, FAOSTAT, WHO, UNICEF, and IMF, while preserving source identifiers, units, and citations.102MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.