Skip to content

Servidor MCP ​

ADHDev incluye un servidor MCP stdio para que los clientes MCP externos puedan usar las sesiones de ADHDev como herramientas. El servidor se publica como @adhdev/mcp-server y también está envuelto por el CLI principal de la nube como adhdev mcp.

Úsalo cuando quieras que un cliente MCP como Claude Desktop liste las sesiones activas de ADHDev, lea el historial de chat, envíe un mensaje o apruebe un prompt en espera. En modo mesh se convierte en la superficie completa de herramientas de coordinador de Repo Mesh.

Modos ​

ModoTransporte usado por el servidor MCPHerramientas
Local standaloneAPI standalone http://localhost:384715 herramientas base + screenshot + 3 herramientas de arranque de mesh (19 en total)
IPCIPC local del daemon de la nube en localhost:19222Las mismas 15 herramientas base + 3 herramientas de arranque de mesh, sin screenshot (18 en total)
MeshLocal o IPC + --repo-mesh <id>Conjunto con alcance de coordinador — ver Herramientas de mesh más abajo
WorkerLocal o IPC + --workerConjunto mínimo de herramientas de worker delegado: report_completion, progress_update, peer_context_pull, git_status, git_log, git_diff (6 herramientas)

El modo local es parte de la superficie OSS/autoalojada. Para los detalles de configuración y autenticación de standalone, usa la documentación de OSS:

Iniciar el servidor ​

bash
# Local mode: requires a running standalone daemon
adhdev mcp
adhdev mcp --port 4000
adhdev mcp --password my-standalone-password

También puedes ejecutar el paquete OSS directamente:

bash
npx @adhdev/mcp-server
npx @adhdev/mcp-server --mode ipc --repo-mesh mesh_abc123

Se admiten variables de entorno:

bash
ADHDEV_PASSWORD=my-standalone-password adhdev mcp
ADHDEV_MESH_ID=mesh_abc123 adhdev mcp

Configuración de Claude Desktop ​

json
{
  "mcpServers": {
    "adhdev": {
      "command": "adhdev",
      "args": ["mcp"]
    }
  }
}

Para el modo mesh (herramientas con alcance de coordinador):

json
{
  "mcpServers": {
    "adhdev-mesh": {
      "command": "adhdev",
      "args": ["mcp", "--mode", "ipc", "--repo-mesh", "mesh_abc123"]
    }
  }
}

Herramientas del modo estándar ​

El modo estándar (sin --repo-mesh) expone la superficie de control directo de sesiones más tres herramientas de arranque de mesh que permiten a un agente que solo tiene MCP crear un mesh antes de que el modo mesh tenga algo a lo que conectarse.

Sesión y daemon

  • list_daemons — reporta la identidad del daemon conectado.
  • list_sessions — descubre las sesiones disponibles en un daemon.
  • launch_session / stop_session — gestionan los ciclos de vida de los agentes CLI/IDE.
  • check_pending — lista las sesiones que esperan aprobación.

Chat y aprobación

  • read_chat — lee el chat reciente de una sesión seleccionada.
  • read_chat_debug — paquete de depuración acotado del estado de chat de una sesión seleccionada.
  • spec_debug — ayudante de depuración para el parseo de specs de proveedor.
  • send_chat — envía un mensaje a una sesión seleccionada.
  • approve — aprueba o rechaza un prompt de aprobación.

Git

  • git_status, git_diff, git_log, git_checkpoint, git_push — gestionan las operaciones de git del workspace.

Solo local

  • screenshot — captura la ventana actual del IDE a través del daemon. Requiere acceso P2P/al daemon local, por lo que solo está disponible en modo local, no en IPC.

Arranque de mesh (disponible tanto en modo estándar local como IPC — esta es la ruta para cuando aún no existe un mesh)

  • mesh_create — crea un nuevo mesh, opcionalmente registrando el workspace actual como su primer nodo. Con mode: "plan" es en cambio un dry-run de solo lectura que propone lo que haría crear o unirse a un mesh y no escribe nada — ejecútalo primero.
  • mesh_add_node — registra un workspace existente como nodo de un mesh existente.

