Skip to main content

MCP server para acceder a datos públicos españoles (Catastro, BORME, CENDOJ, Licitaciones)

Project description

DataPrem MCP Server

Servidor Model Context Protocol (MCP) que expone fuentes de datos públicos españoles a agentes de IA (Claude Desktop, Cursor, ChatGPT, etc.).

Es un cliente ligero de la API REST de DataPrem: cada tool MCP traduce a una llamada HTTPS a api.dataprem.com con tu API key.

Estado de las tools (v0.2.0)

Tool Estado Fuente real Disponible
dataprem_catastro_lookup Live Sede Electrónica del Catastro vía API DataPrem
dataprem_borme_search Stub Boletín Oficial Registro Mercantil Fase 3 (TK-481)
dataprem_cendoj_search Stub Centro Documentación Judicial Fase 4 (TK-487)
dataprem_tenders_search Stub Plataforma Contratación Sector Público Fase 3 (TK-482)

Los stubs devuelven datos de demostración con flag _status: "stub" en la respuesta — útiles para que el LLM aprenda la forma esperada de cada tool y para mockups de UX, pero no son datos reales.

Cómo obtener una API key

Las tools "live" requieren un token Bearer válido de api.dataprem.com. Mientras estamos en pre-monetización (Fase 1), se emiten manualmente:

  1. Pide acceso enviando un email a hola@dataprem.com indicando el caso de uso (B2B integrador, B2C profesional, etc.).
  2. Recibirás un token con prefijo dpa_… y la URL del API.
  3. Configúralo en el cliente MCP (ver siguiente sección).

En Fase 2 el portal /account (TK-477) permitirá generar y rotar tokens en autoservicio.

Instalación

Requiere Python 3.11+.

# Vía PyPI (recomendado para clientes MCP)
uvx dataprem-mcp

# O instalación local para desarrollo
pip install -e ".[dev]"

Configuración en Claude Desktop

Edita claude_desktop_config.json (Mac: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "dataprem": {
      "command": "uvx",
      "args": ["dataprem-mcp"],
      "env": {
        "DATAPREM_API_KEY": "dpa_TU_TOKEN_AQUI",
        "DATAPREM_API_URL": "https://api.dataprem.com"
      }
    }
  }
}

Reinicia Claude Desktop. Las cuatro tools deberían aparecer disponibles para el modelo.

Configuración alternativa (desarrollo local)

{
  "mcpServers": {
    "dataprem-dev": {
      "command": "python",
      "args": ["-m", "dataprem_mcp"],
      "cwd": "/ruta/a/dataprem-mcp",
      "env": {
        "DATAPREM_API_KEY": "dpa_dev_token",
        "DATAPREM_API_URL": "http://dataprem-api.dataprem-api.test:81"
      }
    }
  }
}

Variables de entorno

Variable Default Descripción
DATAPREM_API_KEY (vacío) Token Bearer (dpa_…). Obligatorio para tools live.
DATAPREM_API_URL https://api.dataprem.com Base URL de la API. Cambiar para apuntar a entornos de desarrollo.

Tools — referencia

dataprem_catastro_lookup ✅ Live

Consulta datos catastrales de un inmueble. Acepta dos modos:

Por referencia catastral:

Parámetro Tipo Descripción
refcat string Referencia catastral (14, 18 o 20 caracteres)

Por dirección:

Parámetro Tipo Obligatorio Descripción
address string Dirección literal (tipo + nombre + número)
city string Municipio
province string no Provincia

Devuelve la ficha catastral normalizada (clase, uso, superficies, año de construcción, dirección con códigos INE, desglose de construcciones por planta y uso). No expone titular por LOPD/GDPR.

dataprem_borme_search (stub — Fase 3)

Parámetro Tipo Obligatorio
company_name string
date_from string YYYY-MM-DD no
date_to string YYYY-MM-DD no

dataprem_cendoj_search (stub — Fase 4)

Parámetro Tipo Obligatorio
query string
court string no
date_from string YYYY-MM-DD no

dataprem_tenders_search (stub — Fase 3)

Parámetro Tipo Obligatorio
query string
location string no
status "open" | "closed" | "all" no

Forma de la respuesta

Todas las tools devuelven dict. Las live marcan éxito o error con ok:

{ "ok": true, "data": { ... ficha catastral ... } }

{ "ok": false, "error": "unauthorized", "message": "API key invalid or revoked..." }

Las stub marcan su naturaleza con _status y la ETA real:

{ "_status": "stub", "_eta_phase": "Fase 3 (TK-481)", "_message": "Datos de demostración...", ...datos demo... }

Códigos de error de las tools live:

error Significado
missing_api_key DATAPREM_API_KEY no está en el entorno
invalid_request Faltan parámetros obligatorios
unauthorized Token revocado o caducado
not_found El upstream no encontró nada
validation_error Catastro rechazó el input (RC mal formada, vía no existe, etc.)
rate_limited Has agotado tu cuota mensual
upstream_error Catastro o DataPrem no disponibles temporalmente
upstream_unreachable No se puede contactar con DATAPREM_API_URL

Desarrollo

# Instalar dependencias dev
pip install -e ".[dev]"

# Ejecutar tests
pytest

# Ejecutar el server con un API key local
DATAPREM_API_KEY=dpa_xxx DATAPREM_API_URL=http://localhost python -m dataprem_mcp

Licencia

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataprem_mcp-0.2.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataprem_mcp-0.2.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file dataprem_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: dataprem_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dataprem_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 63c860be19639fe049464ecde7acecafeac2d83bca4462514a2e678ac72bf707
MD5 3ba47753cde6e4fd4f10a25fae5b2e0b
BLAKE2b-256 915ac23e62714de534edeca2f53ad26da09484b248f2058b81b9c4234dae10ce

See more details on using hashes here.

File details

Details for the file dataprem_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dataprem_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dataprem_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78f3f96f289a50473a7be1572713298e42823848299308c741bfe53ac90f84fd
MD5 3ad671de997542ff90f05d6ea352545f
BLAKE2b-256 70f38162ad8ae777415ffb7244310ec2cfbdd8eff6900eac366474cf5ace8035

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page