Skip to main content
Glama

Official Datasets

official_datasets
Read-only

One reader for the official datasets outside the headline indicators. family picks the set: financial_prices (government yield curves, securities, overnight benchmarks; by currency), native_history (gold ownership and custody, Treasury auctions, cash and debt, TIC positions, EIA energy; by source and year), official_dataset (balance of payments, international investment position, capital flows, central-bank liquidity, FX intervention, auctions, external debt, credit conditions, wage settlements; by dataset and currency) and company_results (company trading updates as macro evidence; by country). Omit the selector to list what a family holds. Requires an API key. Access: USD keyless; others: subscription_required with a subscribe link.

Input Schema

NameRequiredDescriptionDefault
yearNonative_history only: the year to read.
limitNoRows per page (1-100).
familyYesWhich dataset family to read.
offsetNoZero-based row offset, e.g. 0 for the first page.
sourceNofinancial_prices or native_history: the source id. Omit on native_history to list sources.
countryNocompany_results only: two-letter ISO country code. Omit to list countries.
datasetNoofficial_dataset only: the dataset slug, for example bop or cb_liquidity.
filtersNoFamily-specific filters. financial_prices: measure, instrument_id, issuer. native_history: measure, holder_country_code, ownership_basis, maturity, account_type, order, region, product. official_dataset: component (bop only). company_results: industry, company, measure, order.
currencyNo3-letter currency code for financial_prices and official_dataset.
end_dateNoInclusive upper bound, YYYY-MM-DD.
start_dateNoInclusive lower bound, YYYY-MM-DD.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changed
    • removedInput schema / properties / country / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / country / default
      Removed value: -null
    • addedInput schema / properties / country / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / currency / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / currency / default
      Removed value: -null
    • changedInput schema / properties / currency / examples
      Previous value: -[
      -  "usd",
      -  "eur",
      -  "gbp",
      -  "jpy"
      -]New value: +[
      +  "usd",
      +  "eur"
      +]
    • addedInput schema / properties / currency / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / dataset / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / dataset / default
      Removed value: -null
    • addedInput schema / properties / dataset / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / end_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / end_date / default
      Removed value: -null
    • changedInput schema / properties / end_date / examples
      Previous value: -[
      -  "2020-01-01",
      -  "2024-06-30"
      -]New value: +[
      +  "2024-06-30"
      +]
    • addedInput schema / properties / end_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / filters / default
      Removed value: -null
    • removedInput schema / properties / limit / default
      Removed value: -null
    • removedInput schema / properties / offset / default
      Removed value: -null
    • changedInput schema / properties / offset / description
      Previous value: -"Row offset."New value: +"Zero-based row offset, e.g. 0 for the first page."
    • removedInput schema / properties / source / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / source / default
      Removed value: -null
    • addedInput schema / properties / source / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / start_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / start_date / default
      Removed value: -null
    • changedInput schema / properties / start_date / examples
      Previous value: -[
      -  "2020-01-01",
      -  "2024-06-30"
      -]New value: +[
      +  "2024-06-30"
      +]
    • addedInput schema / properties / start_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / year / default
      Removed value: -null
    • removedInput schema / title
      Removed value: -"official_datasetsArguments"
  2. Added

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful access context that annotations cannot carry: API-key requirement, USD keyless vs. subscription_required for other currencies, and a subscribe link. It says nothing about result volume, pagination defaults, or what a listing response looks like.

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?

Front-loaded with the core purpose, then a dense but necessary enumeration of the four families, then access constraints last. The single vaguer sentence ('Omit the selector to list what a family holds') is the only real ambiguity in an otherwise tight paragraph.

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?

With 11 parameters, an output schema, and full annotations, the description covers the family taxonomy, listing behavior, currency scoping, and auth tiers – enough for an agent to call it correctly. Minor gaps remain around pagination defaults and the family-specific filters object, though the output schema and param descriptions absorb most of that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description earns extra credit by explaining what each family enum value actually contains, which the enum labels alone do not convey. It also clarifies currency scoping ('for financial_prices and official_dataset') beyond the schema wording, though it does not touch pagination or date-bound behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read/list) and resource (official datasets), then enumerates all four families and the concrete data each contains (yield curves, TIC positions, balance of payments, trading updates). It contrasts itself with 'headline indicators' (the indicator_query sibling) but never names an actual sibling tool, so differentiation is implied rather than explicit.

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

Usage Guidelines3/5

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

Gives one useful usage rule – 'Omit the selector to list what a family holds' – which tells the agent to probe before reading. However, 'the selector' is ambiguous (it reads as if family could be omitted, contradicting the required family param), and there is no explicit guidance on when to choose this over indicator_query, rate_curve, or release_calendar.

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.