mcp-pjud
Unofficial read-only MCP server for querying public civil court cases from the Chilean Judicial Branch, providing case data and notary actions with real diligence dates.
README
mcp-pjud
Servidor MCP no oficial de solo lectura para la consulta pública de causas del Poder Judicial de Chile.
Proyecto independiente, sin relación alguna con el Poder Judicial de Chile ni con la Corporación Administrativa del Poder Judicial.
Solo consulta información pública. No permite el ingreso de escritos ni ninguna operación de escritura, y no existe código para hacerlo, ni siquiera desactivado.
Qué resuelve
Consulta cualquier causa civil pública y devuelve sus actuaciones del ministro de fe con la fecha real de diligencia, que es la que corre los plazos procesales.
Ese dato no viene en el ebook que entrega la Oficina Judicial Virtual, y en la interfaz web aparece en un formato que se presta a confusión:
Fec. Trámite: 31/03/2026 (27/03/2026)
registro diligencia
Las dos fechas comparten una celda y sólo la del paréntesis corre plazos. Acá salen como campos separados y en ISO 8601.
| Qué hace | Por qué importa |
|---|---|
| Separa las dos fechas | fecha_diligencia y fecha_registro como campos distintos, en vez de un texto con paréntesis que hay que interpretar |
| Recorre todos los cuadernos | La interfaz muestra uno a la vez. En una causa ejecutiva, el de apremio contiene el requerimiento de pago y el embargo |
| Marca las contradicciones | Si el paréntesis y el Diligencia: de la descripción no coinciden, lo informa en vez de elegir una |
<details> <summary>Ejemplo con una causa real</summary>
C-1156-2026 del 2º Juzgado Civil de Concepción, seis actuaciones en dos cuadernos:
| Cuaderno | Folio | Trámite | Diligencia | Registro |
|---|---|---|---|---|
| Principal | 9 | NOTIFICACIÓN DE DEMANDA (Exitosa) | 27/03/2026 17:40 | 31/03/2026 |
| Apremio | 2 | Requerimiento de Pago (Ficto) | 30/03/2026 10:31 | 31/03/2026 |
| Apremio | 3 | EMBARGO (Exitosa) | 31/03/2026 10:34 | 01/04/2026 |
Leer sólo el cuaderno que la web abre por defecto habría devuelto las tres del principal y ninguna del apremio.
</details>
Antes de instalar: la licencia
PolyForm Strict 1.0.0 permite ejecutar el software con fines no comerciales, y nada más.
Si facturas a tus clientes necesitas permiso escrito, aunque uses la herramienta sólo para tus propias causas. También para modificarla o distribuirla.
Se pide abriendo un issue y se otorga caso a caso, sin costo. La licencia restrictiva existe para saber quién usa esto y para qué, no para cobrar.
Dos aclaraciones que suelen hacer falta:
- No es open source en sentido estricto, porque restringe modificación, distribución y uso comercial. El término correcto es source-available. Que GitHub permita forkear no otorga derecho a redistribuir: eso lo define la licencia, no el botón.
- Los pull requests sí son bienvenidos. El acuerdo de contribución te da el permiso para modificar que la licencia por sí sola no otorga, y conservas la propiedad de tu aporte. La idea es que se contribuya al proyecto, no que cualquiera publique su versión.
El razonamiento completo, con las familias de licencia que se descartaron y por qué, está en la página de licencia.
Instalación
No hace falta clonar: uvx descarga y ejecuta. Requiere uv y
Python 3.13 o superior.
Reemplaza tu@correo.cl por tu correo real en cualquiera de las formas de abajo. Ese dato
viaja en el User-Agent para que el Poder Judicial pueda identificar a quien consulta, y sin
él el servidor no arranca.
Claude Code
claude mcp add pjud -e MCP_PJUD_CONTACTO=tu@correo.cl \
-- uvx --from git+https://github.com/notluquis/mcp-pjud-cl@stable mcp-pjud
Cursor y VS Code
Los botones dejan el correo como marcador. Edítalo en la configuración del editor, o el servidor falla con un mensaje que te lo recuerda.
Claude Desktop, Codex y cualquier otro cliente
{
"mcpServers": {
"pjud": {
"command": "uvx",
"args": ["--from", "git+https://github.com/notluquis/mcp-pjud-cl@stable", "mcp-pjud"],
"env": { "MCP_PJUD_CONTACTO": "tu@correo.cl" }
}
}
}
El transporte es stdio: no abre puertos ni escucha en la red.
@stable apunta siempre a la última versión publicada, así que se actualiza sola al instalar.
Si prefieres quedarte en una versión concreta, cambia esa referencia por la etiqueta, por
ejemplo @v0.3.0. Sin ninguna referencia se sigue la rama principal, que trae cambios sin
publicar: no es lo recomendado.
Herramientas
| Herramienta | Qué hace |
|---|---|
buscar_causa_por_rit |
Busca causas por rol en la consulta pública |
obtener_actuaciones_receptor |
Actuaciones del ministro de fe con su fecha real de diligencia |
Ambas anotadas como readOnlyHint y destructiveHint: false en el protocolo.
Referencia completa de campos
y ejemplos resueltos.
Cómo se comporta
Uso responsable
- Una consulta cada 5 segundos en régimen sostenido, con una ráfaga de hasta 4 al inicio para que una pregunta se responda de una vez. Ninguno de los dos es configurable hacia abajo. Es la cláusula CUARTA de las condiciones de uso de la Oficina Judicial Virtual, que prohíbe sobrecargar el portal, implementada en código.
- Detención total ante 403, 429 o captcha. Sin reintento, sin rotación de IP, sin evasión.
- Sin persistencia. Se consulta y se devuelve.
- Bitácora de peticiones en memoria, para acreditar uso razonable.
Perder el acceso mientras corren plazos en un litigio activo es peor que no obtener el dato. Ese criterio manda sobre cualquier ganancia de velocidad.
Límites conocidos
- Sólo competencia civil verificada. Las otras seis se rechazan en vez de adivinar sus parámetros.
- Las causas reservadas no aparecen. Un resultado vacío no prueba que la causa no exista.
- Una búsqueda muy amplia levanta excepción en vez de devolver una lista recortada. Acota la consulta o sube el tope de páginas.
cortesin valor por defecto a propósito: fijarla produce falsos negativos.- Si la plataforma cambia, el parser levanta excepción en vez de devolver vacío. Una lista vacía se leería como "no hubo actuaciones", y así se pierden plazos.
Documentación
mcp-pjud-cl.readthedocs.io, organizada por tarea:
| Página | Para qué |
|---|---|
| Cómo se usa | Cómo leer cada campo y qué no hace. Sin código |
| Instalación y operación | Arquitectura y controles, para quien administra los sistemas |
| Ejemplos | Casos resueltos de punta a punta, incluidos los modos de falla |
| Herramientas | Parámetros y campos de respuesta |
| Cumplimiento | Condiciones de uso, robots.txt, Ley 21.719 |
| Licencia | Qué se eligió, qué se descartó y qué cuesta |
| Hoja de ruta | Qué está probado contra el sistema real y qué no |
En el repositorio: cómo contribuir · acuerdo de contribución · uso aceptable · seguridad · soporte · código de conducta · cambios · instrucciones para agentes de IA
Desarrollo
git clone https://github.com/notluquis/mcp-pjud-cl && cd mcp-pjud-cl
uv sync --all-groups
uv run pytest # sin red
uv run ruff check .
Los tests corren contra HTML real guardado en tests/fixtures/, anonimizado. Ninguno consulta
al Poder Judicial.
main exige pull request. Antes de proponer cambios, lee
cómo contribuir.
Esto acerca la fuente oficial. No reemplaza la revisión de un abogado ni la lectura del expediente.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.