MCP-BOE

by computingvictor

Not rated
GitHub

About

MCP server para el BOE 🇪🇸 — Acceso a legislación consolidada, sumarios diarios y tablas oficiales del Boletín Oficial del Estado mediante Model Context Protocol y API REST.

Details

Author
computingvictor
Categories
Search, Knowledge Base, Other

Setup

Install MCP-BOE in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/computingvictor/MCP-BOE

Follow the installation instructions in the repository README, then restart your MCP client.

Model Context Protocol para el Boletín Oficial del Estado español

Un servidor MCP que permite a Claude y otros LLMs acceder a la API oficial del BOE para consultar legislación consolidada, sumarios diarios y tablas auxiliares del gobierno español.

- 🔍 Búsqueda de Legislación: Buscar en más de 50.000 normas consolidadas con filtros por departamento, rango normativo, materia y fechas
- 📰 Sumarios del BOE/BORME: Acceder a publicaciones diarias, búsquedas recientes y resúmenes semanales
- 🏛️ Tablas Auxiliares: Consultar códigos de departamentos, materias, rangos normativos y ámbitos
- 📄 Lectura de PDFs: Descargar y extraer el texto de cualquier documento del BOE para analizarlo
- 💬 Prompts integrados: Plantillas de consulta listas para usar en Claude
- 📊 Datos Oficiales: Conecta directamente con la API oficial del BOE
- ⚙️ Configurable: Timeout, reintentos y nivel de log via variables de entorno

- Instalación
-
Configuración con Claude Desktop
-
Configuración con Claude Code
-
Prompts disponibles
-
Herramientas disponibles
-
Lectura de PDFs
-
Variables de entorno
-
Ejemplos de uso
-
Solución de problemas
-
Estructura del proyecto

- Python3.10 o superior(requerido por la libreríamcp)
-
uv(recomendado) o pip

Opción 1: uvx — sin instalación (Recomendado)

Conuvxno necesitas clonar el repositorio ni gestionar dependencias:

uvx --from git+https://github.com/ComputingVictor/MCP-BOE.git mcp-boe
git clone https://github.com/ComputingVictor/MCP-BOE.git cd MCP-BOE # Instalar dependencias y ejecutar uv run python -m mcp_boe.server
git clone https://github.com/ComputingVictor/MCP-BOE.git cd MCP-BOE pip install -e .

Edita el archivo de configuración de Claude Desktop:

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "mcp-boe": { "command": "uv", "args": [ "run", "--python", "3.12", "--project", "/ruta/absoluta/a/MCP-BOE", "python", "-m", "mcp_boe.server" ] } } }

Sustituye/ruta/absoluta/a/MCP-BOEpor la ruta real donde clonaste el repositorio.

{ "mcpServers": { "mcp-boe": { "command": "uvx", "args": ["--from", "git+https://github.com/ComputingVictor/MCP-BOE.git", "mcp-boe"] } } }

Reinicia Claude Desktop tras guardar los cambios.

{ "mcpServers": { "mcp-boe": { "command": "uvx", "args": ["--from", "git+https://github.com/ComputingVictor/MCP-BOE.git", "mcp-boe"], "transport": "stdio" } } }

También puedes usar el archivo incluido en el repositorio:

# Desde el directorio del proyecto claude --mcp-config claude_mcp_config_uvx.json

El servidor incluye 4 prompts integrados accesibles desde el selector de prompts de Claude:

- tema:protección de datos→ encuentra RGPD y LOPDGDD
- tema:Ley 40/2015→ Ley de Régimen Jurídico del Sector Público
- tema:tráfico, departamento:Ministerio del Interior

Análisis completo de una norma: metadatos, estado de vigencia, estructura y relaciones con otras normas.

- BOE-A-1978-31229→ Constitución Española
- BOE-A-2015-10566→ Ley 40/2015 de Régimen Jurídico del Sector Público
- BOE-A-2018-16673→ Ley Orgánica de Protección de Datos

Resumen de las publicaciones más relevantes del BOE de una fecha concreta.

- fecha:20250101→ publicaciones del 1 de enero de 2025
- fecha:20240529, seccion:1→ solo disposiciones generales

Compara dos normas e identifica relaciones de modificación o derogación entre ellas.

- BOE-A-2015-10566yBOE-A-2015-10565→ Ley 40/2015 y Ley 39/2015 (las dos grandes leyes administrativas)

31 herramientas en totalorganizadas en 5 grupos.

📜 Legislación Consolidada (9 herramientas)

🛠️ Calidad de vida para LLMs (4 herramientas)

- URL directa: la que aparece en el campourl_pdfde los sumarios
https://www.boe.es/boe/dias/2025/03/28/pdfs/BOE-A-2025-6192.pdf
- Identificador BOE: el servidor consulta la API para obtener la fecha y construye la URL
BOE-A-2025-6192oBOE-A-2015-10566

max_pages— páginas máximas a leer (por defecto30, máximo100).

Límites aplicados: PDFs de hasta10 MBy80.000 caracteresde texto devuelto al LLM.

Lee el PDF de BOE-A-2015-10566 y explícame qué regula la Ley 40/2015
Descarga https://www.boe.es/boe/dias/2025/03/28/pdfs/BOE-A-2025-6192.pdf y resume su contenido
Busca el sumario del BOE de hoy y léeme el PDF del primer real decreto que aparezca

Ejemplo de configuración en Claude Desktop:

