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

Ouverte
#21 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
Une demi-journée
Accessibilité débutants
40/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
Active
Stack technique
go
Domaine
testing

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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)修好。
Langage dominant
Go
Étoiles
0
Forks
1
Merge moyen
2 h 42 min
PR mergées (30 j)
13

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ModAVD/ModAVDManager

Toutes les issues de ModAVD/ModAVDManager

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.