MCP:在 Claude Code 里实测工具调用,并核对断开后模拟器不被带走

Abierto
#21 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
Medio día
Aptitud para principiantes
40/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
go
Área
testing

Línea de trabajo

Start with the MCP section of the README and the modavd mcp entry point, then read how modavd list --json and modavd stop report instance state. Run the two Claude Code rounds (default and legacy protocol) in a separate test root with claude -p --mcp-config <file> --strict-mcp-config, following the tool sequence in the issue. Done means both rounds match the Codex results, progress notifications increase, the disconnect check passes or a P1 bug is filed, and the outcome is recorded in the README.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement P2

现状

modavd mcp 已经实测过的:

  • Codex 当 MCP 客户端,七个工具的调用全部成功,start_instance 期间收到 13 条 notifications/progress,进度值严格递增;
  • Claude Code 两代协议(默认和 MCP_PROTOCOL_NEGOTIATION=legacy)的握手都通,tools/list 返回完整的 11 个工具;
  • 「断开 MCP 后模拟器还在」只在自己写的模拟客户端上核过:qemu 的父进程链里没有客户端和 modavd。

还没在 Claude Code 里真正调用过工具,也没在真实客户端上核过断开。

为什么要测断开

Windows 上 Claude Code 断开 MCP 服务器时,会结束服务端的整棵进程树。modavd 拉起模拟器时经过一个中间进程,按设计模拟器不在这棵树里。如果这一点在真实客户端上不成立,关掉 Claude Code 就会把开着的实例直接结束:不走 sync,客体里还没写回的数据会丢。

要做的

在一个单独的测试根目录里做,不改用户自己的 Claude Code 配置(用 claude -p --mcp-config <文件> --strict-mcp-config,只在这一次调用里加载 modavd)。

  1. 默认协议和 legacy 协议各跑一轮,按顺序调用:list_instances、check_host、create_instance(3 GB、4 核)、start_instance、shell(getprop sys.boot_completed)、stop_instance、delete_instance。每轮记下:实际走的协议、每个工具的结果、start_instance 的进度通知是否递增、delete_instance 带 anthropic/requiresUserInteraction 时在 -p 下是放行还是被拦。
  2. 断开:单独跑一次,只 create_instance + start_instance,开完就结束会话。之后 modavd list --json 里这台应该仍是 online,qemu 还在,父进程链里没有 claude 和 modavd;再 modavd stop 应该是正常关机。
  3. 结果写进 README 的 MCP 一节(客户端版本、日期)。

验收

  • 两轮的工具调用结果都和 Codex 那轮一致,进度通知递增;
  • 断开后实例还在,之后能正常关机;如果被带走了,另开 bug(P1)修好。
Lenguaje dominante
Go
Estrellas
0
Forks
1
Merge medio
2 h 42 min
PR fusionados (30 d)
13

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ModAVD/ModAVDManager

Todos los issues de ModAVD/ModAVDManager

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.