Servidor MCP de Despacho
Permite a un asistente consultar información de la cuenta y, con un permiso adicional, crear tareas y eventos o crear y editar plazos.
https://{cuenta}.despacho.pe/api/mcp/rpc. Es el servidor existente de Despacho; la referencia REST no genera otro MCP.Transporte y autenticación
El servidor atiende solicitudes POST JSON-RPC 2.0 por HTTP y anuncia la versión de protocolo 2025-06-18. Devuelve una sola respuesta JSON; actualmente no emite SSE. Implementa initialize, notifications/initialized (HTTP 202 sin cuerpo), tools/list y tools/call. No anuncia recursos ni prompts MCP. El acceso requiere un token OAuth Bearer de esta cuenta: mcp:read para consultas y mcp:write para las tres herramientas de modificación. La autorización se descubre mediante las rutas /.well-known/ de la cuenta y usa código con PKCE S256.
Forma de las respuestas
tools/list devuelve nombres, descripciones e inputSchema. tools/call devuelve content con un elemento de texto cuyo contenido es JSON serializado. Los listados contienen items, num_items, pagina y paginas; los detalles y las operaciones de escritura devuelven los campos publicados de cada registro. Si una operación falla, el resultado incluye isError: true. Las herramientas pueden devolver truncado: true si se recorta contenido.
Ejemplo sintético de respuesta a una búsqueda sin resultados:
{"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"{\"items\":[],\"num_items\":0,\"pagina\":1,\"paginas\":1}"}]}}
Herramientas disponibles
Los esquemas de entrada y campos de salida siguientes se extrajeron del registro de herramientas de la implementación. Un campo de salida puede faltar en un registro concreto. En expediente_archivos, directorio es la ruta de carpetas tal como se ve en Despacho (por ejemplo /Escritos), no una ubicación de almacenamiento. El permiso OAuth y los permisos del usuario se verifican al llamar cada herramienta.
expedientes_listar
Consulta · mcp:readLista expedientes (casos) activos con filtros opcionales. Los archivados no salen salvo que se pidan con archivado. Campos: id_expediente, codigo, numero_interno, anio, referencia_caso, sumilla, cliente, especialidad, materia, proceso, estado, responsable, tipo, fecha_inicio, fecha_ultimo_acto, sumilla_ultimo_acto, dias_ultimo_movimiento, ultima_tarea, ultimo_evento, etiquetas, confidencial, congelado.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
q | Opcional | string · Texto libre, coincidencia parcial sin distinguir tildes ni mayusculas. Busca en: cliente, partes, codigo, numero interno, referencia, sumilla, observacion y materia. Usar una sola palabra distintiva (ej. un apellido), no frases. La coincidencia puede venir de cualquiera de esos campos: si el cliente de una fila no corresponde a lo buscado, no asumir que es el caso pedido; si hay varias filas, mostrarlas y preguntar al usuario cual es. |
id_cliente | Opcional | integer · id_persona del cliente (de personas_buscar). |
archivado | Opcional | boolean · true = buscar SOLO entre los archivados. Usarlo unicamente si el usuario pide expresamente revisar archivados; no reintentar con archivados por cuenta propia. |
codigo | Opcional | string |
anio | Opcional | string |
id_materia | Opcional | integer |
id_entidad | Opcional | integer |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_expediente, codigo, numero_interno, anio, referencia_caso, sumilla, cliente, especialidad, materia, proceso, estado, responsable, tipo, fecha_inicio, fecha_ultimo_acto, sumilla_ultimo_acto, dias_ultimo_movimiento, ultima_tarea, ultimo_evento, etiquetas, confidencial, congelado · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_expediente, codigo, numero_interno, anio, referencia_caso, sumilla, cliente, especialidad, materia, proceso, estado, responsable, tipo, fecha_inicio, fecha_ultimo_acto, sumilla_ultimo_acto, dias_ultimo_movimiento, ultima_tarea, ultimo_evento, etiquetas, confidencial, congelado.
expediente_ver
Consulta · mcp:readObtiene el detalle completo de un expediente por su id, con sus partes procesales (nombre y tipo de parte). es_patrocinado=1 marca la parte que defiende el estudio; 0 puede significar solo que no se marco, no que el estudio no patrocine a esa parte. Campos: id_expediente, codigo, numero_interno, anio, referencia_caso, sumilla, observacion, cliente, entidad, organo_jurisdiccional, distrito_judicial, especialidad, materia, proceso, etapa_procesal, parte_procesal_defensa, estado, estado_interno, responsable, sede, ubicacion, tipo, codigo_expediente_principal, fecha_inicio, fecha_conclusion, motivo_conclusion, fallo, detalle_fallo, hechos, archivado, fecha_archivo, confidencial, etiqueta_caso, etiqueta_organo, numero_cuadernos, proyecto, hito, fecha_creo, usuario_creo, usuarios, partes_procesales.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
id_expediente | Obligatorio | integer · ID del expediente |
campos | Opcional | array · mín. 1 elementos · Valores: id_expediente, codigo, numero_interno, anio, referencia_caso, sumilla, observacion, cliente, entidad, organo_jurisdiccional, distrito_judicial, especialidad, materia, proceso, etapa_procesal, parte_procesal_defensa, estado, estado_interno, responsable, sede, ubicacion, tipo, codigo_expediente_principal, fecha_inicio, fecha_conclusion, motivo_conclusion, fallo, detalle_fallo, hechos, archivado, fecha_archivo, confidencial, etiqueta_caso, etiqueta_organo, numero_cuadernos, proyecto, hito, fecha_creo, usuario_creo, usuarios, partes_procesales · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: registro con estos campos cuando estén disponibles: id_expediente, codigo, numero_interno, anio, referencia_caso, sumilla, observacion, cliente, entidad, organo_jurisdiccional, distrito_judicial, especialidad, materia, proceso, etapa_procesal, parte_procesal_defensa, estado, estado_interno, responsable, sede, ubicacion, tipo, codigo_expediente_principal, fecha_inicio, fecha_conclusion, motivo_conclusion, fallo, detalle_fallo, hechos, archivado, fecha_archivo, confidencial, etiqueta_caso, etiqueta_organo, numero_cuadernos, proyecto, hito, fecha_creo, usuario_creo, usuarios (id_persona, nombre), partes_procesales (nombre, tipo_parte, es_patrocinado).
expediente_plazos
Consulta · mcp:readLista plazos procesales ordenados por fecha de vencimiento, opcionalmente filtrados por expediente, estado o rango de vencimiento. Cada plazo trae el codigo y la referencia de su expediente. Campos: id_plazo, id_expediente, codigo_expediente, expediente_numero_interno, referencia_caso, descripcion, fecha_inicio, fecha_vence, dias, tipo_plazo, ampliacion, es_principal, estado_nombre, dias_faltan, fecha_atendido.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
id_expediente | Opcional | integer |
estado | Opcional | string · Valores: vigente, vencido, atendido |
fecha_vence_desde | Opcional | string · date · YYYY-MM-DD: vencen desde ese dia (inclusive). |
fecha_vence_hasta | Opcional | string · date · YYYY-MM-DD: vencen hasta ese dia (inclusive). |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_plazo, id_expediente, codigo_expediente, expediente_numero_interno, referencia_caso, descripcion, fecha_inicio, fecha_vence, dias, tipo_plazo, ampliacion, es_principal, estado_nombre, dias_faltan, fecha_atendido · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_plazo, id_expediente, codigo_expediente, expediente_numero_interno, referencia_caso, descripcion, fecha_inicio, fecha_vence, dias, tipo_plazo, ampliacion, es_principal, estado_nombre, dias_faltan, fecha_atendido.
expediente_actuaciones
Consulta · mcp:readLista las actuaciones (actos procesales) de un expediente, de la mas reciente a la mas antigua. ia_analisis_resumen es una interpretacion generada por IA, no un registro del expediente. Una lista vacia no prueba que no haya actuaciones: puede ser falta de acceso al caso (confirmar con expediente_ver). Campos: id_acto_procesal, fecha, tipo_acto, numero, sumilla, parte_origen, tipo_movimiento, fecha_notificacion, hora_notificacion, proveido, fecha_provision, tiene_archivos, numero_comentarios, ia_analisis_estado, ia_analisis_resumen.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
id_expediente | Obligatorio | integer |
fecha_desde | Opcional | string · date · YYYY-MM-DD: actuaciones desde ese dia (inclusive). |
fecha_hasta | Opcional | string · date · YYYY-MM-DD: actuaciones hasta ese dia (inclusive). |
q | Opcional | string · Texto en sumilla, numero o tipo de acto. |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_acto_procesal, fecha, tipo_acto, numero, sumilla, parte_origen, tipo_movimiento, fecha_notificacion, hora_notificacion, proveido, fecha_provision, tiene_archivos, numero_comentarios, ia_analisis_estado, ia_analisis_resumen · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_acto_procesal, fecha, tipo_acto, numero, sumilla, parte_origen, tipo_movimiento, fecha_notificacion, hora_notificacion, proveido, fecha_provision, tiene_archivos, numero_comentarios, ia_analisis_estado, ia_analisis_resumen.
mis_tareas
Consulta · mcp:readLista las tareas asignadas al usuario autenticado. Usar estado='abierto' para pendientes (no finalizadas); otro valor filtra por el nombre exacto del estado (ej. 'Finalizado'). Campos: id_tarea, tarea, descripcion, estado, fecha_limite, responsable, cliente, id_expediente, codigo_expediente, numero_interno_expediente, referencia_caso, proyecto, numero_comentarios, numero_subtareas, total_horas_trabajadas, fecha_finalizacion, usuario_finalizo, fecha_creo.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
q | Opcional | string |
estado | Opcional | string · 'abierto' = pendientes/no finalizadas; o el nombre exacto de un estado. |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_tarea, tarea, descripcion, estado, fecha_limite, responsable, cliente, id_expediente, codigo_expediente, numero_interno_expediente, referencia_caso, proyecto, numero_comentarios, numero_subtareas, total_horas_trabajadas, fecha_finalizacion, usuario_finalizo, fecha_creo · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_tarea, tarea, descripcion, estado, fecha_limite, responsable, cliente, id_expediente, codigo_expediente, numero_interno_expediente, referencia_caso, proyecto, numero_comentarios, numero_subtareas, total_horas_trabajadas, fecha_finalizacion, usuario_finalizo, fecha_creo.
mi_agenda
Consulta · mcp:readLista eventos de agenda del usuario autenticado. Sin filtro de fecha devuelve los de hoy; para otro rango usar fecha o fecha_desde/fecha_hasta. Orden por fecha_inicio ascendente. Campos: id_evento, evento, descripcion, tipo_actividad, estado, fecha_inicio, fecha_finaliza, duracion, lugar, socio, empleado, id_expediente, codigo_expediente, expediente_numero_interno, referencia_caso, recurso, id_recurso, numero_comentarios, privacidad.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
fecha | Opcional | string · date · YYYY-MM-DD: solo ese dia. |
fecha_desde | Opcional | string · date · YYYY-MM-DD: desde ese dia (inclusive). |
fecha_hasta | Opcional | string · date · YYYY-MM-DD: hasta ese dia (inclusive). |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_evento, evento, descripcion, tipo_actividad, estado, fecha_inicio, fecha_finaliza, duracion, lugar, socio, empleado, id_expediente, codigo_expediente, expediente_numero_interno, referencia_caso, recurso, id_recurso, numero_comentarios, privacidad · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_evento, evento, descripcion, tipo_actividad, estado, fecha_inicio, fecha_finaliza, duracion, lugar, socio, empleado, id_expediente, codigo_expediente, expediente_numero_interno, referencia_caso, recurso, id_recurso, numero_comentarios, privacidad.
personas_buscar
Consulta · mcp:readBusca personas/contactos (clientes, proveedores, empleados) por texto. Campos: id_persona, codigo_interno, tipo_persona, nombre_completo, documento_identidad, ruc, email, telefono, celular, direccion, ubicacion, region, contacto, es_cliente, es_proveedor, es_empleado, es_contacto, activo.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
q | Opcional | string |
es_cliente | Opcional | boolean |
es_proveedor | Opcional | boolean |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_persona, codigo_interno, tipo_persona, nombre_completo, documento_identidad, ruc, email, telefono, celular, direccion, ubicacion, region, contacto, es_cliente, es_proveedor, es_empleado, es_contacto, activo · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_persona, codigo_interno, tipo_persona, nombre_completo, documento_identidad, ruc, email, telefono, celular, direccion, ubicacion, region, contacto, es_cliente, es_proveedor, es_empleado, es_contacto, activo.
expediente_notas
Consulta · mcp:readLista notas de un recurso (ej. recurso='expediente'). Campos: id_nota, nota, resumen, nombre_usuario_creo, fecha_creo.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
recurso | Obligatorio | string |
id_recurso | Obligatorio | integer |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_nota, nota, resumen, nombre_usuario_creo, fecha_creo · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_nota, nota, resumen, nombre_usuario_creo, fecha_creo.
expediente_archivos
Consulta · mcp:readLista archivos adjuntos de un recurso (ej. recurso='expediente'). Campos: id_archivo, nombre_original, descripcion, tipo, peso, privacidad, directorio, usuario, fecha_creo, fecha_actualizo, id_acto_procesal, id_carpeta.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
recurso | Obligatorio | string |
id_recurso | Obligatorio | integer |
pagina | Opcional | integer · mín. 1 · Pagina a devolver (desde 1). |
limite | Opcional | integer · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20). |
campos | Opcional | array · mín. 1 elementos · Valores: id_archivo, nombre_original, descripcion, tipo, peso, privacidad, directorio, usuario, fecha_creo, fecha_actualizo, id_acto_procesal, id_carpeta · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: listado paginado con estos campos cuando estén disponibles: id_archivo, nombre_original, descripcion, tipo, peso, privacidad, directorio, usuario, fecha_creo, fecha_actualizo, id_acto_procesal, id_carpeta.
plazo_guardar
Modifica datos · mcp:writeCrea un plazo procesal, o lo edita si se indica id_plazo. El plazo se reenvia completo en cada edicion (no es un patch parcial: los campos omitidos no se conservan). Campos: id_plazo, es_principal.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
id_plazo | Opcional | integer · Si se indica, edita ese plazo; si no, crea uno nuevo. |
id_expediente | Obligatorio | integer |
descripcion | Obligatorio | string |
fecha_inicio | Obligatorio | string · date · YYYY-MM-DD |
tipo_plazo | Obligatorio | string · Valores: diascalendario, diashabiles, meses, anios |
plazo | Obligatorio | integer · Cantidad de dias/meses/anios, segun tipo_plazo. |
es_principal | Opcional | boolean |
campos | Opcional | array · mín. 1 elementos · Valores: id_plazo, es_principal · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: registro con estos campos cuando estén disponibles: id_plazo, es_principal.
tarea_crear
Modifica datos · mcp:writeCrea una tarea nueva (no edita tareas existentes). Campos: id_tarea, tarea, descripcion, estado, fecha_limite, id_expediente, id_usuario_responsable, responsable.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
tarea | Obligatorio | string · Titulo de la tarea. |
descripcion | Opcional | string |
fecha_limite | Opcional | string · date · YYYY-MM-DD |
id_expediente | Opcional | integer |
id_usuario_responsable | Opcional | integer · Obligatorio si no hay un responsable por defecto. |
campos | Opcional | array · mín. 1 elementos · Valores: id_tarea, tarea, descripcion, estado, fecha_limite, id_expediente, id_usuario_responsable, responsable · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: registro con estos campos cuando estén disponibles: id_tarea, tarea, descripcion, estado, fecha_limite, id_expediente, id_usuario_responsable, responsable.
evento_crear
Modifica datos · mcp:writeCrea un evento de agenda nuevo (no edita eventos existentes). Campos: id_evento, evento, estado.
Parámetros y salida
| Parámetro | Uso | Contrato |
|---|---|---|
evento | Opcional | string · Titulo del evento. |
descripcion | Opcional | string |
fecha_inicio | Obligatorio | string · fecha-hora · YYYY-MM-DD HH:MM |
fecha_finaliza | Obligatorio | string · fecha-hora · YYYY-MM-DD HH:MM |
id_expediente | Opcional | integer |
lugar | Opcional | string |
id_tipo_actividad | Obligatorio | integer · Id del catalogo de tipo de actividad del tenant (ej. reunion, llamada, audiencia, correo electronico). |
campos | Opcional | array · mín. 1 elementos · Valores: id_evento, evento, estado · Solo estos campos en la respuesta. Sin esto salen todos. |
Respuesta: registro con estos campos cuando estén disponibles: id_evento, evento, estado.
Ejemplos de preguntas
- «Busca los expedientes del cliente ficticio Ana Ejemplo y muéstrame las coincidencias.»
- «¿Qué plazos del caso 123 vencen esta semana?»
- «Prepara una tarea para revisar el escrito el viernes y pídeme confirmación antes de crearla.»
Las herramientas de escritura modifican información. Revisa los argumentos y confirma la acción antes de invocarlas.
Conectar un cliente
Las guías reflejan compatibilidad descrita por sus fabricantes. No se ha probado una conexión real con estos clientes.
