MCP server for Spanish AEAT tax reference data — IRPF brackets, VAT rates, fiscal calendar, tax form catalog, and more. 100% official sources (BOE, AEAT).
Strong domain-specific tool set with clear naming (all verb_noun pattern) and comprehensive descriptions (avg 180 chars, well above 10-char minimum). All 11 tools have input schemas with type definitions and parameter descriptions. Output schemas are documented in descriptions but not formally declared in code. Error handling is present but minimal, most tools return JSON error objects without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Parameter constraints are well-defined (enums for territory, type, section, modelo). No security issues detected (all tools are read-only reference data, no secrets exposed). Composition is clean, each tool has one responsibility, and tool outputs include IDs/references for chaining.
Returns all tax deductions available in a specific Spanish autonomous community (CCAA). Covers all 17 CCAA + Ceuta + Melilla. Each deduction includes amount/percentage, limits, income requirements, and legal source. Use common names: 'baleares', 'madrid', 'cataluna', 'valencia', etc. Source: AEAT Manual Practico Renta 2025, Parte 2 — Deducciones Autonomicas.
Returns Spanish AEAT fiscal calendar deadlines for a given year. Filter by quarter (1-4) to see only that quarter's deadlines. Filter by modelo (e.g., '303', '100') to see deadlines for a specific tax form. Each deadline includes start/end dates, description, and who must file. Source: AEAT Calendario del Contribuyente.
Returns key Spanish economic indicators for a given year: IPREM (public income reference), SMI (minimum wage), legal interest rate, and late payment interest rate. These are used as thresholds in tax calculations, subsidies, and legal proceedings. Source: PGE (national budget) + BOE.
Returns Spanish IRPF (income tax) brackets for a given fiscal year. type='general' returns the base general (work/business income) brackets. type='savings' returns the base del ahorro (capital gains/dividends) brackets. These are STATE-level rates only (roughly half of the total rate). The other half comes from the CCAA regional scale. Source: Ley 35/2006, arts. 63 and 66.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only reference queries. LLMs cannot infer safety properties without explicit hints.
Error responses return bare JSON objects (e.g. {error: 'not_found', message: '...'}) without recovery guidance. LLMs cannot determine next steps (retry, ask user, or fail).
Output schemas are documented in tool descriptions but not formally declared in code. LLMs must infer response structure from prose rather than machine-readable schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Returns the personal and family tax-free minimums (minimo personal y familiar) for Spanish IRPF. Includes taxpayer minimum, descendants, ascendants, and disability allowances. These reduce the taxable base. Source: Ley 35/2006, arts. 57-61.
Returns Spanish Social Security (Seguridad Social) contribution rates for employees in the Regimen General. Includes worker-side rates for common contingencies, unemployment, vocational training, and the MEI (Mecanismo de Equidad Intergeneracional). Also returns maximum and minimum contribution bases. SS cotizaciones are deductible in IRPF (art. 19.2.a Ley 35/2006, casilla 0013). Source: Orden de cotizacion SS (BOE) + RDL 3/2026.
Returns information about a specific Spanish AEAT tax form (modelo). Provide the form number (e.g., '100' for IRPF, '303' for IVA, '720' for foreign assets). Returns: name, periodicity, who must file, description, filing period. Source: AEAT sede electronica.
Returns Spanish VAT (IVA) rates for a given fiscal year. Includes general, reduced, and super-reduced rates, plus equivalence surcharges. Use territory='canarias' for IGIC or territory='ceuta_melilla' for IPSI. Source: Ley 37/1992 del IVA.
Searches the Modelo 100 (IRPF) casilla map by number or keyword. Use a casilla number (e.g., '0001') to get its definition, or a keyword (e.g., 'dividendos', 'alquiler') to find relevant casillas. Returns casilla number, name, section, and source article. Source: AEAT Manual Practico Renta 2025.
Searches across all IRPF tax rules data for a given keyword or concept. Searches in: work income, rental income, investment income, capital gains, deductions, and casilla definitions. Use natural terms like 'alquiler', 'dividendos', 'maternidad', 'vehiculo electrico', 'plan pensiones', 'vivienda habitual', 'despido', etc. Returns matching rules with casilla numbers, limits, and source articles. Source: AEAT Manual Practico Renta 2025.
Validates a Spanish tax identification number. Supports NIF (individuals, 8 digits + letter), NIE (foreign residents, X/Y/Z + 7 digits + letter), and CIF (companies, letter + 7 digits + control). Returns validity, type detected, and formatted value. Source: Ministerio del Interior (NIF/NIE algorithm), Real Decreto 1065/2007 (CIF).
search_tax_rules and search_casillas lack pagination parameters (limit, offset, page). Large result sets could exhaust context window without pagination.
get_fiscal_calendar and get_ccaa_deductions accept optional filter parameters but do not document result limits or pagination. Unclear if results are capped.