Model Context Protocol
MCP Server
Elicita expone un servidor Model Context Protocol(MCP) que permite a asistentes de IA como Claude, Cursor o Bedrock buscar en 66M+ de contratos públicos españoles.
Introducción
El servidor MCP de Elicita implementa el protocolo Streamable HTTP (spec 2026-07-28 stateless). Expone 7 herramientas (todas read-only) para buscar licitaciones, consultar estadísticas, explorar códigos CPV y analizar relaciones contractuales.
Funciona en dos modos:
4 tools públicas sin autenticación. 20 búsquedas/hora por IP.
7 tools completas. Sin rate limit del MCP. Límites del plan del usuario.
Conexión
Claude Desktop
Añade Elicita como servidor MCP en tu configuración de Claude Desktop:
Cursor
En Cursor: Settings → MCP → Add Server:
Cualquier cliente MCP
El servidor acepta peticiones POST con JSON-RPC 2.0 sobre Streamable HTTP:
Listar tools disponibles:
Buscar licitaciones:
Autenticación OAuth 2.0
Para desbloquear las 7 tools completas (incluyendo grafo de contratos y perfil de organismo), conecta tu cuenta de Elicita mediante OAuth 2.0 con Dynamic Client Registration (RFC 7591).
Endpoints
Flujo
- 1.El cliente MCP se registra dinámicamente en
/registery obtieneclient_id+client_secret. - 2.Redirige al usuario a
/authorizeque redirige a Clerk (clerk.elicita.es/oauth/authorize) donde el usuario inicia sesión con su cuenta de Elicita. - 3.Tras autorizar, se redirige con un
codeal callback del cliente. - 4.Clerk redirige a
/mcp/callbackcon un code. El MCP server intercambia ese code con Clerk por userinfo (email, userId), busca o crea la API key de Elicita del usuario, y genera un MCP auth code. El cliente intercambia ese MCP code por unaccess_tokenen/token. - 5.El access_token se envía como
Authorization: Bearer <token>en cada petición a/mcp.
Nota: Los access tokens del MCP se almacenan en memoria del servidor con un TTL de 1 hora. No se persisten en disco ni en base de datos. La autenticación se delega a Clerk (IdP), por lo que el MCP server nunca maneja passwords ni credenciales de usuario directamente.
Registrar un cliente
Obtener un token
Tools
7 herramientas, todas read-only (readOnlyHint: true).
search_licitaciones
Gratuitoread-onlyBuscar licitaciones y contratos públicos por texto libre, código CPV, rango de importe, estado, fuente, NIF de organismo o adjudicatario, y rango de fechas.
Parámetros
Retorna
Lista de licitaciones con ID, título, organismo, importe, estado, fuente, fecha y enlace.
get_stats
Gratuitoread-onlyEstadísticas globales del dataset: total de registros, fuentes cubiertas y última actualización.
Retorna
Objeto con total_licitaciones, total_borme, total_calidad, fuentes y ultima_actualizacion.
get_cobertura
Gratuitoread-onlyCobertura de fuentes dinámicas: listado de fuentes activas con su periodicidad de actualización.
Retorna
Lista de fuentes con nombre, tipo, periodicidad y última descarga.
search_cpv
Gratuitoread-onlyBuscar códigos CPV (Common Procurement Vocabulary) por texto en español. 9.454 códigos disponibles.
Parámetros
Retorna
Lista de códigos CPV con código numérico y descripción en español.
get_organismo
OAuthread-onlyInformación detallada de un organismo por su NIF: nombre, importe total contratado, número de contratos y desglose por estado.
Parámetros
Retorna
Objeto con nombre, nif, importe_total, num_contratos y desglose por estado.
graph_search
OAuthread-onlyGrafo de relaciones contractuales de un organismo. Muestra a quién contrata, con qué CPVs, y qué empresas relacionadas aparecen.
Parámetros
Retorna
Nodos (organismos, empresas) y aristas (contratos) del grafo de relaciones.
graph_contracts
OAuthread-onlyContratos relacionados a partir de un organismo, CPV, importe o adjudicatario. Útil para encontrar oportunidades similares.
Parámetros
Retorna
Lista de contratos relacionados con puntuación de similitud.
Ejemplos
Buscar licitaciones de ciberseguridad
Buscar códigos CPV de software
Perfil de organismo (OAuth)
Grafo de relaciones (OAuth)
Primeros prompts
Copia y pega estos prompts en tu agente de IA después de conectar Elicita MCP. Están diseñados para mostrar valor inmediato — cada uno exercising una tool distinta y revelando datos que un agente sin Elicita no puede obtener.
1. Oportunidades por sector y zona
Encuentra contratos activos en tu sector sin abrir cinco plataformas.
2. Descubre tus códigos CPV
Los códigos CPV definen qué se contrata. Si no sabes cuáles usar, el agente los busca por ti.
3. Radar competitivo
Monitoriza qué contrata tu competencia directa.
4. Perfil de organismo
Cuánto contrata un organismo, en qué sectores, con qué frecuencia.
5. Mapa de relaciones
Quién contrata con quién. Patrones de concentración no visibles en listados.
6. Oportunidades similares
Encontraste un contrato interesante. Busca parecidos activos.
Por qué Elicita
Un agente de IA sin Elicita puede escribir emails, generar código o resumir documentos. Pero no puede ver 66M de contratos públicos españoles. Esto es lo que cambia cuando lo conectas:
Sin Elicita
- ✗ Datos de entrenamiento desactualizados o incompletos
- ✗ No puede buscar en PLACE, TED ni plataformas autonómicas
- ✗ Alucina nombres de organismos, importes y adjudicatarios
- ✗ No puede cruzar BORME con licitaciones
- ✗ Te dice "no tengo acceso a datos en tiempo real"
Con Elicita MCP
- ✓ 66.4M de registros actualizados cada 4 horas
- ✓ 12 fuentes oficiales (PLACE, TED, 9 autonómicas, BORME)
- ✓ Datos verificables con enlace a la fuente original
- ✓ Grafo de relaciones: quien contrata con quien
- ✓ BORME integrado: 26M de cargos societarios
- ✓ Sin alucinaciones: los datos son reales o no existen
Elicita es un superpoder en contratos públicos.Tu agente de IA ya sabe razonar, escribir código y planificar. Conectado a Elicita, también sabe qué se contrata, quién se lo lleva, cuándo y por cuánto. No es información que pueda buscar en Google o extraer de su memoria de entrenamiento — son 66M de registros que solo existen en Elicita.
2-3h
tiempo manual de recopilación diaria sin Elicita
~5s
tiempo con un prompt y Elicita MCP
66.4M
registros que tu agente no tiene de otra forma
Límites
| Modo | Límite | Aplicación |
|---|---|---|
| Gratuito | 20 req/hora por IP | MCP server |
| OAuth | Sin rate limit en MCP | Límites del plan del usuario en la API |
| nginx | 5 req/segundo burst | Protección contra picos (todos los modos) |
Al alcanzar el límite gratuito, se devuelve HTTP 429 con Retry-After indicando los minutos restantes.
Errores
| Código | Nombre | Descripción |
|---|---|---|
| 400 | Bad Request | Parámetros inválidos o faltantes. |
| 401 | Unauthorized | Token OAuth inválido o expirado. |
| 429 | Too Many Requests | Límite de rate excedido. Reintentar después del tiempo indicado en Retry-After. |
| 500 | Internal Server Error | Error interno del servidor. |