Una vez que existe un mesh, vuelve a registrar el servidor MCP con --repo-mesh <mesh_id> para cambiar a modo mesh y desbloquear el conjunto completo de herramientas de coordinador de abajo — el modo mesh reemplaza la superficie de herramientas por completo en lugar de añadirse a ella.

Herramientas de mesh ​

Las herramientas de mesh solo están disponibles en modo mesh (--repo-mesh). Reemplazan las herramientas estándar con un conjunto con alcance de coordinador.

Los nombres y la cantidad autoritativos viven en el código

Esta página agrupa las herramientas por familia para orientación general. La lista autoritativa —nombres exactos, cantidad actual y los esquemas de entrada completos— es ALL_MESH_TOOLS en oss/packages/mcp-server/src/tools/mesh-tool-schemas.ts. Si un nombre de herramienta de abajo y el código alguna vez no coinciden, el código gana — esta lista ya ha quedado obsoleta antes.

Estado e inspección

  • mesh_status — snapshot agregado: salud de todos los nodos, estado de git, sesiones activas, pistas de recuperación e información de build/antigüedad por daemon.
  • mesh_list_nodes — inventario ligero desde la configuración del mesh: cada nodo con rutas de workspace, identidad de máquina, política del nodo y capacidades (sin git ni sesiones en vivo — para eso está mesh_status).
  • mesh_read_chat — lee el historial de chat de un agente delegado.
  • mesh_read_debug — paquete de depuración acotado para una sesión delegada.
  • mesh_read_terminal — lee la pantalla PTY cruda actual (lo que un humano vería en pantalla en este momento) de una sesión delegada.
  • mesh_git_status — obtiene el estado de git para un workspace de nodo.
  • mesh_read_node_logs — busca (grep) en el archivo de log del daemon de un nodo (archivo completo, no solo la cola).
  • mesh_task_history — el ledger del mesh: tareas, finalizaciones, fallos, checkpoints y ciclo de vida de nodos y misiones; filtra por kind (uno o una lista separada por comas), since y node, y devuelve las tail entradas más recientes.
  • mesh_ledger_query — alias obsoleto de mesh_task_history (ver alias obsoletos).
  • mesh_review_inbox — elementos de revisión/aprobación pendientes que esperan al coordinador.
  • mesh_list_pending_approvals — lista de todo el mesh de cada sesión que actualmente espera una decisión de aprobación.
  • mesh_route_preview — vista previa de solo lectura y sin fetch de dónde enrutaría una tarea hipotética y por qué, a partir de la instantánea en memoria actual de mesh/cola/hechos de cuota (orden por capacidad primero, piso de dificultad, componentes de fitness, bonus de cuota, resultado de la puerta). No encola, escribe, sondea CLIs ni actualiza la cuota.

Despacho, sesiones y control

  • mesh_send_task — envía una tarea en lenguaje natural directamente a una sesión de agente delegado.
  • mesh_launch_session — lanza una nueva sesión de agente en un nodo del mesh.
  • mesh_send_keys — inyecta una secuencia de teclas estructurada en una sesión de worker delegado.
  • mesh_restart_daemon — reinicia el daemon de un nodo del mesh.
  • mesh_approve — aprueba/rechaza una acción pendiente en un agente delegado.
  • mesh_answer_question — responde a una pregunta de opción múltiple (AskUserQuestion) que una sesión delegada está esperando.
  • mesh_checkpoint — crea un checkpoint de git en un workspace de nodo.
  • mesh_cleanup_sessions — detiene/limpia sesiones delegadas obsoletas o huérfanas de un nodo; mode: "prune_stale_direct" en cambio poda los registros de despacho directo obsoletos de todo el mesh (dry-run salvo execute: true).

