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 PM
추가됨
related_datasets
2026년 9월 17일 12:53 PM
추가됨
list_categories
2026년 9월 17일 12:53 PM
추가됨
list_portals
2026년 9월 17일 12:53 PM
추가됨
query_dataset
2026년 9월 17일 12:53 PM
추가됨
list_dataset_fields
2026년 9월 17일 12:53 PM
추가됨
get_dataset_info
2026년 9월 17일 12:53 PM
추가됨
search_datasets
2026년 9월 17일 12:53 PM