Skip to main content
Glama
zyta-expedientes-mcp

zyta-expedientes-mcp

by blanck1945

zyta-expedientes-mcp (Clio)

Servidor MCP (stdio) para Clio (Expedientes): portales judiciales (PJN, MEV, CABA) y causas sin portal.

Arquitectura

Componente

Rol

Zyta-be

Login JWT, device flow OAuth, perfil usuario

expedientes-api

Portales, listado, sync, CRUD causas sin portal, actuaciones cursor

Zyta-expedientes (web)

Página /mcp-device para autorizar el agente

El MCP autentica contra Zyta-be y consulta expedientes-api con el mismo Bearer JWT.

Related MCP server: juscraper-mcp

Configuración en Cursor

{
  "mcpServers": {
    "zyta-expedientes": {
      "command": "npx",
      "args": ["-y", "zyta-expedientes-mcp@latest"],
      "env": {
        "ZYTA_API_BASE_URL": "http://localhost:3333",
        "EXPEDIENTES_API_BASE_URL": "http://localhost:8788",
        "ZYTA_EXPEDIENTES_APP_URL": "http://localhost:8892"
      }
    }
  }
}

En producción:

ZYTA_API_BASE_URL=https://zyta-be-production.up.railway.app
EXPEDIENTES_API_BASE_URL=https://zyta-expedientes-api-production.up.railway.app
ZYTA_EXPEDIENTES_APP_URL=https://dashboard.zyta.app

Opcional en Railway (Zyta-be): MCP_DEVICE_VERIFICATION_BASE_URL=https://dashboard.zyta.app

Herramientas

Tool

Descripción

zyta_expedientes_login

Device flow / email / token manual

zyta_expedientes_disconnect

Cierra sesión del agente

zyta_expedientes_whoami

Usuario actual

zyta_expedientes_auth_status

Estado + URLs

zyta_expedientes_portales_status

PJN / MEV / CABA / INPI conectados

zyta_expedientes_list

Listar expedientes (filtro por portal)

zyta_expedientes_get

Leer detalle + actuaciones

zyta_expedientes_create

Crear causa sin portal

zyta_expedientes_update

Editar causa sin portal (+ seguimiento opcional)

zyta_expedientes_delete

Borrar causa sin portal

zyta_expedientes_sync

Sincronizar portales (sin credenciales)

zyta_expedientes_registrar_actuacion

Actuación en causa sin portal

zyta_expedientes_honorarios_list

Honorarios del expediente

zyta_expedientes_honorarios_create

Alta de honorarios

zyta_expedientes_honorarios_update

Actualizar honorario

zyta_expedientes_honorarios_delete

Borrar honorario

zyta_expedientes_tareas_list

Vencimientos/tareas

zyta_expedientes_tareas_create

Nueva tarea

zyta_expedientes_tareas_update

Actualizar tarea

zyta_expedientes_tareas_delete

Borrar tarea

zyta_expedientes_alertas_list

Alarmas

zyta_expedientes_alertas_create

Nueva alarma

zyta_expedientes_alertas_update

Actualizar alarma

zyta_expedientes_alertas_delete

Borrar alarma

Token persistido en ~/.zyta-expedientes-mcp/token.

Desarrollo local

cd Zyta/zyta-expedientes-mcp
npm install
npm run build
npm run dev

Smoke test:

  1. Levantá Zyta-be, expedientes-api y Zyta-expedientes

  2. En Cursor: zyta_expedientes_login → autorizá en http://localhost:8892/mcp-device

  3. zyta_expedientes_auth_status → hasToken: true

  4. zyta_expedientes_portales_status

Probar el stack completo

Sí, hay que probar los tres servicios juntos:

# Terminal 1 — monolito (auth)
cd BE/Zyta-be && npm run start:dev

# Terminal 2 — microservicio expedientes
cd Zyta/expedientes-api && npm run dev

# Terminal 3 — front
cd Zyta/Zyta-expedientes && npm run dev

# Terminal 4 — MCP (via Cursor o)
cd Zyta/zyta-expedientes-mcp && npm run dev

Sin proxy en Zyta-be todavía, el front y el MCP apuntan directo a cada API por URL.

Available Tools

24 tools
zyta_expedientes_alertas_createC

Crea alarma/recordatorio en un expediente. POST …/alertas

Inputs: titulo (required), expedienteId (required), fechaVencimiento (required), estado, +2 more.

zyta_expedientes_alertas_deleteC

Elimina una alarma. DELETE …/alertas/:id

Inputs: alertaId (required), expedienteId (required).

zyta_expedientes_alertas_listB

Lista alarmas de un expediente. GET …/alertas

Inputs: expedienteId (required), page, limit, estado, +2 more.

zyta_expedientes_alertas_updateC

Actualiza alarma (ej. resuelta). PATCH …/alertas/:id

Inputs: alertaId (required), expedienteId (required), estado, titulo, +3 more.

zyta_expedientes_auth_statusA

Estado de sesión: token, URLs de Zyta-be y expedientes-api. No muestra el token.

Inputs: no named parameters.