Cola de trabajo y misiones

  • mesh_enqueue_task — encola una tarea que un nodo inactivo reclama de forma autónoma (admite enrutamiento target_node_id / prefer_worktree, task_mode, mission_id, depends_on, y una declaración opcional owned_paths para que una tarea code_change superpuesta en otro lugar del mesh sea rechazada en el momento de reclamarla en lugar de competir con ella). Encadenar una tarea nueva sobre una existente con depends_on es la forma predeterminada de construir un plan de varios pasos — el plan crece un enlace a la vez a medida que se descubre el trabajo. Una tarea con depends_on recibe automáticamente un apéndice de "Upstream results" que resume lo que informó su predecesora (o predecesoras) al completarse.
  • mesh_enqueue_batch — encola atómicamente varias tareas (con sus relaciones depends_on) en una sola llamada, revirtiendo todo el lote si algún elemento no es válido. Una comodidad para planes cuyos pasos ya están confirmados — no es la forma predeterminada de encadenar tareas (ver mesh_enqueue_task arriba).
  • mesh_view_queue — fuente de verdad actual del trabajo activo (pending/assigned/terminal).
  • mesh_queue_cancel / mesh_queue_requeue — cancela o vuelve a encolar una tarea en cola.
  • mesh_mission_upsert — crea/actualiza una misión (agrupación de objetivo + estado de ciclo de vida).
  • mesh_mission_list — lista las misiones con su objetivo, estado y progreso de tareas en vivo (total/pendiente/asignada/completada/fallida).
  • mesh_reconcile_ledger — reconcilia el ledger local contra la porción acotada de un par.
  • mesh_note — action: "record" / "forget": registra o retracta una nota operativa duradera que heredarán los futuros coordinadores.

