io.github.xaviviro/opendata-cat MCP Server
io.github.xaviviro/opendata-cat
Connect your AI to 15 Catalan open data portals + radio archive with real-time queries.
What is the io.github.xaviviro/opendata-cat MCP server?
The Opendata.cat MCP Server connects Claude and other LLMs to 3,073+ public datasets across 15 Catalan data portals (Generalitat, Barcelona, Idescat, FGC, Renfe) plus Spanish national sources (INE, REE, CNMC, SEPE). It enables direct queries to real data on government, statistics, transport, electricity, fuel prices, and radio archives.
This server bridges AI assistants to Catalonia's open data ecosystem. Search across 15 portals, retrieve dataset metadata, execute live queries with filters, and access real-time data on population, air quality, train delays, electricity prices, fuel costs, municipal budgets, and radio archives—all without storing or proxying data. Ideal for research, journalism, policy analysis, and transparency investigations.
How to install io.github.xaviviro/opendata-cat
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
search_datasets— Search datasets by free text across 3,073+ datasets; optionally filter by portal, category, and limit results.get_dataset_info— Retrieve complete metadata for a dataset: fields, types, license, and API endpoint.list_dataset_fields— List all fields in a dataset with name, type, and description.query_dataset— Execute live queries against the source portal with optional filters, search terms, limit, and offset.list_portals— List all 15 available portals with dataset counts and statistics.list_categories— List available categories and themes with dataset counters.related_datasets— Return related datasets from other portals.search_radioteca— Search radioteca.cat catalog (~485K episodes, programs, and people from Catalan radio stations) with filters by publisher, year, and type.
Use cases
- Monitor real-time train delays and positions on FGC and Renfe Rodalies using GTFS-RT data.
- Analyze air quality, water reservoir levels, and environmental data across Catalan municipalities.
- Track electricity generation mix, demand, and real-time PVPC prices from Red Eléctrica.
- Research public procurement contracts and municipal budgets across Barcelona, Reus, and other councils.
- Query population statistics, unemployment rates, and tourism data auto-filtered to Catalonia from INE.
io.github.xaviviro/opendata-cat MCP server FAQ
It's an MCP server that connects AI assistants to 15 Catalan open data portals and Spanish national sources, enabling real-time queries across 3,073+ datasets on government, statistics, transport, energy, and radio archives.
Yes. The server is open-source (MIT license) and the underlying data portals are public. No API key or authentication is required.
Add to your claude_desktop_config.json: {"opendata-cat": {"command": "npx", "args": ["-y", "@opendata.cat/mcp-server"]}}
Yes. Add to .vscode/mcp.json with the same npx command, or use the remote HTTP endpoint https://opendata.cat/api/mcp without installation.
No. All data sources are public and require no API keys. The server queries official portals directly.
15 portals: Generalitat, Barcelona, Idescat, Diba, AOC, Reus, Girona, FGC, Renfe, plus INE, REE, SEPE, and CNMC for national data filtered to Catalonia.
README (reference)
Source of truth, from the repository.
Opendata.cat MCP Server
Servidor MCP (Model Context Protocol) que connecta els models de llenguatge (Claude, ChatGPT, Gemini...) amb les dades obertes publiques de Catalunya. Cerca datasets, explora metadades i consulta dades reals de 15 portals directament des del teu assistent d'IA.
Un projecte d'opendata.cat — associacio sense anim de lucre fundada el 2012 que promou la transparencia, la difusio i l'estandarditzacio de les dades obertes a Catalunya. Inspirat en el projecte datagouv-mcp del govern frances.
Portals disponibles
Portals catalans
| Portal | Datasets | API |
|---|---|---|
| Generalitat de Catalunya | 1.059 | Socrata (SoQL) |
| Consorci AOC | ~887 | CKAN datastore |
| Ajuntament de Barcelona | 555 | CKAN datastore |
| Idescat | 138 | Idescat API |
| Ajuntament de Reus | 119 | CKAN datastore |
| Diputacio de Barcelona | 90 | REST + JSON:API (CIDO) |
| Ajuntament de Girona | 53 | CKAN datastore |
| FGC (Ferrocarrils) | 50 | Opendatasoft + GTFS-RT |
| Renfe Rodalies | 6 | CKAN + GTFS-RT JSON |
Fonts estatals amb focus Catalunya
| Font | Datasets | Que aporta |
|---|---|---|
| INE | 6 | Poblacio, IPC, EPA (atur/ocupacio), turisme, PIB, habitatge — auto-filtrat a Catalunya |
| Red Electrica (REE) | 4 | Generacio electrica (mix energetic), demanda, balanc, preus PVPC temps real |
| SEPE | 2 | Atur registrat i contractes per municipis catalans |
| CNMC / Ministeri | 1 | Preus carburants a ~1.500 gasolineres de Catalunya, filtrables per municipi |
+3.073 datasets de 15 portals. La majoria queryables amb filtres, cerca i paginacio.
El cataleg s'actualitza automaticament cada setmana. Crawling incremental amb --portal per carregar fonts noves sense re-escanejar tot.
Tipus d'acces:
- Socrata: consulta SoQL amb filtres i cerca (Generalitat)
- CKAN: datastore_search amb filtres i cerca (Barcelona, AOC, Reus, Girona, Renfe)
- Diba REST: API do.diba.cat amb paginacio i filtres (Diputacio BCN)
- CIDO JSON:API: api.diba.cat per contractacions, normatives, subvencions (Diputacio BCN)
- Opendatasoft: API records amb filtres i cerca (FGC)
- GTFS-RT: posicions GPS, alertes i retards dels trens FGC i Renfe Rodalies en temps real
- Idescat: indicadors estadistics amb series temporals
- INE: estadistica oficial d'Espanya filtrada automaticament a Catalunya
- REE: generacio electrica, demanda i preus de l'electricitat (PVPC) en temps real
- CNMC: preus de carburants per estacio de servei, filtrables per CCAA/provincia/municipi
- GIS: simplificacio automatica de geometries (centroide + bbox)
- Dades municipals AOC: 9 datasets amb dades de +1.000 municipis, filtrables per NOM_ENS
Installacio rapida
Claude Desktop
Afegeix al fitxer de configuracio (~/Library/Application Support/Claude/claude_desktop_config.json a macOS o %APPDATA%\Claude\claude_desktop_config.json a Windows):
{
"mcpServers": {
"opendata-cat": {
"command": "npx",
"args": ["-y", "@opendata.cat/mcp-server"]
}
}
}
Claude Code (CLI)
claude mcp add opendata-cat -- npx -y @opendata.cat/mcp-server
VS Code / Cursor
Afegeix al fitxer .vscode/mcp.json del teu projecte:
{
"servers": {
"opendata-cat": {
"command": "npx",
"args": ["-y", "@opendata.cat/mcp-server"]
}
}
}
Windsurf / Cline / JetBrains / Gemini CLI / Warp / ChatGPT / Copilot Studio
Consulta la guia completa amb instruccions per a 13 clients MCP a opendata.cat/mcp.
Tambe pots connectar directament via Streamable HTTP sense instal·lar res:
https://opendata.cat/api/mcp
Tools disponibles
| Tool | Descripcio |
|---|---|
search_datasets | Cerca datasets per text lliure al cataleg de +3.073 datasets |
get_dataset_info | Retorna metadades completes: camps, tipus, llicencia, endpoint |
list_dataset_fields | Llista els camps d'un dataset amb nom, tipus i descripcio |
query_dataset | Consulta dades reals directament al portal origen |
list_portals | Llista els 15 portals disponibles amb estadistiques |
list_categories | Llista categories i temes disponibles amb comptadors |
related_datasets | Retorna datasets relacionats d'altres portals |
search_radioteca | Cerca al cataleg de radioteca.cat (~485K episodis, programes i persones de Catalunya Radio, RAC1, Catalunya Musica, iCat, RTVE...). Sempre retorna URL absolut a radioteca.cat per trayabilitat |
search_datasets
Cerca datasets per text lliure.
query: "qualitat aire"
portal: "barcelona" # opcional: generalitat, barcelona, diba, aoc, reus, girona, fgc, idescat, renfe, ine, ree, sepe, cnmc
category: "Medi Ambient" # opcional
limit: 20 # opcional (defecte: 20)
query_dataset
Executa una consulta directament contra el portal origen i retorna dades reals.
dataset_id: "generalitat:gn9e-3qhr"
filters: {"estaci": "Sau"} # opcional
search: "embassament" # opcional
limit: 20 # opcional (defecte: 20, max: 100)
offset: 0 # opcional
Exemples de filtres per fonts estatals:
- INE: auto-filtrat a Catalunya (poblacio, IPC, turisme...)
- REE:
ree:preus-electricitat— preus PVPC per hora - CNMC:
filters: {"municipi": "Sabadell"}— gasolineres de Sabadell
Skills
A més de les tools i els prompts, el servidor publica skills: guies d'investigació
(estil SKILL.md) que orienten l'LLM pas a pas en un domini concret — com triar el dataset,
filtrar, paginar i citar bé. Es distribueixen dins el paquet (skills/) i es serveixen com a
resources MCP (skill://<nom>/SKILL.md, via resources/list + resources/read) i com a
prompts-pont invocables com a slash-command (/mcp__opendata_cat__skill_<nom>).
| Skill | Per a què |
|---|---|
consulta-dades-obertes | Orientació general: navegar els 15 portals, consultar directe vs cercar, paginació, cites |
contractacio-publica | Investigar contractació pública: creuar PSCP, registres municipals i adjudicacions, sumar imports |
radar-municipal | Retrat complet d'un municipi creuant portals (pressupost, deute, contractes, població) |
patrimoni-i-hemeroteca | Recerca a Catalònica (BNC) i radioteca.cat amb selecció de subportal i cites obligatòries |
Les mateixes skills es serveixen també des de l'endpoint HTTP https://opendata.cat/api/mcp.
Exemples d'us
Un cop configurat, pots fer preguntes al teu LLM com:
- "Quin es l'estat dels embassaments de Catalunya?"
- "Hi ha algun tren de Rodalies o FGC amb retard ara mateix?"
- "Quina es la poblacio de Catalunya segons l'INE?"
- "Quin es el preu de la gasolina a Sabadell avui?"
- "Quant costa l'electricitat ara? (PVPC)"
- "Analitza la qualitat de l'aire a Terrassa"
- "Quina es la taxa d'atur a Catalunya?"
- "Quantes pernoctacions turistiques hi ha a Barcelona?"
- "Compara Girona i Tarragona en dades obertes"
- "Dona'm les ultimes dades de pressupostos de Reus"
- "Quin es l'endeutament de Tiana?"
Com funciona
Usuari → LLM → MCP opendata.cat → API opendata.cat (cataleg)
→ Portal origen (dades reals)
- L'MCP consulta l'API d'opendata.cat per descobrir datasets rellevants
- Quan l'usuari vol dades concretes, l'MCP fa la consulta directament al portal origen
- Les dades tornen a l'LLM, que les interpreta i presenta a l'usuari
No emmagatzema ni fa de proxy de dades. Cada consulta va directament a la font oficial.
API REST
A mes del servidor MCP, opendata.cat ofereix una API REST publica:
| Endpoint | Descripcio |
|---|---|
GET /api/all-datasets.php | Llistat complet amb paginacio, filtres i sort |
GET /api/datasets.php?q=... | Cerca datasets per text lliure |
GET /api/dataset.php?id=... | Detall complet d'un dataset |
GET /api/categories.php | Categories i portals amb comptadors |
POST /api/mcp | Servidor MCP (Streamable HTTP) |
Documentacio interactiva (Swagger): opendata.cat/api/docs.html
Sobre opendata.cat
opendata.cat es una associacio catalana sense anim de lucre fundada el 2012 (registre 47468) dedicada a promoure la transparencia i l'acces a la informacio publica.
Changelog
v0.6.0 (2026-07-15)
- Noves skills servides com a resources MCP (
skill://<nom>/SKILL.md) + prompts-pont (skill_<nom>) - 4 skills d'investigació:
consulta-dades-obertes,contractacio-publica,radar-municipal,patrimoni-i-hemeroteca - Empaquetades a
skills/i sincronitzades amb l'endpoint HTTPopendata.cat/api/mcp
v0.5.0 (2026-06-06)
- Nou tool
search_radioteca: cerca a radioteca.cat (~485K documents de radio catalana — 8 emissores) - Filtres
publisher,year,type(Episode/Program/Person) - Tots els hits inclouen URL absoluta a radioteca.cat per trayabilitat
- Proxy server-side a opendata.cat — la clau de Typesense no s'exposa al paquet npm
v0.3.1 (2026-04-17)
- Handler CNMC preus carburants al paquet npm (abans nomes funcionava via HTTP)
- Filtre per municipi i provincia:
filters: {"municipi": "Sabadell"} - Per defecte retorna tota Catalunya (~1.500 gasolineres)
- Nova og:image amb 13 portals i fonts estatals
v0.3.0 (2026-04-16)
- 5 noves fonts estatals espanyoles amb focus Catalunya: INE, REE, SEPE, CNMC
- Handler INE: estadistica oficial (poblacio, IPC, EPA, turisme, PIB, habitatge) auto-filtrat a Catalunya
- Handler REE: generacio electrica, demanda, balanc, preus PVPC en temps real
- Handler CNMC: preus carburants amb filtres per CCAA/provincia/municipi via API REST
- Crawler incremental: flag
--portalper carregar fonts noves sense re-escanejar tot - 13 portals, 2.857 datasets
v0.2.0 (2026-04-15)
- Nou portal Renfe (Rodalies de Catalunya) — 6 datasets (estacions, viatgers, GTFS-RT temps real)
- Handler GTFS-RT JSON amb filtre automatic a rutes Rodalies Barcelona (R1-R16, RT, RG, RL)
- Instruccions reescrites en angles per millorar comprensio dels LLMs
- Llistats de portals, keywords i categories a les instruccions
- Tool descriptions i prompts traduits a angles
- Nou prompt trens_rodalies_temps_real
v0.1.2 (2026-04-14)
- Instructions integrades: l'LLM rep datasets destacats i pot fer query directe sense cercar
- Fix Idescat: ara retorna l'indicador especific en lloc de 6 aleatoris
- 9 datasets municipals AOC: pressupostos, cost serveis, endeutament de +1.000 municipis
v0.1.0 (2026-04-14)
- Nou portal Idescat — 138 indicadors estadistics amb series temporals
- Portals Reus i Girona
v0.0.17 (2026-04-14)
- Decodificador GTFS-RT integrat: trens FGC en temps real
- API REST documentada amb Swagger UI (OpenAPI 3.1)
v0.0.10 (2026-04-13)
- Portal FGC (50 datasets via Opendatasoft)
- 14 prompts predefinits
v0.0.1 (2026-04-12)
- Versio inicial: Generalitat, Barcelona, Diba, AOC — 6 tools, npm
Llicencia
MIT
Related MCP servers

Crawlberg
Scrape and crawl websites into clean Markdown or JSON with a single command or API call.
HIPAA compliance AI agent — scan, grade, SRA, and generate compliance docs.
View repository →
Real eyes and hands on the web for AI agents. MCP-first. Local-first. Vendor-agnostic.
Feature-rich MCP for controlling Jira through LLM clients. Safe for corporate environments.

Token Enhancer
Local proxy that strips web pages to clean text, reducing AI token costs by 86-99.6%.


