MCP Server

Catalunya 2022

cat.2022/catalunya-2022
Knowledge & Documentation Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Searches and retrieves sections, metadata, and action proposals from the Catalunya 2022 policy document.

get_document_metadata
Document structure and citation
Get the complete structure of the policy document "Catalunya 2022 - RESET: Crida per reactivar el país": 3 spheres, 12 goals, 91 actions created by a 30-expert Catalonia Task Force. Returns the hierarchy with canonical slugs for navigation via get_section, plus the formal citation with DOI.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'locale': {'enum': ['ca', 'en', 'es'], 'type': 'string', 'default': 'ca', 'description': "Content language. Defaults to 'ca' (Catalan), the original language of the document. (ca=Catalan, en=English, es=Spanish)"}}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'date', 'languages', 'structure', 'citation', 'hierarchy', 'staticPages', 'contributors'], 'properties': {'date': {'type': 'string'}, 'title': {'type': 'string'}, 'citation': {'type': 'object', 'required': ['title', 'author', 'year', 'doi', 'doiUrl'], 'properties': {'doi': {'type': 'string'}, 'year': {'type': 'string'}, 'title': {'type': 'string'}, 'author': {'type': 'string'}, 'doiUrl': {'type': 'string'}}, 'additionalProperties': False}, 'hierarchy': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'slug', 'id', 'goals'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'slug': {'type': 'string'}, 'goals': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'slug', 'id', 'actionCount', 'actions'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'actions': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'slug', 'id'], 'properties': {'id': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'actionCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'structure': {'type': 'object', 'required': ['spheres', 'goals', 'actions', 'contributors'], 'properties': {'goals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'actions': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'spheres': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'contributors': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'staticPages': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'slug'], 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'contributors': {'type': 'object', 'required': ['count', 'names', 'members'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'names': {'type': 'array', 'items': {'type': 'string'}}, 'members': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'slug', 'role', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'role': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_section
Read a section
Retrieve the full text of any section of the Catalunya 2022 document by its canonical slug. Slugs follow the pattern: 'sphere-1', 'sphere-1/goal-2', 'sphere-1/goal-2/action-2-1'. Static pages: 'introduction', 'executive-summary', 'train-of-prosperity'. Use get_document_metadata to discover all available slugs.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+(?:\\/[a-z0-9-]+){0,2}$', 'maxLength': 100, 'description': 'Canonical section slug'}, 'locale': {'enum': ['ca', 'en', 'es'], 'type': 'string', 'default': 'ca', 'description': "Content language. Defaults to 'ca' (Catalan), the original language of the document. (ca=Catalan, en=English, es=Spanish)"}}}
list_proposals
List action proposals
List all 91 action proposals from the Catalunya 2022 document, optionally filtered by sphere (1-3) or goal (1-12). Returns actionId, goalId, sphereId, title, slug, and url. Use get_section with the returned slug to read full action content.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'goalId': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Filter by goal (1-12)'}, 'locale': {'enum': ['ca', 'en', 'es'], 'type': 'string', 'default': 'ca', 'description': "Content language. Defaults to 'ca' (Catalan), the original language of the document. (ca=Catalan, en=English, es=Spanish)"}, 'sphereId': {'type': 'integer', 'maximum': 3, 'minimum': 1, 'description': 'Filter by sphere (1-3)'}}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['proposals', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'proposals': {'type': 'array', 'items': {'type': 'object', 'required': ['actionId', 'goalId', 'sphereId', 'slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'goalId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'actionId': {'type': 'string'}, 'sphereId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_document
Search the document
Search the Catalunya 2022 - RESET policy document by keyword. Returns up to 10 results with canonical slugs (for follow-up with get_section) and text snippets; "total" carries the full match count. Terms are matched independently with coverage-based ranking; quoted phrases ("energia sostenible") must match exactly. Handles Catalan/Spanish diacritics automatically (e.g., 'educacio' matches 'educació').
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Search query (e.g., 'housing', 'educacio', 'digital transformation'). Use terms in the target locale for best results."}, 'scope': {'enum': ['sphere', 'goal', 'action', 'static'], 'type': 'string', 'description': "Filter by section type: 'action' (91 proposals), 'goal' (12 overviews), 'sphere' (3 overviews), or 'static' (introduction, executive summary, train of prosperity)"}, 'locale': {'enum': ['ca', 'en', 'es'], 'type': 'string', 'default': 'ca', 'description': "Content language. Defaults to 'ca' (Catalan), the original language of the document. (ca=Catalan, en=English, es=Spanish)"}}}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results', 'total'], 'properties': {'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Total matches before the 10-result cap'}, 'message': {'type': 'string', 'description': 'Guidance when no results were found'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'type', 'title', 'snippet', 'url'], 'properties': {'url': {'type': 'string', 'description': 'Canonical page URL on 2022.cat in the requested locale'}, 'slug': {'type': 'string', 'description': 'Canonical section slug, usable with get_section'}, 'type': {'enum': ['sphere', 'goal', 'action', 'static'], 'type': 'string'}, 'title': {'type': 'string'}, 'goalId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Present on goal and action results'}, 'snippet': {'type': 'string', 'description': 'Content snippet with **highlighted** matches'}, 'actionId': {'type': 'string', 'description': 'Present on action results'}, 'sphereId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Present on sphere, goal, and action results'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Added
list_proposals
Sept. 17, 2026, 7:58 a.m.
Added
get_document_metadata
Sept. 17, 2026, 7:58 a.m.
Added
get_section
Sept. 17, 2026, 7:58 a.m.
Added
search_document
Sept. 17, 2026, 7:58 a.m.