npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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)

Readme

TypeScript MCP NPM


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

  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.

  6. 🔨 Capa Auction Hunter (BETA v1.4.0): Integración directa con subastas.boe.es. Permite buscar activos subastados (inmuebles, naves, vehículos) mediante el motor boe_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 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] 💡 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-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!).