Arranque y configuración (modo mesh; distinto del par de arranque del modo estándar de arriba)

  • mesh_init — incorporación con un clic para un proyecto git existente: detecta los proveedores CLI instalados y propone las tres familias de configuración .adhdev/* del repo (Refinery, worktree bootstrap, change-impact). Vista previa por defecto; write: true para aplicar. mode: "reinit" es la misma operación para un repo ya inicializado, con overwrite en true por defecto y un diff actual-vs-sugerido.
  • mesh_config — ayudante de configuración del repo seleccionado por kind. kind: "refine" y kind: "change_impact" son ayudantes de solo lectura cuyo mode (schema / validate / suggest) selecciona la operación; kind: "mesh_json" escribe el .adhdev/mesh.json confirmado en el repo a partir de la entrada de mesh local de la máquina (dry-run salvo write: true). Ver nombres de herramientas retirados más abajo.

Nodos

  • mesh_clone_node — clona un nodo en un nodo de worktree de git aislado.
  • mesh_remove_node — elimina un nodo (de worktree), opcionalmente limpiando sesiones.
  • mesh_cleanup_worktree_nodes — planea (dry-run por defecto) o ejecuta la eliminación segura de nodos de worktree locales convergidos, una vez que se demuestra que su rama está fusionada/enviada y pasan todas las exclusiones de seguridad.
  • mesh_fast_forward_node — hace dry-run de forma segura por defecto, o ejecuta explícitamente, un fast-forward limpio y obvio sin lanzar una sesión de agente; usa fetch/recheck, merge --ff-only, actualización opcional de submódulos y solo verificación de estado posterior.

Refinery (convergencia worktree → base)

  • mesh_refine_node / mesh_refine_batch — convergen una o varias ramas de worktree de vuelta a la base (validar → merge → push → limpieza). Ambas solo previsualizan el plan por defecto y no ejecutan nada hasta execute: true.

Slots de nodo (enrutamiento de proveedor/modelo/nivel de pensamiento)

  • mesh_node_slots — la lista de slots de un nodo (proveedor/modelo/nivel de pensamiento vinculados a clases de dificultad), según action: list muestra los slots actuales; set propone (dry-run) o aplica una lista de slots; propose es una auto-detección de solo lectura que sondea los agentes CLI instalados en el nodo y redacta un perfil de slots de capacidad (la vía de "simplemente permítelo y él descubre los slots"). propose nunca escribe; aplica el borrador con mesh_node_slots({ action: "set", node_id, slots: proposedSlots, write: true }) tras revisarlo, ya que las escrituras de slots son reemplazos completos que pueden eliminar slots ajustados manualmente.

Modo worker ​

adhdev mcp --mode ipc --worker inicia el conjunto mínimo de herramientas de worker delegado que usa una sesión worker de Repo Mesh (un coordinador de mesh despacha tareas a otras sesiones de agente, que actúan como workers). Este modo normalmente lo lanza el propio daemon cuando inicia una sesión worker, no algo que ejecutes a mano — el proceso worker necesita un enlace de sesión (ADHDEV_WORKER_SESSION_BIND) o un token de tarea (ADHDEV_WORKER_TASK_TOKEN) que suministra el daemon. --worker tiene prioridad sobre --repo-mesh: una sesión worker nunca obtiene el conjunto de herramientas de coordinador.

Herramientas de worker: report_completion, progress_update, peer_context_pull, git_status, git_log, git_diff.

Nombres de herramientas retirados ​

El 2026-09-26 la superficie de herramientas de mesh se consolidó de 60 a 48 herramientas, fusionando las que actuaban sobre el mismo objeto en una sola herramienta seleccionada por un argumento action / kind / mode. Toda capacidad sigue disponible. Los nombres antiguos ya no aparecen en tools/list y no se reenvían: llamar a uno devuelve un error que nombra la herramienta de reemplazo y el argumento que hay que añadir, así que un agente con un prompt antiguo se recupera en su siguiente llamada.

Nombre antiguoLlama en su lugar
mesh_node_slots_listmesh_node_slots + action: "list"
mesh_node_slots_proposemesh_node_slots + action: "propose"
mesh_node_slots_setmesh_node_slots + action: "set"
mesh_record_notemesh_note + action: "record"
mesh_forget_notemesh_note + action: "forget"
mesh_reinitmesh_init + mode: "reinit"
mesh_refine_configmesh_config + kind: "refine"
mesh_change_impact_configmesh_config + kind: "change_impact"
mesh_write_mesh_json_configmesh_config + kind: "mesh_json"
mesh_plan_onboardingmesh_create + mode: "plan"
mesh_prune_stale_directmesh_cleanup_sessions + mode: "prune_stale_direct"

Las herramientas de orquestación de grafos (mesh_graph_view, mesh_graph_gate, mesh_graph_node_patch) se eliminaron el 2026-09-30 sin reemplazo; encadena las tareas con depends_on.

Las herramientas MAGI (mesh_magi_review, mesh_magi_collect, mesh_magi_kind_panel) se eliminaron el 2026-09-30. Llamar a una devuelve un error con la alternativa: envía la misma pregunta de solo lectura a 2–3 workers de distintos proveedores con mesh_send_task, espera su report_completion y sintetiza tú mismo las respuestas.

mesh_refine_plan se eliminó el 2026-10-08: era un alias del dry-run por defecto de mesh_refine_node. Llamarla devuelve un error que remite a mesh_refine_node, que devuelve el mismo plan sin ejecutar nada.

mesh_coordinator_prompt_append (y sus nombres retirados _get / _set) se eliminó el 2026-10-08 junto con los archivos por máquina ~/.adhdev/coordinator-prompts/, que el daemon ya no lee. Llamarla devuelve un error con la alternativa: pon una instrucción permanente para el coordinador de un proyecto en coordinator.systemPromptAppend del .adhdev/mesh.json del repositorio (mesh_config con kind: "mesh_json"), o registra una lección con mesh_note.

Alias obsoletos ​

mesh_refine_config_schema, mesh_suggest_refine_config, mesh_validate_refine_config, y sus contrapartes de change-impact (mesh_change_impact_config_schema, mesh_suggest_change_impact_config, mesh_validate_change_impact_config) son anteriores a esa consolidación. No aparecen listados por tools/list, pero el servidor todavía los despacha como capa de compatibilidad, reenviándolos a mesh_config con el kind y el mode correspondientes. Los nuevos llamadores deberían usar mesh_config directamente.

mesh_ledger_query es un alias obsoleto de mesh_task_history, que asumió sus filtros kind / since / node el 2026-10-08. Sigue listada y funcionando (payloads completos, tail por defecto 50) durante una versión y después se eliminará. Los nuevos llamadores deberían usar mesh_task_history; pasa verbose: true para payloads completos.

Referencias relacionadas ​

La documentación de la nube alojada está aquí. La documentación de código abierto y autoalojada está en el repositorio OSS.