entes-mcp
by IanGuiloff
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.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues