BOE & EUR-Lex MCP Server

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.

Category
Visit Server

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>

TypeScript MCP NPM

<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>

  1. 🏛️ 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.).

  2. 📋 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.php oficial del boletín del día. Sin intermediarios.

  3. 🦅 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.
  4. 🧠 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.

  5. 🌐 Capa de Investigación Externa (Pro Plus v1.3.0): Detecta URLs externas y ofrece la herramienta boe_follow_link para 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 search no 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):

  1. Para anuncios (BOE-B) o nombramientos (BOE-A), usa SIEMPRE article: "todo".
  2. Si un documento no está en XML, el servidor activará el "Modo Rescate PDF" automáticamente. No interrumpas el proceso.
  3. Usa boe_search para leyes consolidadas y boe_get_daily_summary para 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!).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured