juris-pj-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PJ_VERIFY | No | Validación TLS del portal (`0` si tu red la interfiere) | 1 |
| PJ_TIMEOUT | No | Timeout HTTP (read/connect) por request; deja ventana al reintento ×1 bajo el watchdog | 240 |
| PJ_SESION_MAX | No | Máximo de sesiones vivas (LRU) | 10 |
| PJ_SESION_TTL | No | TTL deslizante de las sesiones (segundos) | 900 |
| PJ_EXCEL_MAX_MB | No | Cap del Excel en base64 | 12 |
| PJ_INFLIGHT_CAP | No | Tope global de requests en vuelo | 8 |
| PJ_TOOL_TIMEOUT | No | Watchdog por tool (5 min máx): toda tool responde aunque el portal cuelgue | 300 |
| PJ_MAX_CONCURRENCY | No | Requests simultáneos hacia el portal | 2 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| buscar_resolucionesA | Busca RESOLUCIONES en la Jurisprudencia Nacional Sistematizada del PJ (busca en el CONTENIDO de casaciones, apelaciones, ejecutorias supremas, autos, sentencias de vista, laudos...). Args: texto: texto libre del contenido de las resoluciones (ej 'prescripcion adquisitiva'); el sitio filtra en AND implicito (2+ palabras = interseccion). Con SOLO texto reproduce la busqueda del home (conjunto completo, ~mas resultados); al agregar filtros el sitio refina su busqueda (como en su UI). nivel: 'Corte Suprema' (default) o 'Corte Superior'. distrito: distrito judicial (solo con nivel='Corte Superior'; catalogo en listar_filtros categoria='distritos'; ej 'Lima Norte'). especialidad: especialidad EXACTA (ciltra por nombre completo: 'Penal', 'Familia Penal', 'Laboral', 'Contencioso Adm. Laboral'...; catalogo en listar_filtros categoria='especialidades'; en Corte Superior depende del distrito). sala: organo jurisdiccional (sala) EXACTO del distrito (valor de listar_salas(distrito, especialidad); solo Corte Superior; requiere distrito). pretension: pretension/delito EXACTA (hallala con buscar_pretensiones; ej 'Prescripcion Adquisitiva de Dominio'). Solo Corte Suprema. palabra_clave: palabra clave EXACTA (busca con buscar_palabras_clave; ej 'CONFIRMARON'). expediente: numero del expediente (ej '00258-2024' o '00258-2024-0-0905-JR-CI-02'). tipo_recurso: tipo de recurso EXACTO (ej 'Casacion', 'Nulidad'; catalogo en listar_filtros categoria='tipos_recurso'). tipo_resolucion: 'Auto', 'Ejecutoria Suprema' o 'Sentencia de Vista' (exacto). anio: anio de la resolucion ('1998'..'2026' o '1982'). ncpp: 'si' para solo resoluciones del Nuevo Codigo Procesal Penal (con especialidad='Penal'). nlpt: 'si' para solo resoluciones de la Nueva Ley Procesal del Trabajo (con especialidad='Laboral'). autos: 'si' para incluir autos calificatorios. orden: 'Nro de Recurso', 'Anio', 'Pretension/Delito', 'Tipo de Resolucion', 'Sala Suprema' o 'Fecha Resolucion' (default; el sitio ordena por fecha DESC). forma: 'ASC' o 'DESC' (default). pagina: numero de pagina (1-based; 'index' es GLOBAL y continuo entre paginas; el sitio sirve 10 filas por pagina). paginas: paginas consecutivas a traer en UNA llamada (1..6; ~8-12 s cada una; si pides mas de 6 hay 'nota' de recorte). ses: sesion de una busqueda previa para la pagina siguiente o para re-buscar (filtros distintos re-ejecutan conservando el 'ses'; un 'ses' desconocido con filtros lanza busqueda NUEVA con id nuevo y lo declara en 'nota'). Devuelve: {'ok', 'ses', 'modo', 'total', 'paginas', 'pagina', 'tamano_pagina' (10; dato del sitio), 'siguiente_pagina', 'filas': [{index, recurso, expediente, tipo_resolucion, fecha_resolucion, sumilla (COMPLETA, sin truncar), palabras_clave, especialidad?, organo_jurisdiccional? (en filas de instancia), sala_suprema? (en filas de Corte Suprema), pretension_delito, norma_derecho_interno?, uuid, url_pdf}]}. El sitio omite 'especialidad/organo' en filas de Corte Suprema y publica 'sala_suprema/norma_derecho_interno' en su lugar (y viceversa): son datos alternativos del mismo campo. Los 'index' se usan con ficha_resolucion. |
| buscar_laudosA | Busca resoluciones de ANULACION y EJECUCION DE LAUDOS ARBITRALES (buscador 'Comerciales' del home del PJ). Usa la misma vista de resultados; la sesion es del buscador de laudos. Args: texto: texto del contenido de las resoluciones de laudos (ej 'anulacion del laudo'). anio: anio de la resolucion ('2026'..'1998' o '1982'; catalogo propio del buscador de laudos). expediente: numero del expediente. palabra_clave: palabra clave EXACTA (lista con buscar_palabras_clave). orden: 'Nro de Recurso', 'Anio', 'Pretension/Delito', 'Tipo de Resolucion', 'Sala Suprema' o 'Fecha Resolucion' (default; el buscador de laudos ordena por fecha DESC). forma: 'ASC' o 'DESC' (default). pagina: numero de pagina (1-based; 10 filas por pagina). paginas: paginas consecutivas (1..6). ses: sesion de una busqueda previa de laudos para la pagina siguiente. Devuelve: {'ok', 'ses', 'modo': 'laudos', 'total', 'paginas', 'pagina', 'tamano_pagina', 'filas': [mismas filas de buscar_resoluciones; sumilla COMPLETA]}. |
| ficha_resolucionA | FICHA/RESUMEN completo de una resolucion por 'index': recurso, expediente, especialidad, tipo de resolucion, fecha, organo jurisdiccional, pretension/delito, sumilla COMPLETA (sin truncar), palabras clave y URL del PDF. Args: ses: sesion devuelta por buscar_resoluciones o buscar_laudos. index: 'index' global de la fila (0-based; el de las filas de la busqueda). Devuelve: {'ok', 'ses', 'index', 'fila': {recurso, expediente, tipo_resolucion, fecha_resolucion, sumilla (COMPLETA), palabras_clave, especialidad?/organo_jurisdiccional? o sala_suprema?/norma_derecho_interno? (alternativos del sitio), pretension_delito, uuid, url_pdf}, 'nota' (si la fila no expone PDF)}: el PDF con url_resolucion. |
| fichas_resolucionesA | Lote de fichas/resumenes de la MISMA busqueda en UNA llamada (cap 50; suma sumillas COMPLETAS). Args: ses: sesion de la busqueda. indices: lista de 'index' globales (ej [0, 1, 2]; duplicados se procesan una sola vez). Devuelve: {'ok', 'ses', 'fichas': [...], 'faltas': [{index, motivo}], 'nota'}: los indices fallidos van a 'faltas' con su motivo. |
| url_resolucionA | URL PUBLICA de descarga del PDF de una resolucion (ServletDescarga del PJ; sin sesion ni token). Args: uuid: 'uuid' de la fila o ficha (formato 8-4-4-4-12 hexadecimal). Devuelve: {'ok', 'url', 'archivo'}: GET publico del PDF; el servidor MCP no lo descarga. Un uuid inexistente/malformado devuelve 500 del sitio. |
| exportar_excelA | Exporta la BUSQUEDA ACTUAL de la sesion a EXCEL (XLS) en base64 (mismo boton 'Exportar' del sitio). Args: ses: sesion devuelta por buscar_resoluciones o buscar_laudos. Devuelve: {'ok', 'ses', 'formato': 'xls', 'tamano_bytes', 'base64', 'nota'}: decodifica base64 y guarda con extension .xls. Si supera el cap declarado devuelve ok:false CON el tamano y la pista de reduccion (NUNCA trunca el archivo). |
| buscar_pretensionesA | Sugerencias del AUTOCOMPLETE de Pretension/Delito (inventario sistematizado del PJ). Los valores EXACTOS se usan como filtro 'pretension' en buscar_resoluciones (solo Corte Suprema). Args: q: texto inicial (1+ caracteres; ej 'prescripcion', 'indemnizacion', 'pension'). Devuelve: {'ok', 'q', 'sugerencias': [...], 'nota'}: hasta 50 sugerencias. |
| buscar_palabras_claveA | Sugerencias del AUTOCOMPLETE de Palabras Clave (sistematizacion de sumillas del PJ). Los valores EXACTOS se usan como 'palabra_clave' en buscar_resoluciones y buscar_laudos. Args: q: texto inicial (1+ caracteres; ej 'indemnizacion', 'reivindicacion'). Devuelve: {'ok', 'q', 'sugerencias': [...], 'nota'}: hasta 50 sugerencias. |
| listar_salasA | Lista los ORGANOS JURISDICCIONALES (salas) de un distrito y especialidad (corte superior). El 'nombre' es el filtro 'sala' EXACTO con nivel='Corte Superior'. Args: distrito: distrito judicial (ej 'Lima Norte'; catalogo en listar_filtros categoria='distritos'). especialidad: especialidad (ej 'Civil'; catalogo en listar_filtros categoria='especialidades'). Devuelve: {'ok', 'distrito', 'especialidad', 'salas': [{codigo, nombre}], 'nota'}: usa el 'nombre' EXACTO como filtro 'sala' (o el 'codigo'); ~15 s la primera vez, 30 min de cache. |
| listar_filtrosA | Valores EXACTOS para los filtros del buscador: nivel, distritos, especialidades, tipos_recurso, tipos_resolucion, anios y orden. Los errores de match son EXACTOS (por ejemplo 'Penal' no confunde con 'Familia Penal'). Args: categoria: 'todos' (resumen) o 'nivel', 'distritos', 'especialidades', 'tipos_recurso', 'tipos_resolucion', 'anios', 'orden'. Devuelve: {'ok', 'categoria', ...}: los valores alimentan los filtros de buscar_resoluciones y buscar_laudos. Nota: en Corte Superior las especialidades y salas disponibles dependen del distrito (listar_salas). 'Todos'/'0' equivale a no filtrar. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
The two search tools target clearly distinct corpora (national jurisprudence vs arbitration laudos), and the single/batch ficha pair is well differentiated by cardinality. The two autocomplete helpers (buscar_pretensiones, buscar_palabras_clave) are close in shape but feed different filters, so boundaries remain clear.
Almost all tools follow a consistent Spanish verb_noun snake_case pattern (buscar_*, listar_*, exportar_*), which is highly predictable. Minor deviation: url_resolucion uses a noun rather than a verb, and ficha_resolucion/fichas_resoluciones differ only by number.
Ten tools is well-scoped for a jurisprudence search service: two searches, two retrieval modes, PDF URL, export, two autocompletes, and two catalog helpers. Every tool has a distinct, non-redundant role.
The surface covers the full read-only lifecycle: filter discovery, searching, fetching individual/batch records, resolving PDF URLs, and exporting results. As a read-only corpus there is no create/update/delete need, though pagination-depth or related-resolution features are not exposed.