Skip to main content
Glama
README.md
# CEMIS — servidor MCP

Servidor [MCP](https://modelcontextprotocol.io) de solo lectura sobre el directorio de datos de [CEMIS](https://cemis.io): empresas cubanas registradas, oportunidades de negocio derivadas de las reformas económicas de Cuba 2026, y las transformaciones/reformas en sí.

Listado en el registry oficial de MCP como [`io.github.francofuji/cemis-directorio`](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.francofuji/cemis-directorio).

## Conectarse

Servidor público, sin autenticación (todos los datos ya son públicos en [cemis.io](https://cemis.io)):

```
https://mcp.cemis.io/mcp
```

Transporte: `streamable-http`. Compatible con cualquier cliente MCP (Claude Desktop, ChatGPT con conectores personalizados, etc.) — agregalo como servidor remoto de tipo HTTP.

## Herramientas

| Tool | Qué hace |
|---|---|
| `buscar_empresas` | Filtra empresas por sector, provincia, objetivo comercial o si están verificadas |
| `ficha_empresa` | Perfil completo de una empresa, con sus oportunidades y transformaciones relacionadas |
| `oportunidades_por_sector` | Oportunidades de negocio relevantes para un sector dado |
| `empresas_por_oportunidad` | Empresas relacionadas con una oportunidad de negocio concreta |
| `impacto_de_reforma` | Dada una transformación económica, devuelve sectores/tipos de empresa afectados, empresas concretas, y oportunidades que se abren |
| `listar_sectores` | Taxonomía de sectores válidos, derivada de datos reales |
| `listar_provincias` | Las 16 provincias cubanas válidas para filtrar |

## Desarrollo local

```bash
cd mcp_server
python3.11 -m venv venv
./venv/bin/pip install -r requirements.txt
./venv/bin/python -m pytest tests/ -v   # 25 tests, 100% local
MCP_TRANSPORT=stdio ./venv/bin/python server.py
```

Para correr en modo HTTP (el mismo `server.py`, sin bifurcar código):

```bash
MCP_TRANSPORT=streamable-http MCP_PORT=8000 ./venv/bin/python server.py
```

## Docker

```bash
docker build -f mcp_server/Dockerfile -t cemis_mcp .
docker run -p 8000:8000 cemis_mcp
```

## Estructura

- `cemis_core/`: keywords de matching y funciones compartidas (empresa↔oportunidad↔transformación), sin dependencia del sitio.
- `data.py`, `oportunidades_data.py`, `estados_transformaciones.py`, `empresas_data.json`: los mismos datos publicados en cemis.io.
- `mcp_server/`: el servidor MCP propiamente dicho.

Este repo es un subconjunto extraído del proyecto completo de cemis.io (que incluye además el generador del sitio estático) — acá vive únicamente lo necesario para correr el servidor MCP de forma independiente.

## Licencia

MIT — ver [LICENSE](LICENSE). Los datos expuestos son los mismos ya publicados públicamente en cemis.io.