Catálogo de fuentes públicas de España

io.github.BquantFinancev0.1.0Updated Oct 1, 2026

Fuentes de datos públicos de España verificadas: endpoints, trampas, recetas, identificadores

VerifiedSTDIODesktop onlyOther

Installation

In SourceWeft

  1. Open Catálogo de fuentes públicas de España in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[fuentes públicas: datos públicos de España para agentes y devs]

Administración fuentes públicas

[CI] [Licencia CC0] [Apoya en Ko-fi]

Spanish public-sector data sources, catalogued for AI agents and developers: verified endpoints, response shapes, pitfalls, and recipes. Start at llms.txt.

Catálogo de fuentes de datos de la Administración pública española para desarrolladores y agentes de IA: qué hay, dónde está, cómo se llama, qué devuelve y qué falla. Cada endpoint se prueba con una llamada real y cada trampa lleva la fecha en que se comprobó.

Empieza aquí

  • Agente con MCP (Claude, Cursor y cualquier cliente MCP): uvx --from git+https://github.com/BquantFinance/Administracion-fuentes-publicas mcp-catalogo, o [Instalar en Cursor]. Carga solo la ficha que hace falta (guía).
  • Agente sin MCP: llms-min.txt (7 KB) o llms.txt; todo el catálogo en catalog.json o llms-full.txt.
  • Código: cargadores en Python que ya resuelven las trampas en scripts/clientes/ (BOE y BORME, BDNS, AEMET, INE, PLACSP, DataComex, Saiku), probados contra respuestas reales.

Lo que no dice la documentación oficial

Algunos ejemplos, verificados con llamadas reales:

  • La API del BOE responde 400 si no envías Accept: application/json, y la forma del sumario cambia según el día.
  • La exportación de la BDNS devuelve 50 filas aunque haya miles si no pasas pageSize, y no avisa.
  • Para filtrar un municipio, el INE no quiere su código (02001) sino un Id interno (6124).
  • Muchos servidores .gob.es envían el certificado FNMT sin la intermedia: el navegador entra, curl y requests fallan (arreglo).
  • AEMET responde en dos pasos, con el fichero en ISO-8859-15 y los errores dentro de un HTTP 200.

Fuentes catalogadas: 95. Alcance actual: Administración General del Estado y, desde octubre de 2026, las cuatro comunidades más pobladas (Madrid, Cataluña, Andalucía y Comunitat Valenciana) y los ayuntamientos de Madrid y Barcelona. Después: resto de comunidades y entidades locales, Cortes y Poder Judicial, Unión Europea.

Principios

  • Una ficha por fuente, en YAML, con campos fijos validados contra un esquema. Sin prosa de relleno: cada línea ahorra una búsqueda.
  • Fuente única de verdad. Solo se editan sources/**/*.yaml. Índices, catalog.json y llms*.txt se generan.
  • Lo que no dice la documentación oficial. El campo gotchas recoge los detalles que hacen perder horas: cabeceras obligatorias, codificaciones raras, límites no documentados, URLs que cambian.
  • Verificación explícita. verified lleva la fecha de la última prueba real del endpoint, o null. Un job semanal comprueba que las URLs siguen respondiendo.
  • Top-down. Se cubren primero las fuentes de mayor uso e impacto, sector a sector, hasta cubrirlo todo.

Sectores

sectordescripciónfuentes
legislacion-boletinesLegislación y boletines oficiales5
economia-finanzasEconomía, finanzas y mercados5
hacienda-presupuestosHacienda, tributos y presupuestos6
estadisticaEstadística oficial7
contratacion-subvencionesContratación pública y subvenciones3
empleo-seguridad-socialEmpleo y Seguridad Social3
gobierno-abierto-administracionGobierno abierto, transparencia y organización administrativa11
territorio-cartografiaTerritorio, catastro y cartografía4
meteorologia-climaMeteorología y clima2
medio-ambiente-agua-biodiversidadMedio ambiente, agua y biodiversidad5
energiaEnergía5
sanidad-medicamentosSanidad y medicamentos5
ciencia-investigacionCiencia e investigación (biología, química, geología, oceanografía)7
agricultura-pesca-alimentacionAgricultura, pesca y alimentación4
transporte-movilidadTransporte y movilidad7
comercio-industria-propiedadComercio exterior, industria y propiedad industrial4
educacion-universidadesEducación y universidades2
justicia-interior-seguridadJusticia, interior y seguridad1
cultura-patrimonioCultura y patrimonio2
demografia-migraciones-sociedadDemografía, migraciones y sociedad4
vivienda-urbanismoVivienda y urbanismo1
telecomunicaciones-digitalTelecomunicaciones y sociedad digital1
exterior-cooperacionAcción exterior y cooperación0
consumo-seguridad-alimentariaConsumo y seguridad alimentaria1
defensaDefensa0

