io.github.xaviviro/opendata-cat
Official8 toolsby xaviviro · JavaScript
15 Catalan portals: gov, Spanish stats, CORA research, Catalònica heritage (~2.2M items).
Browse 15 Catalan open data portals with 2.2M items from government and heritage sources.
Topics
Captured live from the server via tools/list.
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.
Parameters (4)
- querystringrequired
Search text in Catalan or Spanish. Examples: 'qualitat aire', 'pressupostos municipals', 'transport públic', 'residus', 'educació', 'rodalies'.
- portalstring
Filter results to a single portal.
- categorystring
Filter by thematic category. Examples: 'Medi Ambient', 'Educació', 'Salut', 'Economia', 'Transport', 'Seguretat'. Use list_categories to see all available categories.
- limitnumber
Maximum number of results to return. Min 1, max 100. Default 20.
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.
Parameters (1)
- dataset_idstringrequired
Unique dataset identifier in 'portal:id' format. Obtained from search_datasets results. Examples: 'generalitat:gn9e-3qhr', 'barcelona:qualitat-de-laire', 'renfe:vehicle-positions-gtfsrt'.
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.
Parameters (1)
- dataset_idstringrequired
Unique dataset identifier in 'portal:id' format. Obtained from search_datasets results.
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).
Parameters (5)
- dataset_idstringrequired
Unique dataset identifier in 'portal:id' format. Obtained from search_datasets results.
- filtersobject
Key-value filters where the key is the field name and the value is the filter value. Examples: {"municipi": "Barcelona"}, {"any": "2024"}, {"NOM_ENS": "Ajuntament de Tiana"}. Use list_dataset_fields to know valid field names.
- searchstring
Free text search within dataset data. Works with Socrata ($q) and CKAN (q). For Diba and CIDO, use specific filters.
- limitnumber
Number of rows to return. Min 1, max 100. Default 20. Use offset for pagination.
- offsetnumber
Number of rows to skip for pagination. Default 0. Combine with limit to navigate large results.
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.
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.
No parameters.
related_datasets
Find related datasets from OTHER portals. Great for discovering complementary data: if you're looking at air quality from Generalitat, it may suggest traffic data from Barcelona or emissions from AOC. Relations are computed by thematic similarity across portals.
Parameters (1)
- dataset_idstringrequired
Dataset ID to find related datasets for. Obtained from search_datasets.
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.
Parameters (6)
- querystringrequired
Free text in Catalan or Spanish. Searches title, description (contains episode summary), program and subheading. Examples: 'visita papa', 'eleccions municipals', 'crisi habitatge', 'Albert Serra cinema'.
- publisherstring
Filter by broadcaster.
- yearstring
Filter by year (4 digits, e.g. '2025'). NOTE: only year-level filtering is indexed; for a specific day, use the broader year filter and look at the URL path (radioteca URLs include /YYYY/MM/DD/) or the 'subheading' field which often contains the date.
- typestring
Filter by document type.
- limitnumber
Maximum results. Min 1, max 50. Default 10.
- offsetnumber
Pagination offset. Default 0.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"opendata-cat": {
"command": "npx",
"args": [
"-y",
"@opendata.cat/mcp-server@0.4.6"
]
}
}
}