Servidor MCP que le da a Claude acceso a fuentes jurídicas chilenas verificables: jurisprudencia judicial y constitucional, jurisprudencia administrativa, laudos arbitrales, legislación, doctrina académica, estadísticas de tribunales y valores económicos.
En Roma, los responsa prudentium eran las respuestas fundadas que los juristas daban a consultas concretas. Su fuerza no venía del cargo, sino de la autoridad de quien respondía y de las fuentes que invocaba. Eso es exactamente lo que hace esta herramienta: responder con fundamento verificable.
Creado por Joaquín Larraín Guimoye.
El objetivo no es que Claude "sepa" derecho chileno, sino que no pueda inventarlo: cada afirmación queda anclada a un fallo con rol, tribunal y enlace; un dictamen con su número y su estado de vigencia; un artículo con su texto oficial; un laudo con su PDF; o un trabajo académico con DOI.
Todas las fuentes son públicas y gratuitas. No se conecta ninguna base de suscripción, a propósito (ver más abajo).
| Herramienta | Para qué |
|---|---|
buscar_jurisprudencia |
Fallos por frase exacta, palabras obligatorias, sinónimos, exclusiones, fechas y tribunal |
buscar_jurisprudencia_en_todos |
La misma consulta en los siete buscadores a la vez |
jurisprudencia_por_norma |
Fallos que aplican una norma y artículo concretos |
ver_sentencia |
Una sentencia por rol y año, con texto completo |
buscar_jurisprudencia_constitucional |
Sentencias del Tribunal Constitucional, con PDF |
buscar_fichas_constitucional |
Fichas de jurisprudencia del TC |
buscar_ley |
Normas en Ley Chile: leyes, decretos, códigos |
ver_norma |
Texto oficial vigente de una norma o de un artículo puntual |
buscar_doctrina |
Doctrina en 21 revistas jurídicas chilenas, con DOI y enlace libre comprobados |
buscar_dictamenes |
Dictámenes de la Contraloría |
ver_dictamen |
Un dictamen con texto, fuentes legales y estado de vigencia |
buscar_dictamenes_trabajo |
Dictámenes de la Dirección del Trabajo (ORD.) |
ver_dictamen_trabajo |
Un dictamen de la DT con materia y resumen separados |
buscar_jurisprudencia_competencia |
Sentencias del TDLC: colusión, abuso de posición dominante, concentraciones |
buscar_laudos_arbitrales |
Laudos del CAM Santiago por materia o árbitro, con PDF |
listar_materias_arbitrales |
Las 781 materias y 130 árbitros indexados del CAM |
estadisticas_judiciales |
Cuánto demoran las causas, cuántas ingresan y cómo terminan |
valor_economico |
UF, UTM, IPC, dólar, hoy o a una fecha pasada |
guardar_respaldo |
Deja los documentos citados en una carpeta de Descargas, en PDF y en Word |
consultar_causa |
Enlace y pasos para consultar una causa en la OJV (no automatizado) |
listar_fuentes |
Qué tribunales, cortes, revistas, estadísticas y valores hay |
verificar_fuentes |
Chequeo de salud de las once fuentes externas |
Algunas hacen la diferencia frente a un buscador de texto:
jurisprudencia_por_norma filtra por la norma efectivamente aplicada en el fallo, no por palabras que aparezcan en él, y devuelve el texto del artículo junto a los fallos para contrastar qué dice la ley con qué hicieron los tribunales.
buscar_jurisprudencia distingue entre buscar una frase exacta (literal), varios conceptos que deben concurrir (todas), sinónimos (algunas) o texto libre. Elegir bien el campo es la diferencia entre encontrar la figura que se pidió y devolver miles de resultados irrelevantes. Cada fallo trae además pasajes_coincidentes: los fragmentos que efectivamente coincidieron.
ver_dictamen devuelve si el dictamen fue reconsiderado, aclarado, confirmado o complementado. Un dictamen reconsiderado ya no sirve para fundar nada, y ese dato no aparece en una búsqueda de texto.
buscar_dictamenes_trabajo cubre la doctrina administrativa laboral, que es la que aplican los fiscalizadores y suele decidir el resultado antes de llegar a tribunales.
buscar_jurisprudencia_competencia cubre otro punto ciego: en libre competencia el criterio lo fija el TDLC, y sus fallos no están en el buscador del Poder Judicial. Antes, una consulta sobre colusión o abuso de posición dominante no encontraba nada.
Su sitio es WordPress y expone la API REST estándar, pero su parámetro de búsqueda devuelve cero en los tipos que importan. Como el catálogo entero son 216 sentencias y 91 resoluciones, se replica en caché y se busca en local: más rápido, sin depender de un buscador que no funciona, y ordenando por pertinencia en vez de por fecha.
Lo que lo vuelve usable es la traducción de vocabulario. El TDLC no usa la palabra "colusión" en ninguna parte: sus 37 fallos de carteles están clasificados como acuerdo o práctica concertada. Sin eso, la consulta más obvia de la materia devolvía cero, que se leería como que en Chile no hay jurisprudencia de colusión. La traducción además suma en vez de reemplazar, así que "cartel de las farmacias" sigue prefiriendo los fallos de farmacias. Y cuando no hay coincidencias, la respuesta trae las conductas que el propio tribunal usa, para que el segundo intento no sea a ciegas.
El TDLC publica el texto sólo en PDF, así que esta herramienta ubica y enlaza pero no entrega pasajes, y lo advierte en cada respuesta.
buscar_laudos_arbitrales cubre un punto ciego real: en materias comerciales, societarias y de construcción, buena parte de los conflictos se resuelve en arbitraje y nunca llega a los tribunales ordinarios. Son 1.812 laudos con enlace al PDF oficial.
estadisticas_judiciales responde lo que ninguna base de jurisprudencia contesta: cuánto demora realmente un juicio. Un laboral en la C.A. de Valparaíso promedió 222 días en 2024; la Corte Suprema, 92.
guardar_respaldo deja en Descargas una carpeta con el documento fuente de cada cosa citada, más un índice: PDF cuando el organismo lo publica (Tribunal Constitucional, CAM, doctrina de acceso abierto) y Word generado desde el texto oficial cuando no lo hay (Poder Judicial, Dirección del Trabajo, Contraloría, Ley Chile), con la procedencia y el enlace impresos en cada archivo. Lo que no se pudo traer queda anotado como pendiente en vez de faltar en silencio. Claude pregunta antes; nunca escribe en el disco por iniciativa propia.
verificar_fuentes consulta las once fuentes con preguntas de respuesta conocida y avisa cuál se rompió. La forma peligrosa de fallar no es el error: es el resultado vacío que se lee como "no hay jurisprudencia sobre esto".
Jurisprudencia judicial — Buscador Unificado de Fallos del Poder Judicial (juris.pjud.cl). Siete buscadores: Corte Suprema, Cortes de Apelaciones, Laborales, Penales, Familia, Cobranza y Civiles. Cada fallo llega con rol, tribunal, sala, fecha, carátula, tipo de recurso, resultado, ministros, descriptores, historia procesal (juzgado → corte → Suprema), permalink, cita bibliográfica ya armada, pasajes coincidentes, texto completo y las normas aplicadas con enlace a Ley Chile.
Jurisprudencia constitucional — Buscador del Tribunal Constitucional (buscador.tcchile.cl). Sentencias a texto completo con los párrafos que coinciden con la consulta y descarga directa del PDF, más las fichas de jurisprudencia que elabora el propio tribunal.
Jurisprudencia administrativa — Base de Dictámenes de la Contraloría General de la República (función pública, sumarios, probidad, municipalidades) y dictámenes de la Dirección del Trabajo (jornada, remuneraciones, sala cuna, negociación colectiva, fuero).
Arbitraje — Laudos del CAM Santiago, publicados anonimizados desde 1994, indexados por materia y por árbitro.
Legislación — Ley Chile (BCN). Más de 258.000 normas, con marca de derogación y fecha de versión.
Doctrina — Crossref, restringido a los ISSN de 21 revistas jurídicas chilenas comprobados uno por uno, y verificada contra OpenAlex. Un trabajo se devuelve sólo si pasa tres comprobaciones acumulativas en el momento de la consulta:
- DOI sintácticamente válido. Sin DOI no queda identificador estable con el que comprobar la cita después. Lo que no trae DOI no entra siquiera a la fila.
- Acceso abierto declarado por OpenAlex, con enlace libre concreto.
- Ese enlace pedido de verdad al servidor, y sin muro de pago ni de sesión en lo que devuelve.
Un DOI puede llevar a una página de pago o caída, y una fuente que no se puede abrir no sirve para corroborar nada. Lo que no pasa las tres se descarta, se informa cuántos fueron (descartados_sin_doi, descartados_sin_enlace_libre) y no se nombra. Cada resultado trae un bloque verificacion con lo que se comprobó y cuándo.
Cuando no queda nada, el resultado lo dice y además instruye explícitamente a no rellenar el vacío con doctrina recordada o de una búsqueda web: ese es el momento en que aparecen las citas que no se pueden comprobar.
Estadísticas — estadisticaservices.pjud.cl, API oficial del Subdepartamento de Estadísticas de la CAPJ. 137 endpoints, sin autenticación, datos desde 2015.
Valores económicos — mindicador.cl (Banco Central y SII). Las multas van en UTM y los contratos en UF: sin el valor a una fecha no se calcula una pretensión.
Un comando. Instala Node.js si falta, descarga Responsa, lo registra en Claude, instala la skill, precarga los códigos y verifica las fuentes.
Cierra Claude Desktop por completo antes de empezar. Al cerrarse sobrescribe su configuración, así que si está abierto la instalación no queda.
Windows (PowerShell):
irm https://raw.githubusercontent.com/djlarrix/Responsa/main/instalar.ps1 | iexmacOS o Linux (Terminal):
curl -fsSL https://raw.githubusercontent.com/djlarrix/Responsa/main/instalar.sh | bashDespués hay que reiniciar Claude Desktop por completo (en Windows desde el ícono junto al reloj, en macOS con Command + Q): los servidores MCP se cargan al arrancar.
Se puede ejecutar las veces que haga falta; si ya está instalado, actualiza.
Estos comandos descargan un script y lo ejecutan. Es la forma habitual de instalar herramientas de línea de comandos, pero conviene saberlo: los scripts son
instalar.ps1einstalar.shy se pueden leer antes. Si prefieres no hacerlo así, más abajo está la instalación paso a paso.
node instalar.mjsEs idempotente y respalda cualquier configuración previa en .bak-jurisprudencia antes de tocarla. Después hay que reiniciar Claude Desktop: los servidores MCP se cargan al arrancar.
📄 Responsa.pdf — un solo documento de 17 láminas: qué es, qué contiene y cómo funciona, seguido del manual de instalación paso a paso para Windows y macOS, con problemas frecuentes y mantención. Es lo que conviene enviarle a alguien que lo va a instalar.
También en texto plano, por si se prefiere leer en el navegador.
npm installComprobar que las ocho fuentes responden (unos 12 segundos):
npm run saludPrecargar los códigos y leyes más citados (una sola vez, tarda unos minutos):
npm run precargarEste paso importa. El límite de servicio de la BCN no es sólo de frecuencia: pesa el tamaño del documento, y bajar el Código del Trabajo o el de Procedimiento Civil recién empezada una sesión puede toparse con un 429. Precargados, quedan en caché 7 días y el uso diario no vuelve a pedirlos. Si alguna falla, basta con volver a correr el comando: retoma sólo lo que falta.
Banco completo, 50 comprobaciones:
npm run pruebaclaude mcp add responsa --scope user -- node /ruta/a/Responsa/src/index.mjsEn %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"responsa": {
"command": "node",
"args": ["/ruta/a/Responsa/src/index.mjs"]
}
}
}skill/SKILL.md es la capa de método: cuándo buscar, cómo citar en formato chileno, cómo distinguir ley de jurisprudencia, dictamen y doctrina, y qué límites declarar. El MCP entrega los datos; la skill define cómo se razona con ellos.
mkdir -p ~/.claude/skills/responsa && cp skill/SKILL.md ~/.claude/skills/responsa/vLex, Westlaw, HeinOnline y similares quedaron fuera a propósito, aunque se tenga acceso institucional.
Esas licencias autorizan el uso personal de un miembro de la institución. Consultarlas de forma automatizada —y más si la herramienta la usan terceros ajenos a esa institución— es el patrón que los proveedores detectan como uso sistemático. La consecuencia habitual no es una advertencia: es el corte de la cuenta y, en casos serios, el bloqueo del rango completo de la universidad. Para una herramienta pensada para compartirse, el costo esperado supera con creces el beneficio.
La doctrina viene entonces de revistas de acceso abierto, y el razonamiento jurídico de los propios fallos, dictámenes y laudos, que citan doctrina y jurisprudencia previa.
La Consulta Unificada de Causas de la Oficina Judicial Virtual es pública, pero sus cuatro formularios envían un campo g-recaptcha-response-* junto con cada búsqueda: reCAPTCHA v3 con acciones validate_captcha_rit, _nombre, _fecha y _jur.
El captcha protege la consulta misma, no la carga de la página. Automatizarla exigiría falsear tokens de detección de bots. Por eso consultar_causa arma el enlace y los pasos, y la búsqueda la hace la persona.
El contraste importa: el buscador de jurisprudencia también carga reCAPTCHA, pero su token no viaja en el payload de búsqueda. Por eso aquél sí se consulta de forma programática. La diferencia se verificó inspeccionando ambos payloads, no suponiendo.
Si hiciera falta automatizar consulta de causas, las vías legítimas son "Mis Causas" con Clave Única para causas propias, o un servicio comercial con licencia (Khipu vende justamente eso, y su negocio existe porque el acceso directo está bloqueado).
El CAM Santiago declara que los laudos son de su propiedad y que reproducirlos en sitios externos requiere autorización previa. El módulo indexa y enlaza al PDF oficial, pero no descarga ni reproduce el contenido.
Las fuentes devuelven documentos enteros, y devolverlos tal cual llena el contexto de la conversación. Las herramientas están calibradas para entregar lo justo:
| antes | ahora | |
|---|---|---|
ver_norma sin artículo (Código Civil) |
207.000 tokens | 860 |
buscar_jurisprudencia_constitucional |
72.000 | 5.400 |
buscar_jurisprudencia_en_todos |
67.000 | 5.800 |
buscar_jurisprudencia |
24.600 | 4.000 |
listar_materias_arbitrales |
17.700 | 1.100 |
| una sesión con las doce herramientas | 444.000 | 27.200 |
El criterio: buscar devuelve lo necesario para decidir, no el documento entero. Cada fallo llega con un extracto y con los pasajes que coincidieron con la consulta, que es lo que sirve para elegir cuál leer; el texto íntegro se pide después con ver_sentencia. Y ver_norma sin articulo devuelve el índice de números, no los 2.841 artículos del Código Civil.
Cuando hay pasajes coincidentes el extracto se recorta más todavía, porque el arranque de una sentencia son los vistos y la individualización de las partes: lo que decide está en el pasaje. En el Tribunal Constitucional se devuelven los cuatro párrafos coincidentes más pertinentes en vez de los ocho, y el resto está en el PDF.
Quien necesite los textos completos los sigue teniendo: texto_completo: true en la búsqueda, o ver_sentencia para un fallo concreto.
Un tercio de lo que devuelve la Corte Suprema son declaraciones de inadmisibilidad: no resuelven el asunto ni fijan criterio. Ordenados por fecha, copaban las primeras posiciones y llenaban las respuestas de roles sin contenido.
Cada fallo trae ahora el campo aporte, leído de su parte resolutiva:
fija doctrina— acogió una unificación de jurisprudencia, acogió la casación en el fondo, dictó sentencia de reemplazo o casó de oficio.resuelve el fondo— rechazó el recurso, pero razonando sobre el asunto.no entra al fondo— inadmisible, extemporáneo o rechazado en limine. No es criterio del tribunal.
La búsqueda pide el triple de fallos de los que devuelve y se queda con los que más aportan, conservando el orden por fecha dentro de cada grupo. No descarta nada del universo: reordena y lo declara en seleccion, porque un inadmisible puede ser justo lo que se busca. Clasificado contra los 20 valores distintos que el Poder Judicial usa en ese campo.
fija doctrina sólo aparece en la Corte Suprema. Una Corte de Apelaciones que acoge un recurso resuelve ese caso; rotularlo igual le atribuiría una autoridad que no tiene. Los juzgados no publican la parte resolutiva: ahí no hay aporte y seleccion dice que no se pudo ordenar, en vez de afirmar una selección que no ocurrió.
Cuando la Corte acoge una casación o una unificación publica dos documentos: la sentencia que acoge y la de reemplazo. Venían como dos resultados con la misma carátula, la misma fecha, los mismos ministros y los mismos descriptores: ocupaban dos de los cinco cupos, duplicaban todo el contenido y hacían parecer que había dos precedentes donde hay uno.
Ahora se agrupan en un resultado, con el detalle en resoluciones. La fusión exige que coincidan tribunal, rol y carátula: juntar dos causas distintas sería mucho peor que mostrarlas aparte.
Lo mismo con las normas: un fallo que aplica cinco artículos del Código del Trabajo traía cinco veces el nombre del código y cinco veces la misma URL de la BCN. normas_aplicadas viene agrupado por norma, con sus artículos juntos, que además es como se cita.
El peligro de esta herramienta no es el error visible: es la respuesta que parece válida y no lo es. Cada uno de estos casos fue un error real, y hoy hay una prueba que impide que vuelva:
| Fallaba así | Ahora |
|---|---|
| Buscar sin criterio devolvía el corpus entero (303.376 fallos) por fecha | Se rechaza pidiendo un criterio |
Un UNID falso de Contraloría devolvía una ficha vacía con vigente_aparente: true |
encontrado: false con el motivo |
Contraloría sin criterio devolvía total: 0, que se lee como "no hay dictámenes" |
Se rechaza |
| Cero resultados no se distinguía de una búsqueda que no corrió | sin_datos + sugerencia |
ver_sentencia devolvía 1.200 caracteres prometiendo "texto completo" |
Trae el fallo íntegro |
| Solr colaba recortes de cuatro caracteres como si fueran pasajes citables | Mínimo 40 caracteres |
Caché en disco obligatoria. La BCN devuelve 429 Service limit has been reached con muy poco tráfico. Normas 7 días, búsquedas 1 día, sesión del PJUD 10 minutos, dictámenes y estadísticas 7 días, índices del CAM 7 días, UF histórica 30 días, UF del día 1 hora. Se guarda en ~/.responsa/cache (configurable con RESPONSA_CACHE_DIR).
Control de ritmo por host. Intervalo mínimo entre peticiones (1,2 s a la BCN, 250 ms a Crossref) y espera larga ante 429. La búsqueda de doctrina hace una sola consulta a Crossref con las 21 revistas en el filtro, en vez de una por revista: además de ir veintiuna veces más liviana, deja que Crossref ordene por relevancia contra el conjunto. Preguntando revista por revista hay que pedirle a cada una sus mejores N resultados, y una revista que no publicó nada del tema devuelve igual los suyos, sólo porque tenía cupo.
Renovación automática de sesión. El token CSRF del PJUD caduca antes que su TTL en caché. Si una búsqueda falla, se descarta la sesión y se reintenta con una nueva; sin eso el buscador quedaba inservible hasta que venciera el caché.
Los vacíos se declaran. Las estadísticas devuelven 200 [] para una corte inexistente: el módulo lo convierte en sin_datos: true con un mensaje explícito, para que el silencio no se lea como "no hay causas". Lo mismo en doctrina cuando ningún resultado es pertinente, y en arbitraje cuando no hay coincidencias.
Los cambios de estructura gritan. Si el PJUD cambia su buscador, el error lo dice ("El PJUD devolvió JSON sin el campo response: la estructura del buscador cambió") en vez de devolver una lista vacía en silencio. Igual el CAM y la Contraloría.
La BCN responde 401 sin User-Agent de navegador. Todas las peticiones lo envían.
El PJUD no tiene API documentada. La búsqueda es POST /busqueda/buscar_sentencias, app Laravel con Solr detrás: hay que abrir la página del buscador para obtener el token CSRF y la cookie antes de consultar.
Los artículos de la BCN salen del XML completo, no de opt=71: ese endpoint es el primero en toparse con el límite de servicio.
La Contraloría es Lotus Domino y responde en Latin-1. Pese a que el formulario declara method="post", el POST devuelve "Form processed" y nada más: la consulta real es un GET con hpbb=SI. El texto completo llega por un agente aparte.
La búsqueda de la Dirección del Trabajo está rota, así que se reemplazó. Su w3-search.php cuelga la conexión desde Node, desde curl y desde un navegador real, o sea que no es un bloqueo antibot sino un endpoint caído. Lo que sí responde son las portadillas de listado, y ahí está todo: los doce meses de un año son los propertyvalue correlativos al del año (2024 = 188794 → enero 188795 … diciembre 188806), y cada entrada trae número, fecha ISO, sumario completo en el atributo title y un epígrafe con descriptores. Con eso se arma un índice propio y se busca en local. La relevancia pondera el primer descriptor del epígrafe, que es la materia principal, y penaliza los epígrafes que abarcan muchos temas.
El caché va versionado. Cambiar cómo se parsea una fuente no sirve de nada si el usuario ya tiene la respuesta vieja guardada: seguiría recibiendo el formato anterior hasta que venza el TTL. Al cambiar la forma de lo que devuelve una fuente hay que subir VERSION en src/lib/cache.mjs.
Tramitación legislativa. congresorest.appspot.com está caído (HTTP 500) y la API de Ley Lobby cambió de ruta.
Cobertura del buscador del PJUD. No contiene todas las sentencias del país, sino una selección con criterio de interés jurisprudencial, y parte aparece anonimizada. Que algo no aparezca no prueba que no exista. Lo mismo vale para los laudos publicados del CAM.
Esto es investigación jurídica asistida, no asesoría legal.