mcpField
M
MCP Leyes Chile

MCP Leyes Chile

Local
github.com/billibu-nLegal & Government0Updated 5d ago

About MCP Leyes Chile

MCP Leyes Chile is an MCP server for people preparing Chilean legal documents and checking statutory references. It combines searchable law, version-aware citations, notarial forms, and draft document generation.

Key features

  1. 01Search a local corpus of Chilean laws
  2. 02Retrieve articles with source and validity dates
  3. 03Check batches of legal citations
  4. 04Browse curated notarial procedure sheets
  5. 05Generate ODT, PDF, DOCX, or Markdown drafts

Use cases

  1. 01Find a statutory article by its wording
  2. 02Check whether references in a draft are verifiable
  3. 03Prepare a notarial document draft
  4. 04Review prior versions of a legal provision

MCP support

It exposes seven legal research and document tools to MCP clients, including article search, citation checks, notarial information, and document generation.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"billibu-n-mcp-leyes-chile": {
"command": "uvx",
"args": [
"mcp-leyes-chile"
]
}
}
}
Run commanduvx mcp-leyes-chile

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-leyes-chile0.2.4

Tools

7

Saved tool list · updated 4d ago

ParameterTypeRequiredDescription
qstringYes
limiteintegerNo
solo_vigentesbooleanNo

Details

From the project README

mcp-leyes-chile

mcp-name: io.github.billibu-n/mcp-leyes-chile

Servidor MCP de leyes chilenas con cita verificable (v0.2.2), fichas notariales curadas y generación de documentos .odt (editable), .pdf y .docx.

No es asesoría legal. Es una herramienta para que una persona llegue a la notaría con el borrador hecho y para que un abogado no presente una cita que no exista.

Qué hace

ToolPara qué
cl_buscarBusca artículos por texto en el corpus local (SQLite FTS5)
cl_articuloTexto literal + cita con vigente_desde, fuente y aviso; acepta vigente_al (AAAA-MM-DD) para la versión histórica
cl_versionesHistorial de versiones de una norma (83 en el DL 825)
cl_citarVerifica un lote: ok, faltantes, sin_fuente_verificable
cl_notaria27 fichas: trámite, arancel y estado por campo (24 generadas del Decreto 587)
cl_documentoGenera .odt y deriva .pdf (por defecto), .docx o .md, con marca de BORRADOR y la base legal de la plantilla
cl_coberturaQué cubre, hasta cuándo, y qué no cubre

Instalación

Desde PyPI:

pip install mcp-leyes-chile
mcp-leyes-chile --ingesta      # ~20 s: 9 normas, 6.246 artículos, 556 versiones
mcp-leyes-chile --selftest     # lista las 7 tools

O desde el código:

python3 -m venv .venv && . .venv/bin/activate
pip install -e .
python -m mcp_leyes --ingesta
python -m mcp_leyes --notaria-generar  # crea fichas desde el arancel (idempotente)
python -m mcp_leyes --smoke            # genera .odt + .pdf de prueba
python -m mcp_leyes                    # sirve por stdio

Configuración en un host MCP (ejemplo):

{"mcpServers": {"leyes-chile": {"command": "python", "args": ["-m", "mcp_leyes"],
  "env": {"MCP_LEYES_DB": "/ruta/a/corpus.db"}}}}

Formulario HTML

python -m mcp_leyes --formulario 8801
# http://127.0.0.1:8801/  -> pregunta los campos -> .odt + .pdf

Publicación

En el registro oficial: io.github.billibu-n/mcp-leyes-chile 0.2.2 (https://registry.modelcontextprotocol.io), paquete PyPI mcp-leyes-chile.

server.json cumple el esquema del registro: registryType: pypi, transport: stdio. Publicar requiere mcp-publisher login github y autorización del dueño.

Qué cambió en 0.2.2

El servidor pasó por una prueba de alto estrés de 41 comprobaciones por el protocolo real (parámetros hostiles, FTS5 roto, concurrencia, documentos en paralelo, lotes de 200). Encontró nueve defectos; esta versión los corrige:

DefectoAntesAhora
Consulta de 54.000 caracteres44 s de bloqueo11 ms (recorte a 24 términos)
Fecha ayer o 2020-13-45viajaba a LeyChile: 90 s y el texto de otra versión[invalid_arg] local en 1 ms
Centinela 2222-02-02 como fecharespuesta con fecha falsa[invalid_arg] que explica el centinela
cl_citar con una referencia sueltarechazo del protocoloacepta "6369/14" y la clasifica
Formato de cl_documento desconocidocaía en silencio a PDF[invalid_arg]
Base legal de la plantillasiempre art. 2116 (mandato)1793 y 1801 para compraventa, 2116 para poder
Salida .mddejaba {OTORGANTE} sin sustituirsustituye los campos
Dos documentos a la vezse pisaban el mismo .odtcarpeta propia por llamada
40 artículos concurrentes7,2 s0,15 s (prefiltro en SQL y conexiones cerradas)

Además, esta versión incorpora las correcciones del ejercicio de evaluación de T-105, que hasta ahora solo estaban en el repositorio: fuente con i=None, cita de artículo derogado que decía «vigente», [not_found] sin nombre de norma, documento sin base legal, la Ley 19.496 en el corpus y las claves con sufijo (DEL ART. 2).

Cobertura y límites

  • 9 cuerpos legales: DL 825, Código del Trabajo, Código Civil, Comercio, Penal, Constitución, Ley 19.628, Ley 19.496 y Arancel de notarios.
  • No cubre jurisprudencia, tribunales, SII más allá de las normas, competencia territorial notarial estructurada, precios actuales ni firma de documentos.
  • Los montos del arancel son nominales de 1998: el servidor los muestra y advierte, no calcula el precio final.

Datos y licencias

  • Código: Apache-2.0 (LICENSE).
  • Fuente: LeyChile / BCN. El paquete no redistribuye el corpus: lo descarga en la máquina del usuario. Los términos de LeyChile no se pudieron verificar (2026-11-06).
  • Fichas notariales: CC BY 4.0, con fuente y fecha por campo.

Pruebas

python -m pytest -q                     # 30 tests
python -m eval.estres                   # 41 comprobaciones de estrés por stdio
python -m eval.correr --banco 60        # 66 tareas: exactitud 1.0, 0 alucinaciones
python -m eval.ejercicio                # 10 tareas de razonamiento (22/22)
python -m mcp_leyes --notaria           # 27 fichas, 0 fallos

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.