使用说明
rn开发工具mcp
rn-devtools-mcp 让您的编码代理通过Metro检查器代理控制和检查实时React Native Hermes运行时(/json/list)以及CDP WebSocket目标。
它作为MCP服务器运行(stdio)并将React Native调试原语作为MCP工具公开,用于可靠的自动化、运行时调试和证据收集。
工具参考 | 更新日志 | 贡献 | 故障排除 | 设计原则
主要特点
- 地铁目标发现:通过以下方式发现可调试的RN目标
/json/list和/json/version. - Hermes运行时调试:评估脚本、暂停/恢复/单步执行和管理断点。
- 通过别名覆盖CDP:使用专用工具别名或通用工具别名
rn_cdp_call. - 证据缓冲区:捕获最近的控制台、网络、调试器和异常事件以进行分析。
- 重新连接感知会话:应用程序重新加载/断开连接循环的重新连接逻辑。
免责声明
rn-devtools-mcp 可以在连接的React Native运行时中检查和执行代码。将连接的应用程序数据视为敏感数据。
- 不要将此服务器连接到包含您不希望MCP客户端访问的机密的应用程序/环境。
- 此服务器不沙盒CDP命令;具有MCP访问权限的调用者可以发出强大的运行时/调试器命令。
需求
入门
安装依赖项:
npm install
运行MCP服务器(stdio):
npm run dev
默认MCP客户端配置:
{
"mcpServers": {
"rn-devtools": {
"command": "npx",
"args": ["-y", "rn-devtools-mcp@latest"]
}
}
}
[!注意] 使用
rn-devtools-mcp@latest确保您的客户端始终使用最新发布的版本。
对于本地开发,直接使用存储库条目:
{
"mcpServers": {
"rn-devtools": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/rn-devtools-mcp/src/index.ts"]
}
}
}
客户端设置示例
法典
codex mcp add rn-devtools -- npx -y rn-devtools-mcp@latest
克劳德代码
claude mcp add rn-devtools --scope user npx -y rn-devtools-mcp@latest
光标
在中配置MCP服务器命令 Cursor Settings -> MCP 使用上面的默认JSON代码段。
验证
npm test
npm run build
对正在运行的RN应用程序进行冒烟测试:
METRO_URL=http://localhost:8081 npm run smoke
如果 METRO_URL 如果省略,服务器将探测本地候选者:
8081,8082,8083,8088,8090,19000
覆盖候选端口:
METRO_PORT_CANDIDATES=18081,18082 npm run smoke
工具
如果遇到问题,请检查 故障排除.
以下目录是从自动生成的 src/server/tools.ts.
-
目标和会话 (5个工具)
-
运行时和调试器控制 (8工具)
-
网络与证据 (4个工具)
-
通用CDP (1个工具)
-
CDP别名家族
- 运行时别名 (13个工具)
rn_runtime_enablern_runtime_disablern_runtime_discard_console_entriesrn_runtime_get_heap_usagern_runtime_global_lexical_scope_namesrn_runtime_compile_scriptrn_runtime_get_propertiesrn_runtime_call_function_onrn_runtime_release_objectrn_runtime_release_object_grouprn_runtime_run_if_waiting_for_debuggerrn_runtime_add_bindingrn_runtime_remove_binding
- 调试器别名 (9个工具)
- 探查器别名 (2个工具)
- 堆分析器别名 (8工具)
rn_heap_profiler_take_heap_snapshotrn_heap_profiler_get_object_by_heap_object_idrn_heap_profiler_get_heap_object_idrn_heap_profiler_collect_garbagern_heap_profiler_start_tracking_heap_objectsrn_heap_profiler_stop_tracking_heap_objectsrn_heap_profiler_start_samplingrn_heap_profiler_stop_sampling
- 网络别名 (3个工具)
- IO别名 (2个工具)
- 跟踪别名 (2个工具)
- 日志别名 (2个工具)
- 主机别名 (2个工具)
- ReactNativeApplications别名 (2个工具)
- 运行时别名 (13个工具)
在中查看完整的输入、行为和错误 工具参考.
配置
环境变量:
METRO_URL:显式Metro基本URL(示例:http://localhost:8081)METRO_PORT_CANDIDATES:逗号分隔的回退探测端口METRO_URL未设置
概念
目标发现
服务器从Metro检查器端点发现目标,并在可能的情况下默认选择Hermes目标。
会话模型
每个连接由表示 sessionKey。发出CDP命令的工具需要连接会话。
事件缓冲区
服务器将最近的事件缓存在环形缓冲区中。您可以在实时会话期间随时查询最近的控制台/网络/异常事件。
已知限制
- 本机调试器工作流(LLDB/Android Studio断点)超出范围。
- CDP支持取决于RN/Hermes的目标和版本。
- 某些CDP命令可能会失败
RN_CDP_METHOD_UNSUPPORTED,RN_CDP_METHOD_NOT_FOUND或其他命令错误。
许可证
麻省理工学院-见 许可证.