Skip to main content
Glama

Conector MCP — Tribunal Constitucional de Chile

Causas en tramitación y jurisprudencia del TC. El buscador de sentencias devuelve el texto completo, así que se puede buscar por lo que dice un fallo y no solo por su carátula.

Dos sistemas, no uno

El TC expone dos backends independientes y este conector cubre los dos:

  • Tramitación (tramitacion.tcchile.cl/tc/rest) — corre sobre lexsoft, el mismo proveedor que el Segundo Tribunal Ambiental.

  • Jurisprudencia (buscador-backend.tcchile.cl/api) — Laravel, con búsqueda de texto completo sobre las sentencias.

Related MCP server: Tribunal Ambiental MCP Server

Herramientas

Herramienta

Qué hace

filtros()

Vocabularios de jurisprudencia (competencias del art. 93, tipos de resolución, ministros, palabras clave) y facetas de causas con sus conteos.

buscar_causas(texto, anio, sala, etapa, relator, procedimiento, limite, pagina)

Causas en tramitación. Acepta rol exacto.

ver_causa(rol_o_id)

Detalle y partes con su rol procesal. Acepta rol o id.

buscar_sentencias(texto, limite, pagina)

Busca dentro del texto de las sentencias y devuelve los párrafos coincidentes.

ver_sentencia(folio)

Ficha analítica: doctrina, resultado, voto de mayoría, redactor, artículos invocados, palabras clave.

leer_sentencia(id, max_chars, desde)

Texto completo, paginable.

Notas de la fuente

  • La búsqueda de sentencias distingue tildes. electrica devuelve 2 resultados y eléctrica devuelve 25. La API sugiere la corrección en corrected_query; el conector reintenta solo y avisa cuando lo hace.

  • Los filtros de causas no son parámetros. Van dentro de query con sintaxis campo:valor. Un ?era=2024 se ignora en silencio, sin error. Facetas válidas: era, sala, etapa, relator, tramitador, procedimiento.

  • El filtro de jurisprudencia es un JSON dentro del parámetro de query. Sin él, 404 "El filtro es obligatorio"; con POST o PUT, 405.

  • La ficha trae parametro_id numérico, pero cada item incluye su parametro embebido con el nombre del campo: no hace falta mapeo aparte.

  • No hay documentos del expediente por vía pública. La ruta de causas es /ot/{fragmento}/{id} con un enum cerrado, y data es el único fragmento abierto. El expediente vive tras ClaveÚnica. Si la causa terminó con sentencia, el texto está en el buscador de jurisprudencia.

  • El endpoint de estado diario existe (herencia de lexsoft) pero devuelve vacío: el TC no lo publica por ahí.

Variables de entorno

Variable

Default

TC_TRAMITACION_BASE

https://tramitacion.tcchile.cl

TC_JURISPRUDENCIA_BASE

https://buscador-backend.tcchile.cl

TC_TIMEOUT_SEG

45

TC_CACHE_TTL_SEG

3600

PORT

8080 (lo inyecta Railway)

Despliegue

  1. GitHub: sube estos archivos a bawzenit-glitch/tc-mcp.

  2. Railway: New Project → Deploy from GitHub repo → detecta el Dockerfile → Settings → Networking → Generate Domain (puerto 8080).

  3. Claude: Personalizar → Conectores → "+" → Agregar conector personalizado → https://TU-DOMINIO.up.railway.app/mcp.

Verificación: abrir /mcp en el navegador debe devolver el error Client must accept text/event-stream. Eso significa que está vivo.

Local

python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python test_parseo.py   # tests de parseo, sin red
.venv/bin/python server.py        # http://localhost:8000/mcp

requirements.txt fija mcp>=1.9.0,<2: la versión 2.x renombró FastMCP y rompe este código.

Related MCP Connectors

Related MCP Servers