Estructura

sources/<sector>/<id>.yaml   fichas (fuente de verdad)sources/<sector>/README.md   índice del sector (generado)schema/source.schema.json    esquema de fichaschema/vocab.yaml            vocabulario controlado: sectores, acceso, auth, formatoscatalog.json                 todo el catálogo (generado)llms.txt / llms-full.txt     entrada para agentes (generado)indices/*.yaml               recetas por intención, necesidades, identificadores, códigos que son parámetros, rutas muertas (fuente de verdad)indices/README.md            los cinco índices en texto (generado)scripts/                     validate.py, build.py, check_links.py, check_recetas.py, check_ejemplos.py, fnmt_bundle.py, mcp_catalogo.py (servidor MCP local)scripts/clientes/            cargadores en Python que resuelven las trampas (BOE y BORME, BDNS, AEMET, INE, PLACSP, DataComex, Saiku)scripts/clientes/muestras/   respuestas reales recortadas para probar los parsers sin red (python scripts/test_clientes.py)evals/                       20 tareas con respuesta esperada para medir lo que aporta el repo a un agentetemplates/source.yaml        plantilla de fichaguides/                      guías transversales (identificadores para cruzar datasets, etc.)

Uso rápido

bash
# Todo el catálogocurl -s https://raw.githubusercontent.com/BquantFinance/Administracion-fuentes-publicas/main/catalog.json
# Fuentes de un sector con API REST y sin autenticacióncurl -s .../catalog.json | jq '.sources[] | select(.sector=="economia-finanzas" and (.access|index("api-rest")) and .auth=="none") | .id'

Índices para agentes

Además de las fichas, indices/ responde a las preguntas que se hacen antes de elegir una fuente:

  • Recetas por intención: procedimientos verificados que encadenan fichas (de un NIF a sus subvenciones y contratos, de unas coordenadas a la referencia catastral, del sumario del BOE al texto consolidado). Cada receta lleva comprobaciones que python scripts/check_recetas.py ejecuta contra los servidores reales.
  • Dónde está cada cosa: necesidades habituales con la ficha que las resuelve y la nota que evita el desvío típico.
  • Identificadores: los códigos que cruzan datasets, con regex, ejemplo, emisor y vías verificadas de conversión.
  • Códigos que son parámetros: valores que las APIs exigen y no se adivinan (Id del INE para tv, países de DataComex, estación de AEMET por capital, productos de carburantes, rangos del BOE), obtenidos con llamadas reales.
  • Rutas muertas: URLs de documentación antigua que ya no sirven y su sustituta.

Medido (evals/): en diez tareas resueltas por el mismo agente con y sin catálogo (dos modelos), el acierto fue el mismo; con catálogo, en las tareas difíciles las llamadas HTTP y los pasos del agente bajan a la mitad y las fallidas casi a cero. El consumo de tokens está pendiente de medir bien: las dos primeras tandas registraron el contexto final de cada agente, no los tokens procesados en todos sus turnos.

Todo en indices/README.md y, para consumo programático, bajo la clave indices de catalog.json. Cada endpoint principal de una ficha lleva example (llamada copiable) y returns (forma de la respuesta vista en esa llamada). python scripts/mcp_catalogo.py expone el catálogo por MCP en local para cargar solo lo necesario (guía).

Contribuir

Lee CONTRIBUTING.md. Resumen: copia templates/source.yaml, rellena, ejecuta python scripts/validate.py && python scripts/build.py, abre un PR.

Licencia

Catálogo y documentación: CC0 1.0. Los datos a los que apuntan las fichas tienen cada uno su propia licencia, indicada en el campo license.

Source: README.md at commit bf0aa01

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.0LatestOct 1, 2026