eDBG MCP模式配置全攻略:连接Claude、Cursor等主流AI工具

eDBG MCP模式配置全攻略:连接Claude、Cursor等主流AI工具

eDBG MCP模式配置全攻略:连接Claude、Cursor等主流AI工具

【免费下载链接】eDBGeBPF-based lightweight debugger for Android with MCP support项目地址: https://gitcode.com/gh_mirrors/edb/eDBG

eDBG是一款基于eBPF的轻量级Android调试器,支持MCP模式,能够无缝连接Claude、Cursor等主流AI工具,为Android应用调试提供智能辅助。本文将详细介绍eDBG MCP模式的配置方法,帮助开发者快速上手并充分利用AI工具提升调试效率。

什么是eDBG MCP模式?

MCP(Machine Control Protocol)模式是eDBG的核心功能之一,它允许将调试器与AI工具集成,实现智能化的调试流程。通过MCP模式,开发者可以利用AI工具的强大能力,如代码分析、问题诊断、自动化操作等,来加速Android应用的调试过程。

eDBG MCP模式的主要特点包括:

  • 手机端eDBG提供HTTP MCP服务
  • 主机端通过adb forward转发端口
  • 主机端edbg-mcp-install工具负责配置AI客户端
  • 支持多种主流AI客户端,如Claude、Cursor、VS Code等

准备工作:安装与环境配置

在开始配置MCP模式之前,需要完成以下准备工作:

1. 下载eDBG及MCP安装工具

首先,克隆eDBG仓库到本地:

git clone https://gitcode.com/gh_mirrors/edb/eDBG

2. 构建MCP安装工具

进入eDBG项目目录,使用专用的Makefile构建MCP安装工具:

cd eDBG make -f Makefile_installer current

构建产物将位于bin/目录下,支持多种平台,包括darwin_amd64linux_arm64windows_amd64等。

3. 安装MCP工具到系统

运行以下命令将MCP安装工具安装到系统:

./edbg-mcp-install --install

MCP模式配置步骤

1. 在Android设备上启动eDBG MCP服务

将编译好的eDBG推送到Android设备,并以MCP模式运行:

adb push eDBG /data/local/tmp adb shell su chmod +x /data/local/tmp/eDBG ./data/local/tmp/eDBG --mcp

默认情况下,MCP服务监听端口19810。如果需要使用自定义端口,可以通过--mcp-port参数指定。

2. 设置端口转发

在主机端,使用adb命令将设备的MCP服务端口转发到本地:

adb forward tcp:19810 tcp:19810

现在,本地可以通过http://127.0.0.1:19810/mcp访问设备上的eDBG MCP服务。

3. 配置AI客户端

eDBG提供了便捷的命令来配置各种AI客户端。首先,查看支持的客户端列表:

./edbg-mcp-install --list-clients

当前支持的主流AI客户端包括:Claude、Cursor、VS Code、Codex、Gemini CLI、Qwen Coder等。

要安装配置所有支持的客户端,运行:

./edbg-mcp-install --install

如果只需要配置特定客户端(例如Claude和Cursor),可以使用--clients参数:

./edbg-mcp-install --install --clients claude,cursor

4. 自定义MCP服务地址(可选)

如果修改了MCP服务端口或使用了非默认的转发端口,需要在安装时指定自定义URL:

./edbg-mcp-install --install --url http://127.0.0.1:23456/mcp

验证MCP模式连接

配置完成后,可以通过查看eDBG MCP服务状态来验证连接是否成功。MCP服务提供了状态查询功能,可以通过MCP协议的status工具获取当前状态。

eDBG MCP服务的状态信息包括:

  • 服务器可达性
  • 协议版本
  • 目标选择状态
  • 断点数量
  • 进程状态等

下图展示了eDBG调试界面的示例,其中包含寄存器信息和反汇编代码:

MCP模式下的常用操作

1. 附加到目标应用

在MCP模式下,首先需要使用attach命令附加到目标应用:

attach(package, library)

其中,package是目标应用的包名,library是要调试的库名。

2. 设置断点

使用break命令设置断点:

break(address)

在MCP模式下,break命令始终按虚拟偏移处理,等价于vbreak

3. 启动应用

设置断点后,使用run命令启动应用:

run()

run命令会执行am start来启动目标应用。

4. 继续执行

当应用命中断点时,使用continue命令继续执行:

continue()

continue命令会阻塞等待,直到下一个断点被命中。

5. 查看断点信息

使用info_break命令查看当前设置的断点:

info_break()

6. 退出MCP会话

使用quit命令退出当前MCP会话,回到初始待命状态:

quit()

quit命令只会清空当前MCP上下文,不会退出MCP服务器。

卸载MCP配置

如果需要卸载MCP配置,可以使用--uninstall参数:

./edbg-mcp-install --uninstall

要卸载特定客户端的配置,可以结合--clients参数:

./edbg-mcp-install --uninstall --clients codex,cursor

MCP模式注意事项

  1. MCP模式下会强制使用-prefer uprobe -show-vertual,硬件断点和单步相关功能不可用。
  2. 启动时不会预设任何启动断点,需要手动设置。
  3. 初始待命状态下没有目标,必须先调用attach(package, library)选中目标。
  4. 选中目标但尚未启动应用时,只允许attachbreakinfo_breakinfo_file、断点管理和run命令。
  5. MCP暴露给AI的break命令内部始终按虚拟偏移处理。

总结

通过本文的介绍,你应该已经掌握了eDBG MCP模式的配置方法和基本使用技巧。MCP模式为Android调试带来了全新的可能性,结合Claude、Cursor等AI工具,可以显著提升调试效率和代码质量。

如果你想深入了解eDBG MCP模式的更多细节,可以参考项目中的README_mcp.md文档。开始探索eDBG MCP模式,体验AI辅助调试的强大能力吧!

【免费下载链接】eDBGeBPF-based lightweight debugger for Android with MCP support项目地址: https://gitcode.com/gh_mirrors/edb/eDBG

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考