BOE & EUR-Lex MCP Server
Enables querying and analyzing Spanish (BOE) and EU (EUR-Lex) legal documents, with advanced search, PDF extraction, and cross-reference detection.
README
<div align="center"> <img src="https://raw.githubusercontent.com/anamtb/boe-mcp/main/assets/boe_ai.gif" width="300" alt="BOE AI Demo" />
<h1>🏛️ BOE & EUR-Lex MCP Server</h1> <h3><i>"Bestia Legal Pro Plus" v1.3.0 — El radar jurídico definitivo</i></h3>
<p align="center"> <a href="#-la-crisis-de-identidad">La Crisis</a> • <a href="#-anatomía-técnica-del-modo-dios">Tecnología</a> • <a href="#-el-diccionario-del-hacker-del-boe">Los IDs</a> • <a href="#-estrategia-de-búsqueda-radar-vs-brújula">Estrategias</a> • <a href="#-guía-de-supervivencia-para-queries">Ejemplos</a> • <a href="#-instalación-e-integración">Instalación</a> </p>
</div>
🚨 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.2.0 "Bestia Legal" 🏛️�: Evolución proactiva. Incorpora Búsqueda Relajada (OR/Wildcard), Detector de Referencia Cruzadas automático y Análisis de Relaciones jurídicas. La IA ahora no solo lee, sino que investiga conexiones.
🎯 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ículo 15] 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.
⚙️ 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:
<div align="center"> <img src="https://raw.githubusercontent.com/anamtb/boe-mcp/main/assets/architecture.png" width="800" alt="Arquitectura Bestia Legal" /> </div>
-
🏛️ 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.
🗺️ 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] 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" |
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-mcp
O 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!).
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。