idescat-mcp
# idescat-mcp
MCP server for the [IDESCAT Tables API v2](https://api.idescat.cat/taules/v2) — the Statistical Institute of Catalonia.
## Tools
| Tool | Purpose |
|------|---------|
| `idescat_list_catalog` | Navigate catalogue: statistics → nodes → tables |
| `idescat_get_territorial_options` | List available geo divisions for a table |
| `idescat_get_table_metadata` | Inspect dimensions and valid filter values |
| `idescat_query_data` | Fetch data as flattened rows with resolved labels |
| `idescat_check_historical_relations` | Discover historical and related tables |
## Typical workflow
1. `idescat_list_catalog` — find the statistics and node
2. `idescat_get_territorial_options` — pick a geo division
3. `idescat_get_table_metadata` — understand dimensions and valid filter values
4. `idescat_query_data` — fetch filtered data
## Installation
```bash
npm install
```
## Claude Desktop integration
Add to `~/.config/claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"idescat": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/idescat-mcp/src/index.ts"]
}
}
}
```
## Requirements
- Node.js 18+
TDQS
Scored across 5 tools
Each tool has a distinct purpose: catalog navigation, metadata retrieval, territorial options, historical relations, and data querying. The descriptions clearly differentiate their roles and usage order.
All tools follow the consistent pattern 'idescat_verb_noun' using snake_case, with verbs like 'list', 'get', 'query', and 'check' clearly indicating the action.
Five tools is well-scoped for a statistical data server, covering catalog browsing, metadata, data retrieval, territorial filtering, and historical exploration without excess or deficiency.
The tool set covers core workflows (navigate, get metadata, query data, explore related tables) with a minor gap for direct dimension filtering beyond territory, but the metadata tool provides necessary information for query construction.