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:
- Pide acceso enviando un email a
hola@dataprem.comindicando el caso de uso (B2B integrador, B2C profesional, etc.). - Recibirás un token con prefijo
dpa_…y la URL del API. - 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 | sí | Dirección literal (tipo + nombre + número) |
city |
string | sí | 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 | sí |
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 | sí |
court |
string | no |
date_from |
string YYYY-MM-DD | no |
dataprem_tenders_search (stub — Fase 3)
| Parámetro | Tipo | Obligatorio |
|---|---|---|
query |
string | sí |
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63c860be19639fe049464ecde7acecafeac2d83bca4462514a2e678ac72bf707
|
|
| MD5 |
3ba47753cde6e4fd4f10a25fae5b2e0b
|
|
| BLAKE2b-256 |
915ac23e62714de534edeca2f53ad26da09484b248f2058b81b9c4234dae10ce
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78f3f96f289a50473a7be1572713298e42823848299308c741bfe53ac90f84fd
|
|
| MD5 |
3ad671de997542ff90f05d6ea352545f
|
|
| BLAKE2b-256 |
70f38162ad8ae777415ffb7244310ec2cfbdd8eff6900eac366474cf5ace8035
|