io.github.xaviviro/opendata-cat
https://opendata.cat/api/mcpskills: {'id': 'search_datasets', 'name': 'search_datasets', 'description': "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.", 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'get_dataset_info', 'name': 'get_dataset_info', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'list_dataset_fields', 'name': 'list_dataset_fields', 'description': 'List fields of a dataset with name, data type and description. Call before query_dataset to know which fields and filters are available.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'query_dataset', 'name': 'query_dataset', 'description': '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).', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'list_portals', 'name': 'list_portals', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'list_categories', 'name': 'list_categories', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'related_datasets', 'name': 'related_datasets', 'description': "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.", 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}; uptime_30d 1.0%; p95 608.8ms; conformance: pass
How to connect
https://opendata.cat/api/mcp
curl -X POST https://opendata.cat/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'