Skip to main content
Glama

Fetch Dataset

fetch_dataset
Read-onlyIdempotent

Fetch tidy rows from any OECD dataflow. flow_ref examples: "OECD.SDD.NAD,DSD_NAMAIN1@DF_QNA_EXPENDITURE_GROWTH_OECD,1.1". The key string is a dot-separated dimension filter, one position per dimension (e.g., "Q..USA.........." for that flow) — leave empty to fetch everything). Use start/end periods like "2020-Q1" or "2020". Returns labeled rows; OECD enforces a result-size limit and may truncate broad queries — narrow with key dimensions or shorter time ranges.

Input Schema

NameRequiredDescriptionDefault
keyNoDot-separated dimension key (or empty for all)
limitNoCap rows returned (default 5000)
flow_refYesSDMX dataflow reference
end_periodNoInclusive end period
start_periodNoe.g., "2020", "2020-Q1", "2020-01"

Output Schema

NameRequiredDescriptionDefault
rowsYesData rows with column names as keys
countYesNumber of data rows returned
columnsYesCSV column headers
flow_refYesThe requested SDMX dataflow reference
truncatedYesTrue if result was limited by row cap
source_urlYesURL to OECD data explorer for this flow

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "end_period": "2023-Q4",
      -    "flow_ref": "OECD.SDD.NAD,DSD_NAMAIN1@DF_QNA_EXPENDITURE_GROWTH,1.0",
      -    "key": "USA.....Q",
      -    "start_period": "2020-Q1"
      -  },
      -  {
      -    "end_period": "2024",
      -    "flow_ref": "OECD.ELS,DSD_LFS@DF_ALFS_POPULATION,1.0",
      -    "key": "",
      -    "start_period": "2022"
      -  }
      -]New value: +[
      +  {
      +    "end_period": "2024-Q4",
      +    "flow_ref": "OECD.SDD.NAD,DSD_NAMAIN1@DF_QNA_EXPENDITURE_GROWTH_OECD,1.1",
      +    "key": "Q..USA..........",
      +    "start_period": "2023-Q1"
      +  },
      +  {
      +    "end_period": "2026",
      +    "flow_ref": "OECD.ECO.MAD,DSD_EO@DF_EO,1.5",
      +    "key": "USA.GDPV_ANNPCT.A",
      +    "start_period": "2024"
      +  }
      +]
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "end_period": "2023-Q4",
      +    "flow_ref": "OECD.SDD.NAD,DSD_NAMAIN1@DF_QNA_EXPENDITURE_GROWTH,1.0",
      +    "key": "USA.....Q",
      +    "start_period": "2020-Q1"
      +  },
      +  {
      +    "end_period": "2024",
      +    "flow_ref": "OECD.ELS,DSD_LFS@DF_ALFS_POPULATION,1.0",
      +    "key": "",
      +    "start_period": "2022"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "columns": {
      +      "description": "CSV column headers",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "count": {
      +      "description": "Number of data rows returned",
      +      "type": "number"
      +    },
      +    "flow_ref": {
      +      "description": "The requested SDMX dataflow reference",
      +      "type": "string"
      +    },
      +    "rows": {
      +      "description": "Data rows with column names as keys",
      +      "items": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "source_url": {
      +      "description": "URL to OECD data explorer for this flow",
      +      "type": "string"
      +    },
      +    "truncated": {
      +      "description": "True if result was limited by row cap",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "flow_ref",
      +    "source_url",
      +    "columns",
      +    "truncated",
      +    "count",
      +    "rows"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered; the description usefully adds behavior beyond that: results are labeled rows, OECD enforces a result-size limit, and broad queries may be silently truncated. That truncation warning is the kind of operational caveat structured fields cannot express. It doesn't quantify the limit or say what truncation looks like in the response, leaving a small gap.

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?

Three dense sentences that front-load the action, then the two error-prone inputs (flow_ref, key), then the truncation caveat — no filler. Minor defect: a stray unbalanced parenthesis at the end of the key explanation slightly muddies an otherwise tight sentence.

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 annotations covering safety and an output schema covering return shape, the description needs only to cover inputs and limits, which it largely does. The remaining gap is concrete guidance on the result-size limit (the limit parameter has a default of 5000 but the description never connects the truncation warning to it).

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

Parameters5/5

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

Schema coverage is 100%, so baseline is 3, but the description adds genuine meaning: it shows the exact composite flow_ref syntax, explains that key is positional with one dot-separated slot per dimension and gives a worked example, and specifies accepted period formats ('2020-Q1', '2020'). That goes well past the schema's terse 'Dot-separated dimension key' and 'Inclusive end period'.

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 opens with a specific verb and resource ('Fetch tidy rows from any OECD dataflow') and immediately scopes it with a concrete flow_ref example, so an agent knows exactly what kind of payload comes back. It is clearly distinct from sibling entry-point tools such as search_dataflows or list_curated_flows, which discover flows rather than return their rows.

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?

It explains the operative choice — 'leave empty to fetch everything' versus narrowing with key dimensions or shorter time ranges — and warns when a query is too broad. It stops short of pointing the agent at search_dataflows to obtain a flow_ref in the first place, but the usage context is otherwise clear with no misleading exclusions.

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.