MCP 服务器

opendata-cat

io.github.xaviviro/opendata-cat
数据与分析 搜索与研究 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Searches and queries Catalan open-data portals and a large Catalan radio archive, including dataset metadata and related datasets.

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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['dataset_id'], 'properties': {'dataset_id': {'type': 'string', 'description': "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_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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {}}
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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['dataset_id'], 'properties': {'dataset_id': {'type': 'string', 'description': "Unique dataset identifier in 'portal:id' format. Obtained from search_datasets 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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {}}
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).
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['dataset_id'], 'properties': {'limit': {'type': 'number', 'default': 20, 'description': 'Number of rows to return. Min 1, max 100. Default 20. Use offset for pagination.'}, 'offset': {'type': 'number', 'default': 0, 'description': 'Number of rows to skip for pagination. Default 0. Combine with limit to navigate large results.'}, 'search': {'type': 'string', 'description': 'Free text search within dataset data. Works with Socrata ($q) and CKAN (q). For Diba and CIDO, use specific filters.'}, 'filters': {'type': 'object', 'description': '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.', 'additionalProperties': {'type': 'string'}}, 'dataset_id': {'type': 'string', 'description': "Unique dataset identifier in 'portal:id' format. Obtained from search_datasets results."}}}
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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['dataset_id'], 'properties': {'dataset_id': {'type': 'string', 'description': 'Dataset ID to find related datasets for. Obtained from search_datasets.'}}}
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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'default': 20, 'description': 'Maximum number of results to return. Min 1, max 100. Default 20.'}, 'query': {'type': 'string', 'description': "Search text in Catalan or Spanish. Examples: 'qualitat aire', 'pressupostos municipals', 'transport públic', 'residus', 'educació', 'rodalies'."}, 'portal': {'enum': ['generalitat', 'barcelona', 'diba', 'aoc', 'reus', 'girona', 'fgc', 'idescat', 'renfe', 'ine', 'ree', 'sepe', 'cnmc', 'cora', 'catalonica'], 'type': 'string', 'description': 'Filter results to a single portal.'}, 'category': {'type': 'string', 'description': "Filter by thematic category. Examples: 'Medi Ambient', 'Educació', 'Salut', 'Economia', 'Transport', 'Seguretat'. Use list_categories to see all available categories."}}}
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.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'type': {'enum': ['Episode', 'Program', 'Person'], 'type': 'string', 'description': 'Filter by document type.'}, 'year': {'type': 'string', 'description': "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."}, 'limit': {'type': 'number', 'default': 10, 'description': 'Maximum results. Min 1, max 50. Default 10.'}, 'query': {'type': 'string', 'description': "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'."}, 'offset': {'type': 'number', 'default': 0, 'description': 'Pagination offset. Default 0.'}, 'publisher': {'enum': ['Catalunya Ràdio', 'RAC1', 'Catalunya Música', 'iCat', 'Catalunya Informació', 'RTVE', 'Cadena SER', 'ara.cat'], 'type': 'string', 'description': 'Filter by broadcaster.'}}}
已添加
search_radioteca
2026年9月17日 12:53
已添加
related_datasets
2026年9月17日 12:53
已添加
list_categories
2026年9月17日 12:53
已添加
list_portals
2026年9月17日 12:53
已添加
query_dataset
2026年9月17日 12:53
已添加
list_dataset_fields
2026年9月17日 12:53
已添加
get_dataset_info
2026年9月17日 12:53
已添加
search_datasets
2026年9月17日 12:53