Skip to main content
Glama

es-eli-mcp

Instalacja (jedna komenda)

Opublikowany na PyPI + MCP Registry (io.github.matematicsolutions/es-eli-mcp). Uruchomienie bez klonowania:

uvx es-eli-mcp

Konfiguracja klienta MCP (stdio):

{ "mcpServers": { "es-eli-mcp": { "command": "uvx", "args": ["es-eli-mcp"] } } }

(Budowanie ze źródeł — niżej.)

An MCP server for five Spanish open-data sources:

  1. BOE (Boletin Oficial del Estado) open-data API - consolidated legislation. Given a BOE id or a date in the official gazette, returns metadata, structure and full consolidated text, with verifiable ELI identifiers and Spanish citations.

  2. Tribunal Constitucional (Sistema HJ / hj.tribunalconstitucional.es) - Spain's Constitutional Court case law (Sentencias / Autos / Declaraciones). Given an internal resolution id, or a citation number+year (e.g. "STC 31/2010"), returns the full ruling with ECLI and a Spanish doctrinal citation.

  3. DGT (Direccion General de Tributos, petete.tributos.hacienda.gob.es) - binding tax rulings: ~69,500 consultas vinculantes + ~19,700 consultas generales (live-counted 2026-07-08). Full-text/date search plus the full ruling text by NUM-CONSULTA (e.g. "V0001-25").

  4. TEAC (Tribunales Economico-Administrativos, DYCTEA) - ~6,500 doctrine criterios with the full resolution text inline, searched by RG claim-number segments and/or date range.

  5. AEPD (Agencia Espanola de Proteccion de Datos) - ~46,800 data-protection resolutions with Solr full-text search and a verified PDF permalink per expediente (e.g. "PS-00615-2025").

Part of the MateMatic eu-legal-mcp production line - after PL, DE and AT. Same citation contract pattern, five Spanish sources.

Free-text search exists on DGT and AEPD only. The BOE open-data keyword-search endpoint (/legislacion-consolidada) currently returns a server-side error; the Tribunal Constitucional site only supports structured search (citation number+year, ECLI, magistrado, materia); DYCTEA accepts text-looking parameters but silently ignores them (verified live). Discover BOE documents via es_browse_gazette (by date) or a known BOE id / ELI; TC rulings via es_search_constitutional; TEAC criterios via RG segments or dates. Every response carries a dataset_note.

Licence. Both sources are official public information published as Spanish PSI (public-sector information) open data; reuse presumes acceptance of the respective reuse conditions. This connector relays that public content with attribution and a source_url.

Related MCP server: Spanish Public Data MCP

The tools

Tool

What it does

es_browse_gazette

List documents published in the BOE on a date (YYYYMMDD) - discovery.

es_get_act

Metadata for a BOE id (eli_uri, official titulo, source).

es_get_index

The block index (articles, titles) of a consolidated law.

es_get_text

Consolidated text (XML), whole or by block.

es_get_constitutional_ruling

Tribunal Constitucional ruling by internal resolution id.

es_search_constitutional

Resolve a citation (numero+anno, e.g. 31/2010) to the full TC ruling.

es_search_tax_rulings

Full-text/date search over DGT consultas (vinculantes or generales).

es_get_tax_ruling

Full DGT ruling (facts, question, normativa, answer) by NUM-CONSULTA.

es_search_teac_doctrine

TEAC criterios by RG segments and/or resolution-date range.

es_get_teac_criterio

Full TEAC criterio + resolution text by DYCTEA id.

es_search_aepd_resolutions

Full-text/date search over AEPD resolutions.

es_get_aepd_resolution

AEPD resolution + verified full-text PDF permalink by expediente.

Every BOE response carries the contract: eli_uri (a full ELI URL, e.g. https://www.boe.es/eli/es/lo/2018/12/05/3), human_readable_citation (the official titulo), and source_url.

Every Tribunal Constitucional response carries: ecli (e.g. ECLI:ES:TC:2010:31 - TC case law has no ELI, ELI covers legislation only), human_readable_citation (Spanish doctrinal convention, e.g. "STC 31/2010, de 28 de junio"), and source_url.

Install

cd es-eli-mcp
pip install -e .

Configure (Claude Code / any MCP client)

{
  "mcpServers": {
    "es-eli-mcp": { "command": "es-eli-mcp" }
  }
}

Environment:

  • ES_ELI_BASE_URL - default https://www.boe.es/datosabiertos/api

  • ES_ELI_TC_BASE_URL - default https://hj.tribunalconstitucional.es

  • ES_ELI_DGT_BASE_URL - default https://petete.tributos.hacienda.gob.es

  • ES_ELI_TEAC_BASE_URL - default https://serviciostelematicosext.hacienda.gob.es/TEAC/DYCTEA

  • ES_ELI_AEPD_BASE_URL - default https://www.aepd.es

  • ES_ELI_CACHE_DIR - default ~/.matematic/cache/es-eli

  • ES_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. All five sources are keyless.

Governance

  • Public data only - read-only against the five official sources; no client data leaves the machine.

  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/es-eli-mcp.jsonl.

  • Vendor-neutral - talks only to the official *.boe.es / *.tribunalconstitucional.es / *.hacienda.gob.es / *.aepd.es hosts; no LLM provider, no telemetry.

  • Verifiable citations - every response is independently checkable via source_url.

See CONSTITUTION.md and DISCOVERY.md.

Tests

pip install -e ".[dev]"
pytest tests/ --ignore=tests/test_smoke.py -v   # offline (fixtures)
pytest tests/test_smoke.py -v                   # hits live BOE + TC + DGT + TEAC + AEPD

Licence

Apache-2.0. © Matematic Solutions / Wieslaw Mazur.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matematicsolutions/es-eli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server