Metadata-Version: 2.5
Name: licitapilot-mcp
Version: 0.1.0
Summary: Servidor MCP oficial de LicitaPilot: licitaciones públicas de España (PLACSP y autonómicas) para Claude, ChatGPT, Cursor y cualquier asistente compatible con MCP.
Project-URL: Homepage, https://licitapilot.com
Project-URL: Documentation, https://github.com/jmcodero/licitapilot-mcp#readme
Project-URL: Source, https://github.com/jmcodero/licitapilot-mcp
Project-URL: Issues, https://github.com/jmcodero/licitapilot-mcp/issues
Author-email: LicitaPilot <hola@licitapilot.com>
License: MIT
License-File: LICENSE
Keywords: chatgpt,claude,contratacion-publica,licitaciones,mcp,model-context-protocol,placsp,public-procurement,spain
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27
Requires-Dist: mcp<3,>=2.3
Provides-Extra: dev
Requires-Dist: anyio>=4; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: respx>=0.21; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# LicitaPilot MCP

Servidor [MCP](https://modelcontextprotocol.io) oficial de **[LicitaPilot](https://licitapilot.com)**: conecta Claude, ChatGPT, Cursor o cualquier asistente compatible con MCP a las **licitaciones públicas de España** (Plataforma de Contratación del Sector Público y portales autonómicos), actualizadas a diario.

Pregúntale a tu asistente cosas como:

- *«¿Qué licitaciones de limpieza hay abiertas en Zaragoza por encima de 100.000 €?»*
- *«Analiza la licitación 108670: ¿quién suele ganar y con qué baja?»*
- *«¿Qué contratos de obras vencen en los próximos meses y quién los tiene ahora?»*
- *«Con un presupuesto de 100.000 € y ofertas de 95.000, 90.000, 88.000 y 60.000 €, ¿cuál es temeraria?»*
- *«Haz una radiografía de mi competidor CONSTRUCCIONES EJEMPLO, S.A.»*

Cada respuesta incluye el enlace a licitapilot.com para que el asistente cite la fuente.

## Herramientas

| Herramienta | Qué hace |
|---|---|
| `buscar_licitaciones` | Busca por texto, provincia, CPV, organismo, estado, importe y fecha. |
| `ver_licitacion` | Ficha completa con pliegos, quién suele ganar, nivel de competencia, baja del sector y checklist. |
| `buscar_organismo_o_empresa` | Encuentra organismos y adjudicatarias por nombre o NIF. |
| `ver_organismo` | Volumen licitado, sectores, empresas que más le ganan, baja habitual y contratos que vencen. |
| `ver_empresa` | Contratos ganados, evolución, organismos clientes, baja media y competidores. |
| `ranking_adjudicatarias` | Empresas que más ganan, por sector, provincia o año. |
| `contratos_que_vencen` | Contratos que terminan en los próximos 18 meses, con su adjudicatario actual. |
| `licitaciones_planificadas` | Contratos previstos en los planes anuales de contratación (art. 28.4 LCSP). |
| `estadisticas_baja` | Baja media, mediana y percentiles de adjudicación por sector. |
| `licitaciones_desiertas` | Tasa de licitaciones desiertas por sector, provincia y mes. |
| `clasificacion_exigida` | Qué clasificación de contratista piden las licitaciones de cada sector. |
| `calcular_baja_temeraria` | Ofertas anormalmente bajas según el art. 85 RGLCAP (sin red). |
| `comprobar_umbral_sara` | Si un contrato está sujeto a regulación armonizada, umbrales 2026-2027 (sin red). |
| `estimar_probabilidad_ganar` | Probabilidad de ganar (PWin) con la fórmula explicable de LicitaPilot (sin red). |
| `mis_oportunidades` | Las licitaciones que encajan con tu empresa en LicitaPilot (requiere clave). |

Incluye también tres *prompts* listos: `analizar_licitacion`, `radiografia_competidor` y `anticipar_oportunidades`.

Todas las herramientas son de solo lectura. Salvo `mis_oportunidades`, no necesitan cuenta ni clave.

## Instalación

### Opción 1: servidor remoto (sin instalar nada)

URL del servidor: `https://licitapilot.com/mcp`

- **Claude (web y escritorio):** Ajustes → Conectores → Añadir conector personalizado → pega la URL.
- **ChatGPT:** Ajustes → Aplicaciones y conectores → Crear → pega la URL.
- **Claude Code:** `claude mcp add --transport http licitapilot https://licitapilot.com/mcp`

### Opción 2: local con `uvx`

Requiere [uv](https://docs.astral.sh/uv/). Añade a la configuración MCP de tu cliente (por ejemplo `claude_desktop_config.json` o `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "licitapilot": {
      "command": "uvx",
      "args": ["licitapilot-mcp"]
    }
  }
}
```

Mientras el paquete no esté en PyPI, usa `"args": ["--from", "git+https://github.com/jmcodero/licitapilot-mcp", "licitapilot-mcp"]`.

En Claude Code: `claude mcp add licitapilot -- uvx licitapilot-mcp`

### Tu cuenta de LicitaPilot (opcional)

Para usar `mis_oportunidades` necesitas una clave de API del plan Empresa, que se crea en [licitapilot.com/app/cuenta](https://licitapilot.com/app/cuenta):

- **Local:** añade `"env": {"LICITAPILOT_API_KEY": "lp_live_…"}` a la configuración anterior.
- **Remoto:** envía la cabecera `Authorization: Bearer lp_live_…` si tu cliente lo permite.

La clave solo se reenvía a la API de LicitaPilot; el servidor no la guarda ni la registra. No la subas nunca a un repositorio.

## Ejecutarlo tú mismo

```bash
pip install licitapilot-mcp
licitapilot-mcp                       # stdio
licitapilot-mcp --http --port 8000    # Streamable HTTP en http://127.0.0.1:8000/mcp
```

Variables de entorno: `LICITAPILOT_API_KEY`, `LICITAPILOT_API_URL` (por defecto `https://licitapilot.com/api`), `MCP_HOST`, `MCP_PORT`, `MCP_PATH` y `MCP_ALLOWED_HOSTS` (hosts admitidos detrás de un proxy, separados por comas).

## Desarrollo

```bash
uv venv && uv pip install -e ".[dev]"
pytest -q && ruff check src tests
```

## Datos y licencia

Los datos proceden de fuentes oficiales de contratación pública (PLACSP y portales autonómicos), agregados y enriquecidos por LicitaPilot. Más contexto en [licitapilot.com](https://licitapilot.com). También existe un [SDK de Python](https://github.com/jmcodero/licitapilot-python).

Código bajo licencia MIT.
