Skip to main content
Glama
README.md
# entes-mcp — Entes administrativos y reguladores de Chile (MCP)

Servidor **MCP** que expone los organismos administrativos y reguladores chilenos
como herramientas: un **registro institucional curado** (competencia, ley
orgánica con `idNorma`, potestades, actos típicos, trámites, portal oficial),
**deep-links** a los registros oficiales, **validación de RUT** (local) e
**indicadores/datasets en vivo**.

Complementa —no sustituye— a:

- **LeyChile MCP** → el *texto* de la norma (cada ficha enlaza su ley orgánica por `idNorma`).

Responde la pregunta que ni la norma ni el contrato contestan solos: **«¿ante quién, con qué potestad y mediante qué trámite?»**

## Cobertura (31 entes)

Societario/registral (RES, CBR), tributario (SII, TGR, Aduanas), financiero
(CMF, Banco Central), competencia (FNE, TDLC), laboral/previsional (DT, SP,
SUSESO), concursal (SIR), datos (APDP, CPLT), consumo (SERNAC), penal
económico/LA-FT (UAF, Ministerio Público), propiedad industrial e intelectual
(INAPI, DDI), inversión/ambiental (InvestChile, SEA, SMA), contratación/control
(CGR, ChileCompra) y sectoriales (SEC, SISS, SUBTEL, DGA, Sernageomin, Cochilco).

## Herramientas (24)

### Catálogo institucional — sin red
| Tool | Qué hace |
|------|----------|
| `entes_listar` | Lista/filtra entes por área o naturaleza |
| `entes_ficha` | Ficha completa: ley orgánica, potestades, trámites, capas |
| `entes_buscar` | Materia/trámite → ente(s) competente(s) + base legal |
| `entes_competente_por_tramite` | Mapa trámite → ente |
| `entes_deeplink` | URL exacta al registro oficial (Boletín Concursal, INAPI, SNIFA, SEIA…) |
| `entes_validar_rut` | Valida y normaliza RUT/RUN (módulo 11) |

### Datos en vivo
| Tool | Qué hace | Clave |
|------|----------|-------|
| `entes_sii_situacion_tributaria` | Situación tributaria de un RUT ante el SII | — |
| `entes_indicadores` | UF, UTM, UTA, dólar, euro, IPC, TPM | — |
| `entes_datasets` | Datasets oficiales en datos.gob.cl (CKAN) | — |
| `entes_licitaciones` | Licitaciones de Mercado Público | `MERCADOPUBLICO_TICKET` |
| `entes_series_bcentral` | Series estadísticas del Banco Central (BDE) | `BCENTRAL_USER` / `BCENTRAL_PASS` |

Las dos últimas **degradan con gracia**: si falta la clave, la herramienta lo dice y sugiere el
deep-link equivalente. Todo lo demás funciona sin configurar nada.

### Normativa y jurisprudencia — extracción y comparación
| Tool | Qué hace |
|------|----------|
| `entes_normativa_listar` | Documentos (circulares…) de un ente y año |
| `entes_normativa_buscar` | Busca por materia en un rango de años → `doc_id` |
| `entes_normativa_texto` | Baja y extrae el **texto completo** de 1..N documentos |

### Razonamiento jurídico ejecutable
| Tool | Qué hace |
|------|----------|
| `entes_razonar` | Reglas **derrotables** (PYTHEN, determinista): una excepción presente derrota la regla |
| `entes_evaluar_regla` | Evalúa una regla curada: art. 64 CT, RPPJ, FNE, UAF |
| `entes_listar_reglas` | Catálogo de reglas disponibles |

### Verificación determinista
Cálculos que un modelo de lenguaje no debe hacer «a ojo»:

| Tool | Qué hace |
|------|----------|
| `entes_verificar_plazo` | Plazos en días hábiles o corridos, con feriados chilenos |
| `entes_verificar_montos` | Montos y porcentajes declarados en un texto |
| `entes_verificar_contradiccion` | Contradicciones entre cláusulas |

### Portales con JavaScript
| Tool | Qué hace |
|------|----------|
| `entes_navegar_estado` | Estado del navegador (DrissionPage/Chrome, opcional) |
| `entes_navegar_extraer` | Entra a portales que la API no expone: oficios, FNE, TDLC |

### Catala — especificaciones legales ejecutables
| Tool | Qué hace |
|------|----------|
| `entes_catala_estado` | Estado de la toolchain (opcional) |
| `entes_catala_ejecutar` | Ejecuta una especificación (incluye art. 64 CT) |

## Prompts (3)

`mapa_regulatorio_operacion` · `due_diligence_regulatoria` · `ruta_constitucion_entidad`

## Instalación

```bash
cd entes-mcp
python -m venv .venv
.venv\Scripts\pip install -e .        # Windows
# .venv/bin/pip install -e .          # Linux/Mac
python -m entes_mcp                    # arranca en stdio
```

Requiere **Python 3.10+**. Para verificar la instalación:

```bash
.venv\Scripts\python -m pytest tests/ -q    # 53 pruebas
```

### Registro en Claude (stdio)

```json
{
  "mcpServers": {
    "entes": {
      "command": "python",
      "args": ["-m", "entes_mcp"],
      "env": {}
    }
  }
}
```

## Diseño

- **No inventa datos.** El catálogo son fichas institucionales verificables; los
  deep-links llevan al registro fuente; los indicadores vienen de la API pública.
- `idNorma` **verificados** contra el LeyChile MCP y el `norm_store` del engine
  (2026-07-03). Donde no hay `idNorma` confirmado del texto consolidado, se
  referencia por número/nombre con enlace de búsqueda a LeyChile.
- Mismo patrón que LeyChile MCP: FastMCP, Pydantic (`extra="forbid"`),
  `response_format` markdown|json, cliente httpx con caché TTL y reintentos.

Ver [docs/HERRAMIENTAS.md](docs/HERRAMIENTAS.md) para el detalle de cada tool.

## Aviso

Información institucional de apoyo a la práctica profesional; no constituye
asesoría legal ni reemplaza la verificación en la fuente oficial.