{ "mcpServers": { "mcp-boe": { "command": "uv", "args": ["run", "--project", "/ruta/a/MCP-BOE", "python", "-m", "mcp_boe.server"], "env": { "BOE_HTTP_TIMEOUT": "60", "LOG_LEVEL": "WARNING" } } } }
import asyncio from mcp_boe.utils.http_client import BOEHTTPClient from mcp_boe.tools.legislation import LegislationTools async def main(): async with BOEHTTPClient() as client: tools = LegislationTools(client) resultados = await tools.search_consolidated_legislation({ "query": "Ley 40/2015", "limit": 3 }) for r in resultados: print(r.text) asyncio.run(main())
import asyncio from datetime import datetime, timedelta from mcp_boe.utils.http_client import BOEHTTPClient from mcp_boe.tools.summaries import SummaryTools async def main(): async with BOEHTTPClient() as client: tools = SummaryTools(client) fecha = (datetime.now() - timedelta(days=2)).strftime("%Y%m%d") resultados = await tools.get_boe_summary({ "date": fecha, "section_filter": "1", "max_items": 10 }) for r in resultados: print(r.text) asyncio.run(main())
# Verificar que la API del BOE es accesible python -m mcp_boe.server --mode diagnose

El servidor no aparece en Claude Desktop

- Verifica que Python 3.10+ está disponible:python3 --version - Comprueba la ruta en el config: debe ser absoluta, no relativa - Reinicia completamente Claude Desktop (no solo la ventana) - Revisa los logs en Claude Desktop → Ayuda → Abrir carpeta de logs

Error:requires-python/ incompatibilidad de versión

La libreríamcprequiere Python 3.10 o superior. Fuerza la versión conuv:

"args": ["run", "--python", "3.12", "--project", "/ruta/MCP-BOE", "python", "-m", "mcp_boe.server"]

Error:No module named 'mcp_boe'

Asegúrate de pasar--projectal directorio raíz del repositorio (donde estápyproject.toml), no al directoriosrc/.

python -m mcp_boe.server --mode diagnose

La API del BOE no publica horarios de mantenimiento. Los errores 5xx se reintentan automáticamente hasta 3 veces.

MCP-BOE/ ├── src/mcp_boe/ │ ├── __init__.py │ ├── __main__.py │ ├── server.py # Servidor MCP: tools, prompts, resources │ ├── models/ │ │ └── boe_models.py # Modelos Pydantic y validadores │ ├── tools/ │ │ ├── legislation.py # 9 herramientas de legislación consolidada │ │ ├── summaries.py # 7 herramientas de sumarios BOE/BORME │ │ ├── auxiliary.py # 10 herramientas de tablas auxiliares │ │ ├── analysis.py # 4 herramientas de calidad de vida para LLMs │ │ └── documents.py # 1 herramienta de lectura de PDFs │ └── utils/ │ └── http_client.py # Cliente HTTP asíncrono con reintentos ├── examples/ │ └── basic_usage.py ├── tests/ ├── pyproject.toml ├── claude_mcp_config.json # Config de ejemplo para instalación local ├── claude_mcp_config_uvx.json # Config de ejemplo con uvx └── rest_api_wrapper.py # API REST opcional (FastAPI)

- Fork del proyecto
- Crea una rama (git checkout -b feature/nueva-funcionalidad)
- Haz commit de los cambios (git commit -m 'Agregar nueva funcionalidad')
- Push a la rama (git push origin feature/nueva-funcionalidad)
- Abre un Pull Request

git clone https://github.com/ComputingVictor/MCP-BOE.git cd MCP-BOE uv sync --extra dev uv run python -m pytest tests/ uv run black src/

- Implementación inicial del servidor MCP
- 31 herramientas: 9 de legislación, 7 de sumarios, 10 de tablas auxiliares, 4 de calidad de vida para LLMs, 1 de lectura de PDFs
- Herramientaread_boe_pdf: descarga y extrae texto de PDFs del BOE por URL o por ID de norma
- 4 prompts integrados:buscar_legislacion,analizar_norma,resumen_boe_dia,comparar_normas
- 2 recursos MCP:boe://helpyboe://status
- Cliente HTTP asíncrono con reintentos en errores de red y 5xx
- Configurable via variables de entorno
- Soporte para Python 3.10+

- La API del BOE es pública y no requiere autenticación
- No se almacenan datos localmente
- El servidor respeta automáticamente los límites de la API mediante reintentos con backoff

- API Oficial del BOE
-
Model Context Protocol
-
Documentación de Claude

- Email:vvictor.97@gmail.com
- GitHub:
@ComputingVictor

¿Tienes preguntas?Abre unissue.
¿Te gusta el proyecto?¡Dale una ⭐ en GitHub!

Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.

Fetch, convert, and search AWS documentation pages, with recommendations for related content.

Search campgrounds around the world on campertunity, check availability, and provide booking links.

The Ferryhopper MCP Server exposes ferry routes, schedules and booking redirects so an AI assistant can discover connections across Europe and the Mediterranean and send users to Ferryhopper to complete bookings.

All-in-One SEO & Web Intelligence Toolkit API from FetchSERP.

MCP server that provides read-only access to HyperKitty, the web-based email archive component of Mailman 3.

At Sunrise Apps, we believe AI agents should be limitless, especially when it comes to visual data. We created ImageSorcery to bridge the critical gap in AI's ability to interact with and manipulate images directly, all while upholding the highest standards of privacy and security.

Just Domain is the domain registrar for businesses built with AI. Its remote MCP server checks availability and returns first-year and renewal pricing, plus a link to register on justdomain.ai, with DNS and WHOIS privacy in the same place. No account, no API key, read only. Endpoint: https://mcp.justdomain.ai/

Research tools, including a Sqlite-backed document stash

Semantic search over 9 free-license stock photo sources. Hosted remote server with OAuth — no API key to paste.

SerpApi MCP Server for Google and other search engine results

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.