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

Aperta
#21 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
Mezza giornata
Idoneità per principianti
40/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
go
Ambito
testing

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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)修好。
Lingua principale
Go
Stelle
0
Fork
1
Merge medio
2h 42m
PR unite (30g)
13

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ModAVD/ModAVDManager

Tutte le issue di ModAVD/ModAVDManager

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.