使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器,用于为大语言模型执行提供结构化的资源(日志、网络请求、设备信息等)、工具以及可渲染的提示模板,所有交互通过 MCP 规范的 JSON-RPC 形式进行。
-
主要功能点
- 资源与数据缓冲
- 日志缓冲(logBuffer)与网络请求缓冲(networkBuffer)以及 Metro 构建错误缓冲(bundleErrorBuffer)。
- 工具集(Tools)
- Metro 相关:scan_metro、connect_metro、get_apps、get_logs、search_logs、clear_logs、get_network_requests、search_network、get_request_details、get_network_stats、clear_network、reload_app、get_bundle_status、get_bundle_errors、clear_bundle_errors、connect_metro_build_events 等。
- 资源与对象探查:execute_in_app、list_debug_globals、inspect_global、reload_app、get_debug_server。
- 设备与仿真器控制:Android(adb)相关工具如 list_android_devices、android_screenshot、android_install_app、android_launch_app、android_list_packages、android_tap、android_long_press、android_swipe、android_input_text、android_key_event、android_get_screen_size,以及 iOS 模拟器工具 list_ios_simulators、ios_screenshot、ios_install_app、ios_launch_app、ios_open_url、ios_terminate_app、ios_boot_simulator。
- 调试仪表板
- 内置 Web 调试仪表板,展示日志、网络请求、已连接应用等信息,并提供 JSON API 端点。
- 与 Metro/设备连接
- 通过 Metro 的 /json、CDP (Chrome DevTools Protocol) 连接主 JS 运行时,接收并转发运行时日志、网络事件、以及执行结果。
- 跨平台支持
- 支持 Android ADB 与 iOS simctl,提供屏幕截图、安装应用、启动应用、打开 URL、输入文本等功能。
- 资源与数据缓冲
-
安装步骤
- 系统要求
- Node.js 18 及以上。
- 安装与运行
- 克隆仓库后,安装依赖并编译/运行 TypeScript 代码(项目使用 TypeScript,需编译后运行,或通过合适的 TypeScript 执行环境直接启动)。
- 启动方式(常见做法,具体请结合你的部署环境选择)
- 编译后用 Node 启动服务,例如将编译产物执行,或使用 ts-node/类似工具直接运行 src/index.ts。
- 服务器默认通过 STDIO 传输与 MCP 客户端通信,并提供一个本地调试网页(HTTP 服务器)用于查看缓冲数据。
- 系统要求
-
服务器配置(MCP 客户端不需要,供参考的客户端配置示例) 说明:MCP 客户端需要配置一个服务器条目以便通过 MCP 启动并连接到服务器。下面给出与本仓库实现匹配的配置要点描述(以 JSON 形式表示,供阅读,不作为代码块直接复制):
- name: rn-debugger
- type: stdio
- command: node
- args: ["dist/index.js"] // 假设已编译产物放在 dist 目录,实际路径请按你的构建产物调整 注释:该配置告知 MCP 客户端应通过标准输入输出与服务器进行通信,使用 Node 启动可执行的 MCP 服务入口。
-
基本使用方法
- 启动应用与服务器
- 启动 React Native 应用并确保 Metro/调试环境正在运行。
- 启动 MCP 服务器(通过上述编译产物)以开启 MCP 服务。
- 使用 MCP 客户端进行交互
- 使用工具名称调用对应功能,如 scan_metro、get_logs、get_network_requests 等,按工具文档的输入参数进行传递。
- 通过 get_debug_server 等工具获取本地调试网页 URL,查看实时日志、网络请求和已连接应用的状态。
- 常用流程
- 先使用 scan_metro 或 connect_metro 指定 Metro 实例。
- 再使用 get_apps 查看已连接的应用。
- 使用 get_logs、get_network_requests 等工具获取运行时上下文信息。
- 启动应用与服务器
信息
分类
开发者工具