zyta_expedientes_createA

Crea una causa sin portal (fichero propio). POST /judicial/expedientes. Cuenta para el cupo del plan. No aplica a causas PJN/MEV/CABA.

Inputs: caratula (required), numeroExpediente (required), fuero, estado, +2 more.

zyta_expedientes_deleteA

Elimina una causa sin portal y sus actuaciones (cascada). DELETE /judicial/expedientes/:id. No borra causas sincronizadas desde PJN/MEV/CABA.

Inputs: id (required).

zyta_expedientes_disconnectA

Cierra sesión del agente (~/.zyta-expedientes-mcp/token).

Inputs: no named parameters.

zyta_expedientes_getA

Lee un expediente con actuaciones. GET /judicial/expedientes/:id (cualquier portal).

Inputs: id (required).

zyta_expedientes_honorarios_createC

Registra honorarios en un expediente. POST …/honorarios

Inputs: tipo (required), fecha (required), monto (required), concepto (required), +9 more.

zyta_expedientes_honorarios_deleteC

Elimina un honorario. DELETE …/honorarios/:id

Inputs: honorarioId (required), expedienteId (required).

zyta_expedientes_honorarios_listC

Lista honorarios de un expediente. GET …/honorarios

Inputs: expedienteId (required), page, limit, estado.

zyta_expedientes_honorarios_updateC

Actualiza un honorario (ej. marcar cobrado). PATCH …/honorarios/:id

Inputs: honorarioId (required), expedienteId (required), tipo, fecha, +9 more.

zyta_expedientes_listB

Lista expedientes del usuario. Filtro opcional por portal(s). GET /judicial/expedientes

Inputs: limit, portal, portals.

zyta_expedientes_loginA

Obligatorio antes de otras herramientas si no hay sesión. Device flow (prod: dashboard.zyta.app/mcp-device; local: :8892/mcp-device), email+password, o access_token manual.

Inputs: email, password, access_token.

zyta_expedientes_portales_statusA

Estado de conexión PJN, MEV (scba), CABA e INPI. GET /portales/status en expedientes-api.

Inputs: no named parameters.

zyta_expedientes_registrar_actuacionB

Registra actuación en causa sin portal (IA elige causa si no hay expedienteId). POST /judicial/cursor/registrar-actuacion

Inputs: message (required), link, expedienteId.

zyta_expedientes_syncA

Sincroniza expedientes desde portales conectados. POST /portales/sync o /portales/sync/:portal. No expone credenciales — solo dispara sync con sesión ya conectada en la app.

Inputs: portal.

zyta_expedientes_tareas_createC

Crea vencimiento/tarea en un expediente. POST …/tareas

Inputs: titulo (required), expedienteId (required), estado, prioridad, +2 more.

zyta_expedientes_tareas_deleteC

Elimina una tarea. DELETE …/tareas/:id

Inputs: tareaId (required), expedienteId (required).

zyta_expedientes_tareas_listC

Lista vencimientos/tareas de un expediente. GET …/tareas

Inputs: expedienteId (required), page, limit, estado, +1 more.

zyta_expedientes_tareas_updateC

Actualiza tarea (ej. completada). PATCH …/tareas/:id

Inputs: tareaId (required), expedienteId (required), estado, titulo, +3 more.

zyta_expedientes_updateC

Edita una causa sin portal. PATCH /judicial/expedientes/:id. Solo portal sin_portal. Opcional enSeguimiento → PATCH …/seguimiento.

Inputs: id (required), fuero, estado, juzgado, +4 more.

zyta_expedientes_whoamiB

Usuario del token JWT (GET /users en Zyta-be).

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 24 tools

    Disambiguation5/5

    Each tool targets a distinct resource-action pair (e.g., alertas_create vs. alertas_delete). The CRUD groups for expedientes, alertas, honorarios, and tareas are clearly separated, and authentication and status tools are unique.

    Naming Consistency5/5

    All tool names follow the pattern zyta_expedientes_<resource>_<action>, with consistent use of snake_case and verb_noun ordering. The only minor variation is registrar_actuacion, which still fits the overall convention.

    Tool Count4/5

    24 tools is slightly above the typical 3-15 range but still reasonable for a comprehensive legal case management system covering CRUD for multiple sub-resources plus authentication and synchronization. Each tool has a clear purpose.

    Completeness4/5

    The tool set covers full CRUD for expedientes, alertas, honorarios, and tareas, plus authentication, portal status, and sync. Minor gaps like document attachment might exist, but core workflows are well-covered.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Public MCP server for querying Brazilian court jurisprudence, processes, and communications without authentication. Supports courts like TJSP, TJRS, TJRJ, TJGO, and more via eSAJ, Datajud, and CNJ systems.
      8
      MIT
    • F
      license
      A
      quality
      B
      maintenance
      MCP server that provides access to Argentine legal documents (legislation, CSJN jurisprudence, international treaties) with verifiable provenance including SHA256 hashes and source URLs, enabling legal professionals to search and verify citations.
      13
      -
    • F
      license
      A
      quality
      B
      maintenance
      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.
      14
      2
      -