Opendata Cat

io.github.xaviviroPublished by GitHub account xavivirov0.6.1Updated Oct 27, 2026

15 Catalan portals + radio archive: gov, INE/REE/CNMC, CORA, Catalònica, radioteca.cat.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingKnowledge & MemoryData & Analytics

Overview

AI-generated overview

Connects an assistant to Catalan open data: search 3,000+ datasets across 15 portals, inspect metadata, and query real data plus a radio archive.

What you can do
  • Search and browse the catalog: free-text dataset search, portal and category listings, related datasets from other portals
  • Inspect datasets: full metadata (fields, types, license, endpoint, formats) and field lists before querying
  • Query real data: run filtered, paginated queries against the source portal (Socrata, CKAN, REST, Opendatasoft, GTFS-RT, INE, REE, CNMC)
  • Search the radioteca.cat radio archive of roughly 485K episodes, shows and people
  • Follow bundled research skills served as MCP resources and prompts for topics like public procurement or municipal profiles
When to use it
Useful when you need Catalan or Catalonia-focused public data — budgets, contracts, population, unemployment, tourism, energy prices, fuel prices, air quality, train status — or want to search the Catalan radio archive, and want the assistant to fetch figures directly from official portals.
Requirements
Either the remote Streamable HTTP endpoint at opendata.cat (no install) or the local npm package @opendata.cat/mcp-server run via npx, which needs Node.js. No accounts, API keys or environment variables are declared. Network access to opendata.cat and the source portals is required.
Before you install
Queries are sent to third-party portals (Generalitat, Barcelona, AOC, INE, REE, CNMC and others) and to opendata.cat's own API, so requests reveal what you are researching. Tools are read-only lookups and queries; no writes or spending are described. Results depend on the portals' availability and freshness.

Installation

In SourceWeft

  1. Open Opendata Cat in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.xaviviro%2Fopendata-cat/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "opendata-cat": {
      "type": "http",
      "url": "https://opendata.cat/api/mcp"
    }
  }
}

README

[Opendata.cat MCP Server — Connecta el teu LLM amb les dades obertes de Catalunya]

[npm] [npm downloads] [github] [web] [license]

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

PortalDatasetsAPI
Generalitat de Catalunya1.059Socrata (SoQL)
Consorci AOC~887CKAN datastore
Ajuntament de Barcelona555CKAN datastore
Idescat138Idescat API
Ajuntament de Reus119CKAN datastore
Diputacio de Barcelona90REST + JSON:API (CIDO)
Ajuntament de Girona53CKAN datastore
FGC (Ferrocarrils)50Opendatasoft + GTFS-RT
Renfe Rodalies6CKAN + GTFS-RT JSON

Fonts estatals amb focus Catalunya

FontDatasetsQue aporta
INE6Poblacio, IPC, EPA (atur/ocupacio), turisme, PIB, habitatge — auto-filtrat a Catalunya
Red Electrica (REE)4Generacio electrica (mix energetic), demanda, balanc, preus PVPC temps real
SEPE2Atur registrat i contractes per municipis catalans
CNMC / Ministeri1Preus 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):

json
{  "mcpServers": {    "opendata-cat": {      "command": "npx",      "args": ["-y", "@opendata.cat/mcp-server"]    }  }}

Claude Code (CLI)

bash
claude mcp add opendata-cat -- npx -y @opendata.cat/mcp-server

VS Code / Cursor

Afegeix al fitxer .vscode/mcp.json del teu projecte:

json
{  "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

ToolDescripcio
search_datasetsCerca datasets per text lliure al cataleg de +3.073 datasets
get_dataset_infoRetorna metadades completes: camps, tipus, llicencia, endpoint
list_dataset_fieldsLlista els camps d'un dataset amb nom, tipus i descripcio
query_datasetConsulta dades reals directament al portal origen
list_portalsLlista els 15 portals disponibles amb estadistiques
list_categoriesLlista categories i temes disponibles amb comptadors
related_datasetsRetorna datasets relacionats d'altres portals
search_radiotecaCerca 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, cnmccategory: "Medi Ambient"   # opcionallimit: 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"}   # opcionalsearch: "embassament"         # opcionallimit: 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>).

SkillPer a què
consulta-dades-obertesOrientació general: navegar els 15 portals, consultar directe vs cercar, paginació, cites
contractacio-publicaInvestigar contractació pública: creuar PSCP, registres municipals i adjudicacions, sumar imports
radar-municipalRetrat complet d'un municipi creuant portals (pressupost, deute, contractes, població)
patrimoni-i-hemerotecaRecerca 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)
  1. L'MCP consulta l'API d'opendata.cat per descobrir datasets rellevants
  2. Quan l'usuari vol dades concretes, l'MCP fa la consulta directament al portal origen
  3. 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:

EndpointDescripcio
GET /api/all-datasets.phpLlistat 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.phpCategories i portals amb comptadors
POST /api/mcpServidor 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 HTTP opendata.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 --portal per 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

Source: README.md at commit fda76ee

Tools

8

search_datasets

Search datasets by free text. IMPORTANT: check server instructions first — many common queries have a direct dataset_id you can use with query_dataset without searching. Only use search_datasets when you don't know which dataset you need.

Parameterslimitqueryrequiredportalcategory

get_dataset_info

Get complete metadata for a dataset: fields with types and descriptions, API endpoint, license, available formats and last update. Call after search_datasets to get full details of a specific dataset.

Parametersdataset_idrequired

list_dataset_fields

List fields of a dataset with name, data type and description. Call before query_dataset to know which fields and filters are available.

Parametersdataset_idrequired

query_dataset

Query real data from a dataset. Check instructions for featured dataset_ids and NOTES section for common filter patterns (municipal budgets, contracts, weather, energy, fuel prices).

Parameterslimitoffsetsearchfiltersdataset_idrequired

list_portals

List all 13 indexed open data portals with dataset counts. Catalan portals (Generalitat, Barcelona, Diba, AOC, Reus, Girona, FGC, Idescat, Renfe) + Spanish national sources with Catalonia focus (INE statistics, REE energy, SEPE employment, CNMC fuel prices). No parameters required.

Takes no parameters.

list_categories

List all dataset categories and themes with counts per portal. Great first step to discover what data types are available before searching with search_datasets. Returns total datasets, count per portal and category list with counts. No parameters required.

Takes no parameters.

search_radioteca

Search radio shows, episodes and people indexed at radioteca.cat (Catalan radio archive, ~485K documents from Catalunya Ràdio, RAC1, Catalunya Música, iCat, Catalunya Informació, RTVE, Cadena SER, ara.cat). Searches across episode titles, descriptions (which include a detailed summary of what was said), program name and subheading. Returns episodes (~473K), programs (~3K) and people (~9K). IMPORTANT: always cite radioteca.cat as the source and include the absolute 'url' in your reply for traceability — never paraphrase without linking.

Parameterstypeyearlimitqueryrequiredoffsetpublisher

Version history

1
  1. v0.6.1LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.