boe-eurlex-mcp
v1.4.0
Published
MCP Server que permite a agentes de IA consultar directamente legislación oficial española (BOE) y europea (EUR-Lex)
Maintainers
Readme
🚨 La Crisis de Identidad (¿Por qué existe esto?)
Seamos brutalmente honestos: los LLMs son unos artistas a la hora de alucinar leyes. Se inventan artículos del Código Penal con la misma soltura con la que un político improvisa una promesa electoral. Suenan convincentes, tienen buena gramática y no existen.
El BOE & EUR-Lex MCP Server es el suero de la verdad que tu agente necesita. Conecta directamente a Gemini, Claude, Cursor y compañía con el Boletín Oficial del Estado y EUR-Lex (Unión Europea), las únicas fuentes que importan cuando la cosa se pone seria.
v1.4.0 "Bestia Legal Pro Plus & Auction Hunter" 🏛️🔥💎: La evolución total. Además del rastreo de links externos, ahora integra el Portal de Subastas del BOE. Busca naves, locales y activos directamente desde tu agente.
🎯 El Arte de la Query: Cómo preguntar para no fallar
No es solo qué buscas, sino cómo lo pides. Aquí tienes el manual de estilo para que tu IA sea un ninja legal:
1. 🏛️ Extracción Quirúrgica (Leyes y Artículos)
Para leyes consolidadas, sé específico con el número o el ID.
Template: "Usa el MCP para buscar la [Ley 28/2022] y dime qué dice el [Art. 74 bis] sobre [nómadas digitales]."
Análisis Avanzado: "Usa el artículo 1 de la [Ley Orgánica 1/2024] y dime si menciona algo sobre la '[normalización institucional]'."
2. 📋 El Modo Detective (Anuncios y Licitaciones)
Los anuncios suelen estar solo en PDF. Para que la IA "despierte" al servidor, dale contexto:
Template: "Busca el anuncio de la [AEAT] sobre [achatarramiento de barcos] que se publicó en el BOE el 19 de febrero de 2026 y léelo entero (
article: 'todo')."Resultado: Localiza el ID, descarga el PDF y extrae los datos (como los 654.000,00€ que encontramos en nuestras pruebas).
3. 📡 Vigilancia Diaria (Sumarios)
No le pidas "un resumen del BOE". Pídele que busque dentro del sumario:
- Template: "Mira el sumario de hoy (
boe_get_daily_summary). Busca si hay algún [nombramiento de Director General] y, si lo hay, dame su nombre."
4. 🇪🇺 Búsqueda Internacional (EUR-Lex)
[!WARNING] ⚠️ Acceso Restringido: Actualmente el portal EUR-Lex ha incrementado su protección anti-bots (AWS WAF), lo que puede causar fallos (
Status 202) en búsquedas automatizadas. Esta funcionalidad se mantiene como Experimental.
[!IMPORTANT] 💡 La Regla de Oro: Cuando busques algo que no es una ley (anuncios, multas, nombramientos), añade siempre a tu instrucción: "Lee el texto íntegro usando article: 'todo'".
5. 🔬 Casos de Éxito: La Bestia en Acción
Caso SMI 2024: Buscamos "cuantia salario minimo profesional 2024".
- Acción de la Bestia: El motor detectó 0 resultados exactos, activó el Relaxed Search, descompuso la frase y encontró el RD 142/2024.
- Análisis: Automáticamente detectó que el Art. 1 mencionaba el
BOE-A-2015-11430(Estatuto Trabajadores) y ofreció el link para seguir investigando.
- Resultado: Halló el juzgado emisor (JUZGADO 1ª INSTANCIA 3) y extrajo el Deep Link directo:
https://subastas.boe.es/ds.php?id=SUB-JA-2022-205385.
🔗 Deep Link Licitación (BOE-B-2026-4926): El sistema rastreó el PDF y extrajo el enlace directo al expediente (
idEvl=...) en la Plataforma de Contratación, permitiendo saltar del documento estático a la gestión directa.🛡️ Escudo Anti-Alucinación (BOE-B-2023-37530): Ante una pregunta que presuponía la existencia de lotes, el servidor suministró el texto íntegro permitiendo a la IA corregir al usuario y confirmar que era un contrato de adjudicación única. Integridad total.
⚙️ Arquitectura de la "Bestia Legal"
Este servidor no es un simple script de scraping. Es un motor de inteligencia legal con fallbacks recursivos y análisis proactivo:
🏛️ Capa Legislada (API Consolidada): El carril rápido. Buscamos en la base de datos oficial de legislación consolidada. Velocidad máxima, datos estructurados. Perfecta para leyes vigentes (Código Civil, Ley de Startups, etc.).
📋 Capa Diaria (XML Nativo): Cuando el documento es reciente o no es una ley (un anuncio de ayer, un nombramiento de esta mañana), saltamos al
xml.phpoficial del boletín del día. Sin intermediarios.🦅 Capa de Rescate (Heurística de PDF): Aquí ocurre la magia real. Si el XML viene más vacío que las promesas electorales, el servidor:
- 📐 Calcula la ruta exacta del PDF oficial usando algoritmos de fecha e ID.
- 📥 Descarga el documento en memoria.
- 📖 Extrae el texto bruto usando
pdf-parse. - 🍽️ Se lo sirve a la IA en bandeja de plata.
🧠 Capa de Análisis (Novedad v1.2.0): Detecta automáticamente IDs del BOE y nombres de leyes citadas en el texto para que la IA pueda "navegar" la red legal.
🌐 Capa de Investigación Externa (Pro Plus v1.3.0): Detecta URLs externas y ofrece la herramienta
boe_follow_linkpara que el agente pueda salir del BOE y leer pliegos, bases en webs regionales o detalles técnicos en otros portales gubernamentales.🔨 Capa Auction Hunter (BETA v1.4.0): Integración directa con
subastas.boe.es. Permite buscar activos subastados (inmuebles, naves, vehículos) mediante el motorboe_search_auctions.
🗺️ El Diccionario de los IDs (El mapa de la jungla)
El BOE no es un libro, es una jungla organizada en secciones. Memoriza los prefijos y nunca te perderás:
BOE-A-YYYY-NNNN: Leyes, Reales Decretos y Nombramientos. (Ej: BOE-A-2024-11776).BOE-B-YYYY-NNNN: Anuncios, Licitaciones y Subastas. (Ej: BOE-B-2024-4144).BOE-S-YYYY-NNNN: Otras Notificaciones. (Multas, citaciones, etc.).
🎯 Estrategia de Búsqueda: Radar vs. Brújula
Esta sección te puede salvar de pensar que el sistema "no funciona". La clave está en elegir la herramienta correcta:
1. 🧭 La Brújula (boe_search) — Para LEYES
Úsala cuando sabes el nombre de la norma o quieres encontrar legislación consolidada.
- ✅ Busca la Ley de Propiedad Horizontal y dame el Artículo 9.
- ❌ NO la uses para buscar multas individuales o anuncios del día.
2. 📡 El Radar (boe_get_daily_summary) — Para ANUNCIOS DEL DÍA
Úsala para descubrir qué se ha publicado hoy o en una fecha concreta (multas, licitaciones, nombramientos).
- ✅ Mira el sumario del BOE del 19 de febrero y sácame los IDs de los anuncios de la AEAT.
- Una vez tienes el ID, usa la siguiente herramienta. El Radar te descubre la presa; otra herramienta la abate.
3. 👁️ El Ojo de Sauron (boe_get_article) — Para LEER TODO
El núcleo del sistema. Una vez tienes el ID (de la Brújula, del Radar, o porque ya lo sabes), esta herramienta te devuelve el texto completo, lo que implique XML o PDF.
- ✅ Lee el anuncio BOE-B-2024-4144 con article: "todo".
💡 Guía de Supervivencia para Queries
Para que tu IA no se pierda, ayúdala a ser un mejor abogado:
❌ Malas Queries (Así no)
- "Busca la ley de educación." — Hay 50. Gemini se agobiará y tú también.
- "Dime qué dice el BOE hoy." — Como pedirle el Quijote resumido en 10 segundos.
- "Busca una multa a mi nombre." — El
searchno busca multas individuales, busca leyes.
✅ Buenas Queries (Nivel Senior)
- 🏛️ Para Leyes: "Usa el MCP para buscar la Ley 28/2022 y dime qué dice el Artículo 15 sobre nómadas digitales."
- 📋 Para Anuncios con ID: "Usa el MCP para leer el anuncio BOE-B-2024-4144 (artículo 'todo'). ¿De qué ayuntamiento es y para qué proyecto están expropiando?"
- 📡 Para Notificaciones del Día: "Mira el sumario de hoy con
boe_get_daily_summary. Busca notificaciones de juzgados y léeme el texto de la primera que encuentres."
[!TIP] 💡 Truco de Experto: Cuando busques anuncios, nombramientos o cualquier cosa que no sea un artículo numerado, dile siempre a la IA:
article: "todo". Eso activa el modo lectura completa y el "Modo Rescate PDF" si hace falta.
🛠️ Arsenal de Herramientas (El Maletín del Abogado)
| Herramienta | Misión | Parámetros clave |
| :--- | :--- | :--- |
| boe_search | 🧭 Brújula. Encontrar el ID de una ley (con fallback "Relajado"). | q: "Amnistía 2024" |
| boe_get_article | 👁️ Bisturí. Extraer texto y detectar Referencias Cruzadas. | id: "BOE-A-...", article: "1" |
| boe_get_relationships| 🔗 Linaje. Ver qué normas modifica o deroga esta ley. | id: "BOE-A-..." |
| boe_search_recent_summaries | 📡 Radar. Escanear sumarios de los últimos N días. | keyword: "Oposiciones", days: 7 |
| boe_get_daily_summary | 📅 Sumario. Ver todo lo publicado en una fecha concreta. | date: "20260219" |
| boe_follow_link | 🌐 Explorador. Entra en links externos (PDFs, webs regionales). | url: "https://..." |
| boe_search_auctions | 🔨 Subastas. Busca activos en el Portal de Subastas del BOE. | subtype: "505" |
| boe_follow_link | 🔗 Explorador. Seguir y leer contenido de links externos citados. | url: "https://..." |
| eurlex_search | 🇪🇺 Pasaporte. Normativas de la Unión Europea. | q: "RGPD" |
🚀 Instalación e Integración
1. Instalación Global (Una vez y para siempre)
npm install -g boe-eurlex-mcpO usa npx directamente en los comandos de configuración de abajo. No instala nada y siempre trae la última versión.
💎 Gemini CLI (Antigravity)
Dale superpoderes legales a tu terminal con un solo comando:
gemini mcp add boe_eurlex npx -y boe-eurlex-mcp --scope user🤖 Claude Desktop
Abre tu archivo de configuración (%APPDATA%\Claude\claude_desktop_config.json en Windows, ~/Library/Application Support/Claude/claude_desktop_config.json en Mac) y añade:
{
"mcpServers": {
"boe_eurlex": {
"command": "npx",
"args": ["-y", "boe-eurlex-mcp"]
}
}
}🌌 Antigravity / Cursor / Cline / IDEs con soporte MCP
Configura un nuevo servidor MCP en tu IDE con:
- Comando:
npx - Argumentos:
-y,boe-eurlex-mcp
[!IMPORTANT] 🏛️ Reglas de Oro para Agentes (Antigravity/Cursor/Cline):
- Para anuncios (
BOE-B) o nombramientos (BOE-A), usa SIEMPREarticle: "todo".- Si un documento no está en XML, el servidor activará el "Modo Rescate PDF" automáticamente. No interrumpas el proceso.
- Usa
boe_searchpara leyes consolidadas yboe_get_daily_summarypara encontrar anuncios del día.
🔐 Garantía de Verdad (SHA-256 Anti-Alucinaciones)
Cada respuesta del servidor incluye una huella digital criptográfica SHA-256 del texto. Si alguien modifica el contenido aunque sea una coma, el hash cambia. Porque en la ley, una coma puede mandarte a prisión... o sacarte de ella.
{
"source": "BOE",
"id": "BOE-A-2024-11776",
"sha256": "a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e",
"nota": "Si el hash no coincide con el BOE oficial, alguien ha tocado el texto. (Spoiler: no hemos sido nosotros)."
}📜 Licencia
MIT. Úsalo, cámbialo, ámalo. (Pero no nos demandes si Gemini te dice que puedes aparcar en doble fila, ¡comprueba siempre la fuente oficial!).
