Es Eli
FreeNot checkedAn MCP server for the Spanish BOE open-data API that retrieves metadata, structure, and full consolidated text of Spanish legislation using BOE IDs or dates, pr
About
An MCP server for the Spanish BOE open-data API that retrieves metadata, structure, and full consolidated text of Spanish legislation using BOE IDs or dates, providing verifiable ELI identifiers and citations.
README
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:
- 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.
- 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. - 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"). - 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.
- 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 viaes_browse_gazette(by date) or a known BOE id / ELI; TC rulings viaes_search_constitutional; TEAC criterios via RG segments or dates. Every response carries adataset_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.
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- defaulthttps://www.boe.es/datosabiertos/apiES_ELI_TC_BASE_URL- defaulthttps://hj.tribunalconstitucional.esES_ELI_DGT_BASE_URL- defaulthttps://petete.tributos.hacienda.gob.esES_ELI_TEAC_BASE_URL- defaulthttps://serviciostelematicosext.hacienda.gob.es/TEAC/DYCTEAES_ELI_AEPD_BASE_URL- defaulthttps://www.aepd.esES_ELI_CACHE_DIR- default~/.matematic/cache/es-eliES_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.eshosts; 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.
Install Es Eli in Claude Desktop, Claude Code & Cursor
unyly install es-eli-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add es-eli-mcp -- uvx es-eli-mcpFAQ
Is Es Eli MCP free?
Yes, Es Eli MCP is free — one-click install via Unyly at no cost.
Does Es Eli need an API key?
No, Es Eli runs without API keys or environment variables.
Is Es Eli hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Es Eli in Claude Desktop, Claude Code or Cursor?
Open Es Eli on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Es Eli with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
