Servidor MCP per al document «Catalunya 2022 - RESET: Crida per reactivar el país»: 3 àmbits, 12 objectius i 91 accions en CA/EN/ES
Strong tool definitions with comprehensive schemas, clear descriptions, and proper parameter typing. All 4 tools have detailed descriptions (194 - 350 chars, within baseline 34 - 392 range). Input schemas use Zod with type constraints, enums, and descriptions. Output schemas are documented and validated. Tool annotations (readOnlyHint, idempotentHint) are present. Minor gaps: descriptions could be more concise for LLM optimization (target 50 - 200 chars); some parameter descriptions are verbose; no explicit error recovery guidance in descriptions.
Retrieve the document structure, citation metadata, and complete hierarchy (all 3 spheres, 12 goals, 91 actions, and static pages). Includes contributor list with photos and biographical information.
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.
List all 91 actions (proposals) in the document, sorted by action ID. Each proposal includes its sphere, goal, canonical slug, title, and canonical 2022.cat URL in the requested locale.
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ó').
Descriptions lack explicit error recovery guidance. When search returns no results or a slug is invalid, descriptions do not tell the LLM what to do next (e.g., 'Try broader terms' or 'Use get_document_metadata to discover valid slugs').
Parameter descriptions are verbose (e.g., search_document.scope description is 150+ chars). Baseline for param annotations is 72 chars. Trim to essential constraints and examples.
No explicit documentation of tool composition. Descriptions do not state that search_document results include slugs for use with get_section, or that get_document_metadata should be called first to discover available slugs.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 84 | 2026-07-28+ | v2 |
Output schema for search_document includes optional fields (sphereId, goalId, actionId) without explaining when they are present. LLMs need to know: 'sphereId present on sphere/goal/action results; absent on static pages.'
No rate limiting or pagination guidance documented. list_proposals returns all 91 actions; search_document caps at 10 results. Descriptions should state limits and when pagination is needed.