# oecd-mcp-server [Health: Active]

**Category:** 🧮 Data Science Tools  
**Repository:** https://github.com/cyanheads/oecd-mcp-server  
**GitHub Stars:** 2  
**npm Downloads (last month):** 561  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/oecd-mcp-server

## Description
Search and query 1,500+ OECD statistical datasets via SDMX. Keyless.

## Tools
Capabilities this server exposes over MCP:

- **oecd_list_agencies** — List OECD SDMX agencies with their directorate and the number of dataflows each publishes
- **oecd_search_datasets** — Search 1,500+ OECD dataflows by keyword or theme
- **oecd_get_dataset_info** — Fetch a dataflow's dimensions, key order, and codelist references
- **oecd_get_dimension_values** — Fetch valid codes and labels for one dimension (countries, measures, frequencies)
- **oecd_query_dataset** — Fetch observations filtered by dimension key and time range; spills large results to DataCanvas
- **oecd_dataframe_describe** — List DataCanvas tables and columns staged by a prior `oecd_query_dataset` spill
- **oecd_dataframe_query** — Run a read-only SQL SELECT against DataCanvas tables
- **oecd_dataframe_drop** — Drop a staged DataCanvas table or view once the analysis is done — opt-in via `OECD_DATAFRAME_DROP_ENABLED=true

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `bunx` (confidence: high):

```json
"mcpServers": {
  "oecd-mcp-server": {
    "command": "bunx",
    "args": ["@cyanheads/oecd-mcp-server@latest"]
  }
}
```

## Documentation

## What oecd-mcp-server does

OECD statistical data becomes available through MCP tools for dataset discovery, metadata inspection, dimension lookup, observation retrieval, and follow-up analysis. The catalog covers more than 1,500 dataflows spanning areas such as national accounts, employment, inflation, trade, education, health, environment, taxation, and inequality.

The server uses the OECD SDMX 2.1 REST API and does not require an API key. Search results include a `flow_ref`, which can be passed directly to the metadata, dimension-value, and query tools. A matching MCP resource, `oecd://dataflow/{agency_id}/{flow_id}`, exposes the same dataflow metadata as the dataset-info tool.

## How it works

A typical workflow starts with `oecd_list_agencies` or `oecd_search_datasets`. Agency listing returns publisher identifiers, directorates where applicable, and dataflow counts. Dataset search supports keyword or theme matching, optional agency filtering, and pagination.

After selecting a flow, `oecd_get_dataset_info` returns its dimensions in key order, concept names, codelist references, and an example query key. `oecd_get_dimension_values` then provides valid codes and labels for a selected dimension, such as geography, measure, or frequency.

`oecd_query_dataset` accepts the flow reference, a dot-delimited SDMX key, and optional start and end periods. Multiple values use `+`, while empty key segments act as wildcards. Returned observations are flattened into rows with dimensions and attributes as columns. Values are adjusted using the dataset's `value_scale`.

Large result sets are materialized in a DuckDB DataCanvas. The response identifies the canvas and table, allowing an agent to inspect the schema with `oecd_dataframe_describe` and issue a read-only SQL `SELECT` through `oecd_dataframe_query`.

## Setup and configuration

A hosted Streamable HTTP instance is available at `https://oecd.caseyjhand.com/mcp`, so clients can connect without installing the package. Claude Code can register it with:

```sh
claude mcp add --transport http oecd-mcp-server https://oecd.caseyjhand.com/mcp
```

The repository also provides installation links for Claude Desktop, Cursor, and VS Code. The package supports both STDIO and Streamable HTTP transports when run as a local server. OECD access is keyless. DuckDB DataCanvas support requires `CANVAS_PROVIDER_TYPE=duckdb`; the dataframe tools depend on that provider.

## Tools and capabilities

- `oecd_list_agencies`: Enumerates agencies, directorates, and published dataflow counts.
- `oecd_search_datasets`: Finds dataflows by matching names and descriptions, with agency scoping and paging.
- `oecd_get_dataset_info`: Resolves dimensions, key order, codelists, and a usable key example.
- `oecd_get_dimension_values`: Searches or pages through valid codes and labels for a dimension.
- `oecd_query_dataset`: Retrieves observations for selected dimensions and periods.
- `oecd_dataframe_describe`: Reports staged DataCanvas tables, row counts, columns, and types.
- `oecd_dataframe_query`: Runs one read-only SQL `SELECT` against staged tables.
- `oecd_dataframe_drop`: Removes a staged table or view when explicitly enabled with `OECD_DATAFRAME_DROP_ENABLED=true`.

The server resolves delegated dataflows and follows the structure links used by the OECD catalog. It also decodes SDMX data into flat, labeled rows rather than exposing raw index arrays.

## Limitations and notes

Results that fit inline remain in structured tool output; larger responses are redirected to DataCanvas and signal this with `truncated: true`. SQL output is capped at the canvas row limit, while the response reports the full row count. Dataframe queries reject writes, DDL, and system-catalog access.

The drop tool is listed but unavailable unless explicitly enabled. Some agencies in the catalog, including external publishers such as ESTAT and IAEG-SDGs, do not have an OECD directorate. Data availability and labels follow the OECD dataflow and codelist definitions.

_Full upstream README: https://allmcps.com/mcp/oecd-mcp-server/readme_

