DespachoDevelopers
Model Context Protocol

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.

Endpoint por cuenta: 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:read

Lista 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ámetroUsoContrato
qOpcionalstring · 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_clienteOpcionalinteger · id_persona del cliente (de personas_buscar).
archivadoOpcionalboolean · true = buscar SOLO entre los archivados. Usarlo unicamente si el usuario pide expresamente revisar archivados; no reintentar con archivados por cuenta propia.
codigoOpcionalstring
anioOpcionalstring
id_materiaOpcionalinteger
id_entidadOpcionalinteger
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Obtiene 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ámetroUsoContrato
id_expedienteObligatoriointeger · ID del expediente
camposOpcionalarray · 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:read

Lista 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ámetroUsoContrato
id_expedienteOpcionalinteger
estadoOpcionalstring · Valores: vigente, vencido, atendido
fecha_vence_desdeOpcionalstring · date · YYYY-MM-DD: vencen desde ese dia (inclusive).
fecha_vence_hastaOpcionalstring · date · YYYY-MM-DD: vencen hasta ese dia (inclusive).
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Lista 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ámetroUsoContrato
id_expedienteObligatoriointeger
fecha_desdeOpcionalstring · date · YYYY-MM-DD: actuaciones desde ese dia (inclusive).
fecha_hastaOpcionalstring · date · YYYY-MM-DD: actuaciones hasta ese dia (inclusive).
qOpcionalstring · Texto en sumilla, numero o tipo de acto.
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Lista 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ámetroUsoContrato
qOpcionalstring
estadoOpcionalstring · 'abierto' = pendientes/no finalizadas; o el nombre exacto de un estado.
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Lista 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ámetroUsoContrato
fechaOpcionalstring · date · YYYY-MM-DD: solo ese dia.
fecha_desdeOpcionalstring · date · YYYY-MM-DD: desde ese dia (inclusive).
fecha_hastaOpcionalstring · date · YYYY-MM-DD: hasta ese dia (inclusive).
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Busca 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ámetroUsoContrato
qOpcionalstring
es_clienteOpcionalboolean
es_proveedorOpcionalboolean
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Lista notas de un recurso (ej. recurso='expediente'). Campos: id_nota, nota, resumen, nombre_usuario_creo, fecha_creo.

Parámetros y salida
ParámetroUsoContrato
recursoObligatoriostring
id_recursoObligatoriointeger
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:read

Lista 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ámetroUsoContrato
recursoObligatoriostring
id_recursoObligatoriointeger
paginaOpcionalinteger · mín. 1 · Pagina a devolver (desde 1).
limiteOpcionalinteger · mín. 1 · máx. 50 · Filas por pagina, maximo 50 (por defecto 20).
camposOpcionalarray · 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:write

Crea 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ámetroUsoContrato
id_plazoOpcionalinteger · Si se indica, edita ese plazo; si no, crea uno nuevo.
id_expedienteObligatoriointeger
descripcionObligatoriostring
fecha_inicioObligatoriostring · date · YYYY-MM-DD
tipo_plazoObligatoriostring · Valores: diascalendario, diashabiles, meses, anios
plazoObligatoriointeger · Cantidad de dias/meses/anios, segun tipo_plazo.
es_principalOpcionalboolean
camposOpcionalarray · 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:write

Crea 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ámetroUsoContrato
tareaObligatoriostring · Titulo de la tarea.
descripcionOpcionalstring
fecha_limiteOpcionalstring · date · YYYY-MM-DD
id_expedienteOpcionalinteger
id_usuario_responsableOpcionalinteger · Obligatorio si no hay un responsable por defecto.
camposOpcionalarray · 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:write

Crea un evento de agenda nuevo (no edita eventos existentes). Campos: id_evento, evento, estado.

Parámetros y salida
ParámetroUsoContrato
eventoOpcionalstring · Titulo del evento.
descripcionOpcionalstring
fecha_inicioObligatoriostring · fecha-hora · YYYY-MM-DD HH:MM
fecha_finalizaObligatoriostring · fecha-hora · YYYY-MM-DD HH:MM
id_expedienteOpcionalinteger
lugarOpcionalstring
id_tipo_actividadObligatoriointeger · Id del catalogo de tipo de actividad del tenant (ej. reunion, llamada, audiencia, correo electronico).
camposOpcionalarray · 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

Las herramientas de escritura modifican información. Revisa los argumentos y confirma la acción antes de invocarlas.

Conectar un cliente

Claude Desktop

Conector remoto de la cuenta Claude.

Ver guía →

Claude Code

CLI con servidor HTTP remoto.

Ver guía →

ChatGPT

Servidor MCP personalizado.

Ver guía →

Codex CLI

Configuración de MCP remoto con OAuth.

Ver guía →

Las guías reflejan compatibilidad descrita por sus fabricantes. No se ha probado una conexión real con estos clientes.