leychile-rag MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@leychile-rag MCP Server¿Con cuánta anticipación debe avisar un trabajador si renuncia?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
leychile-rag
RAG agentic sobre la legislación chilena. Hacés una pregunta en lenguaje natural y obtenés una respuesta fundada en los artículos de la ley, con citas (norma + artículo + link) — no una alucinación. MVP sobre el Código del Trabajo.
Construido con LangGraph (RAG agentic con guardrails), FastAPI, pgvector sobre Neon y expuesto también como servidor MCP para que cualquier agente (Claude Desktop, Cursor) pueda consultar la ley chilena como una tool.
Proyecto personal / demo. No es asesoría legal: orienta y remite a la fuente oficial.
Arquitectura
flowchart LR
subgraph Ingesta
LC[LeyChile / BCN] -->|XML / SPARQL| ING[ingest.py]
ING -->|chunk por artículo| EMB[(embeddings)]
EMB --> PG[(pgvector · Neon)]
end
subgraph Consulta
Q[pregunta] --> G
subgraph G[LangGraph]
E[embed_query] --> R[retrieve] --> GEN[generate + citas] --> V[verify / guardrail]
end
R -. similitud .-> PG
V --> A[respuesta + citas]
end
API[FastAPI /ask] --> G
MCP[MCP: preguntar_ley] --> GEl grafo recupera los artículos más relevantes, redacta la respuesta citando
los artículos usados y, en verify, degrada a "no encontrado en el corpus" si
no hubo recuperación — anti-alucinación.
Related MCP server: chile-procurement
Demo (salida real)
P: ¿Con cuánta anticipación debe avisar un trabajador si renuncia?
R: Un trabajador debe avisar a su empleador con treinta días de anticipación,
a lo menos, si decide renunciar. Esto está establecido en el Art. 159 del
Código del Trabajo.
Citas: Código del Trabajo Art. 159, Art. 7, Art. 1
P: ¿Qué es un contrato individual de trabajo?
R: Un contrato individual de trabajo es una convención por la cual el empleador
y el trabajador se obligan recíprocamente, donde el trabajador se compromete
a prestar servicios personales bajo dependencia y subordinación del empleador,
y este último a pagar una remuneración determinada. (Art. 7 del Código del Trabajo).
Citas: Código del Trabajo Art. 7, Art. 159, Art. 1Stack
Python · LangGraph · LangChain · OpenAI embeddings · Postgres + pgvector (Neon) · FastAPI · MCP (Model Context Protocol).
Quick start
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
pip install -e .
cp .env.example .env # completar OPENAI_API_KEY y DATABASE_URL (Neon)
# Ingesta (seed = muestra incluida; leychile = baja el XML real)
python scripts/run_ingest.py seed
# API
uvicorn leychile_rag.api:app --reload
curl -s localhost:8000/ask -H 'content-type: application/json' \
-d '{"pregunta":"¿Con cuánta anticipación debe avisar un trabajador si renuncia?"}'Con Docker (imagen en GHCR)
Imagen pública publicada por CI en GitHub Container Registry (bring-your-own-key):
# Poblar el corpus una vez (seed) contra tu DB
docker run --rm \
-e OPENAI_API_KEY=sk-... -e DATABASE_URL=postgresql://... \
ghcr.io/marcovaldiviesob/leychile-rag:latest \
python scripts/run_ingest.py seed
# Levantar la API
docker run -p 8000:8000 \
-e OPENAI_API_KEY=sk-... -e DATABASE_URL=postgresql://... \
ghcr.io/marcovaldiviesob/leychile-rag:latestCada usuario trae su propia OPENAI_API_KEY y su Postgres con pgvector (Neon):
no hay endpoint público que gaste tu cuota ni exponga tu key.
Como servidor MCP
pip install mcp
python -m leychile_rag.mcp_serverExpone la tool preguntar_ley(pregunta) para cualquier cliente MCP. Se puede
combinar con mcp-datos-gob-cl
(datos públicos de Chile) para un agente que cruza datos + ley.
Fuente de datos
Textos legales desde LeyChile / BCN (Biblioteca del Congreso Nacional).
El servicio XML puede requerir credencial o haber cambiado de endpoint y puede
rate-limitar; la ingesta cachea y soporta un modo seed para correr el demo sin
depender del fetch. El data/codigo_trabajo_sample.json es muestra ilustrativa,
no fuente legal.
Roadmap
Parser robusto del XML/XSD de LeyChile (hoy regex tolerante).
Más cuerpos legales (Protección de Datos, Código Tributario).
Reranking + evaluación (eval set de preguntas laborales con respuestas citadas).
Deploy (Fly.io) + UI de chat mínima.
Observabilidad de las trazas del agente.
Licencia
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
JusPronto is case-management software for Brazilian law firms. Its remote MCP server (OAuth 2.1 with PKCE, per-permission scopes, audit log) lets Claude and ChatGPT read the firm's own cases, deadlines, agenda, recent court movements and case files with the page cited. Write actions require the lawyer's approval. Requires a JusPronto account.
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
- docs2mcpOAuthcom.docs2mcp
Query your own PDFs and documents from any MCP client. Every answer cites the page it came from.
Make your knowledge agent-ready. One MCP endpoint, 5 connectors, 3 search modes.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that connects AI to the Chilean legislation system (Ley Chile) for retrieving legal norms, citations, and intertemporal analysis.283MIT
- AlicenseNot gradedqualityBmaintenanceEnables access to Chile's government procurement data (Mercado Público / ChileCompra) via MCP, allowing AI agents to query public procurement information.21 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only consultation of legal proceedings from the Brazilian TRT8 labor court through an official source, enabling users to inquire about process details using natural language with any MCP-compatible client.MIT
- AlicenseNot gradedqualityCmaintenanceConnects AI assistants via MCP to Colombian legislation and jurisprudence with verifiable citations. Enables hybrid search over a local index of over 44,000 legal documents, returning exact, sourced quotes without generating text.AGPL 3.0