Skip to main content
Glama
normativa-andalucia
by ATO097

MCP-BOJA · Normativa de la Junta de Andalucía

Servidor MCP para que Claude (Desktop o Code) y otros clientes MCP consulten la normativa de la Junta de Andalucía publicada en el BOJA: leyes, decretos, decretos-ley, órdenes, resoluciones, etc.

Usa los datos abiertos de la Junta (dataset «Normativa de la Junta de Andalucía», licencia CC BY 4.0). No necesita clave ni registro.

Herramientas

Herramienta

Qué hace

buscar_normativa

Busca por palabras del título, rango, organismo, suborganismo, tema, subtema y rango de fechas. Sin distinguir mayúsculas ni tildes, con paginación.

obtener_norma

Ficha completa de una norma por su id.

leer_texto_boja

Texto íntegro de la disposición (página del BOJA o PDF), paginado, con el enlace al PDF oficial.

listar_valores_filtro

Rangos, organismos, suborganismos, temas y subtemas existentes.

contar_normas

Número total de normas del catálogo.

Ejemplos de preguntas a Claude:

  • «¿Qué decretos sobre viviendas turísticas ha aprobado la Junta?»

  • «Lista las normas publicadas en el BOJA en octubre de 2026.»

  • «Resume la Ley 13/2011 del Turismo de Andalucía.»

  • «¿Qué órdenes ha publicado la Consejería de Hacienda este año?»

Related MCP server: boe-mcp

Instalación

Requisitos: Windows, macOS o Linux con conexión a internet. El instalador usa uv (gestor de Python) y lo instala si falta. No hace falta tener Python instalado.

Windows (desde el ZIP)

  1. Entra en la última versión, descarga Source code (zip) (en el apartado Assets) y descomprímelo en cualquier carpeta. Se crea una carpeta mcp_boja-<versión>.

  2. Haz doble clic en instalar.bat.

  3. Reinicia Claude Desktop (ciérralo también desde el icono de la bandeja del sistema).

El instalador:

  1. instala el servidor con uv tool install (queda en %USERPROFILE%\.local\bin\mcp-boja.exe),

  2. lo añade a claude_desktop_config.json (guardando antes una copia .bak),

  3. lo registra en Claude Code si el comando claude está disponible.

Opciones: instalar.bat --solo-desktop o instalar.bat --solo-code.

macOS / Linux

sh instalar.sh

Directamente desde GitHub (sin ZIP)

uv tool install git+https://github.com/ATO097/mcp_boja
mcp-boja-configurar

Configuración manual

Si prefieres no usar el configurador, añade esto a claude_desktop_config.json (Claude Desktop → Configuración → Desarrollador → Editar configuración):

{
  "mcpServers": {
    "normativa-andalucia": {
      "command": "C:\\Users\\TU_USUARIO\\.local\\bin\\mcp-boja.exe"
    }
  }
}

En Claude Code:

claude mcp add -s user normativa-andalucia -- mcp-boja

Sin instalar nada de forma permanente (útil para probar):

"normativa-andalucia": {
  "command": "uvx",
  "args": ["--from", "git+https://github.com/ATO097/mcp_boja", "mcp-boja"]
}

Actualizar y desinstalar

  • Actualizar: descomprime la versión nueva y vuelve a ejecutar instalar.bat.

  • Desinstalar: desinstalar.bat (quita el registro de Claude y el programa).

Desarrollo

uv sync
uv run mcp-boja                    # servidor por stdio
uv run python tests/prueba_cliente.py   # prueba de extremo a extremo contra la API real
uv run mcp dev src/mcp_boja/server.py   # MCP Inspector

Notas sobre la API de la Junta

  • GET /search distingue mayúsculas y tildes, solo busca la frase exacta en el título y responde 400 cuando no hay resultados. Por eso el servidor descarga el catálogo completo (/all, unos 3 MB, regenerado a diario), lo guarda en memoria 3 horas y busca en local. Si falla la descarga, recurre a /search.

  • Los filtros de /search exigen el valor exacto (o - para no filtrar).

  • El texto de leer_texto_boja sale de la web del BOJA, que puede omitir imágenes o tablas. La versión auténtica es el PDF firmado (pdf_oficial).

Licencia

Código bajo licencia MIT. Datos: © Junta de Andalucía, licencia CC BY 4.0.

Available Tools

5 tools
buscar_normativaA

Busca normas de la Junta de Andalucía publicadas en el BOJA.

Ningún filtro distingue mayúsculas ni tildes, y todos admiten parte del nombre. Sin filtros devuelve las normas más recientes.

Args: texto: palabras que deben aparecer todas en el título, en cualquier orden y sin importar género o número (p. ej. "vivienda turistica"). rango: tipo de norma: "Ley", "Decreto", "Decreto-ley", "Orden", "Resolución", "Acuerdo", "Corrección de errores"... organismo: consejería u organismo (p. ej. "Hacienda", "Servicio Andaluz de Salud"). suborganismo: órgano dependiente (p. ej. "Dirección General de Presupuestos"). tema: tema (p. ej. "Medio ambiente"). subtema: subtema (p. ej. "Becas"). desde_fecha: fecha de publicación mínima, formato AAAA-MM-DD. hasta_fecha: fecha de publicación máxima, formato AAAA-MM-DD. orden: campo de ordenación. ascendente: True para orden ascendente (por defecto, lo más reciente primero). limite: número de resultados a devolver (1-100). saltar: resultados a omitir, para paginar (usa el valor siguiente_saltar).

Inputs: tema, orden, rango, texto, +8 more. Returns: object

contar_normasB

Número total de normas disponibles en el catálogo.

Inputs: no named parameters. Returns: object

leer_texto_bojaA

Lee el texto íntegro de una disposición publicada en el BOJA.

El texto procede de la web del BOJA y puede omitir imágenes o tablas; la versión oficial y auténtica es el PDF firmado (campo pdf_oficial).

Args: enlace_o_id: id de la norma (de buscar_normativa) o URL del BOJA. desde: posición del carácter desde el que leer (para paginar textos largos). max_caracteres: tamaño máximo del fragmento devuelto (1000-100000).

Inputs: enlace_o_id (required), desde, max_caracteres. Returns: object

listar_valores_filtroA

Lista los valores existentes de un filtro de búsqueda.

Args: tipo: filtro a consultar. contiene: texto opcional para filtrar la lista (sin distinguir mayúsculas ni tildes).

Inputs: tipo (required), contiene. Returns: object

obtener_normaB

Devuelve la ficha completa de una norma a partir de su identificador (campo "id").

Inputs: id (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 5 tools

    Disambiguation4/5

    Each tool has a largely distinct role: contar_normas counts, buscar_normativa searches, obtener_norma fetches metadata by id, listar_valores_filtro enumerates filter values, and leer_texto_boja reads full text. The only mild overlap is between obtener_norma (ficha/metadata) and leer_texto_boja (full disposition text), but the descriptions distinguish them adequately.

    Naming Consistency5/5

    All five tools follow a consistent Spanish verb_noun pattern (contar_normas, buscar_normativa, obtener_norma, listar_valores_filtro, leer_texto_boja). No mixing of conventions or casing styles.

    Tool Count4/5

    Five tools is well-scoped for a read-only normative catalog: search, count, retrieve, filter discovery, and full-text reading each earn their place. It is on the lean side but nothing is redundant.

    Completeness4/5

    For a read-only BOJA catalog, the surface covers search with rich filters, counting, detail retrieval, filter value discovery, and full-text access with pagination, which is a solid lifecycle. Minor gaps like related-norms or citation lookup exist but are workable.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers