【无标题】
MT 管理器 MCP 配置教程 - 让 Trae IDE 连接手机端 APK 分析能力
本教程记录了如何在 Trae IDE 中配置 MT 管理器的 MCP 服务,实现从 IDE 直接分析手机上的 APK 文件。
背景
MT 管理器是一款强大的 Android APK 编辑工具,支持在手机上直接分析、修改和打包 APK。通过 MCP (Model Context Protocol) 服务,我们可以把 MT 管理器的 APK 分析能力暴露给 Trae IDE,让 AI Agent 直接操作手机端的 APK。
前置条件
- 手机端:安装 MT 管理器(版本需支持 MCP 服务)
- 电脑端:安装 Trae IDE 和 Node.js(npm 可用)
- 网络:手机和电脑在同一局域网,或手机通过端口映射暴露 MCP 服务
配置步骤
Step 1: 确认 MT 管理器 MCP 服务地址
在 MT 管理器中开启 MCP 服务后,你会得到一个 HTTP 地址,例如:
http://100.98.246.188:8787/mcp
100.98.246.188是手机在局域网的 IP,8787是 MCP 服务端口。
你可以用浏览器访问这个地址验证服务是否正常。
Step 2: 创建启动脚本
Trae IDE 需要通过 stdio (标准输入输出) 与 MCP 服务通信,而 MT 管理器暴露的是 HTTP 接口,所以需要一个桥接脚本。
创建文件 d:\tvbox\mt-mcp.bat:
@echo off
npx -y mcp-stdio-proxy convert http://100.98.246.188:8787/mcp
关键点:
- 使用
mcp-stdio-proxy包(不是mcp-proxy,后者有 bug)convert子命令把 HTTP MCP 转为 stdio- URL 固化在脚本内部,避免 Trae IDE 给它加反引号
Step 3: 配置 Trae IDE MCP
编辑 Trae IDE 的 MCP 配置文件 c:\Users\{用户名}\AppData\Roaming\Trae CN\User\mcp.json:
{
"mcpServers": {
"mtManage": {
"command": "d:\\tvbox\\mt-mcp.bat",
"args": []
}
}
}
关键点:
command直接指向 .bat 文件args必须是空数组[]- 不要在 args 里放 URL,Trae 会自动给它加反引号导致失败
Step 4: 重启 Trae IDE
配置修改后,必须彻底退出 Trae IDE 再重启:
- 右键托盘图标 → 退出
- 或在任务管理器中结束
Trae CN进程 - 等 10 秒
- 重新打开 Trae IDE
Trae 会缓存 MCP 配置和进程,不重启的话新配置不会生效。
Step 5: 验证连接
在 Trae IDE 中打开对话,尝试调用 MCP 工具:
# 打开手机上当前 APK
mt_apk_open(path="mt://current-apk")
# 列出 APK 内容
mt_apk_list(workspaceId="xxx", view="dex_classes", prefix="", limit=200)
如果能成功返回 APK 信息,说明配置成功。
常见问题
问题 1: spawn 'http://...' ENOENT
现象:
Error: spawn `http://100.98.246.188:8787/mcp` ENOENT
原因:使用了错误的桥接包 mcp-proxy,它把 HTTP URL 当作要执行的命令路径。
解决:改用 mcp-stdio-proxy convert。
问题 2: URL 带反引号
现象:错误信息里 URL 两侧有反引号和空格:
path: ' `http://100.98.246.188:8787/mcp` '
原因:Trae IDE 的 MCP 配置系统给 URL 自动加了反引号。
解决:
- URL 不要放在
args里 - 创建 .bat 脚本,把 URL 固化在脚本内部
args设为空数组[]
问题 3: Boolean 参数报 Invalid
现象:
"Invalid caseSensitive", badValue="false"
原因:mcp-stdio-proxy 桥接时,JSON-RPC 请求中的 boolean/integer 类型参数被转换成字符串,服务端拒绝。
解决:暂时无法完美解决。替代方案:
- 用全字符串参数的工具(
mt_apk_list,mt_apk_outline_class,mt_apk_read_text) - 避免使用
mt_apk_search等含 boolean 参数的工具
问题 4: 配置改了还是不生效
原因:Trae 缓存了 MCP 进程。
解决:彻底退出 Trae(任务管理器结束进程),等 10 秒后重启。
工具可用性一览
| 工具 | 参数类型 | 状态 | 备注 |
|---|---|---|---|
mt_apk_open |
全字符串 | ✅ | 打开 APK 工作空间 |
mt_apk_list |
含 integer | ✅ | 列出 ZIP/dex/resource 内容 |
mt_apk_outline_class |
全字符串 | ✅ | 查看类结构 |
mt_apk_read_text |
全字符串 | ✅ | 读取文本文件 |
mt_apk_read_resource |
全字符串 | ✅ | 读取资源 |
mt_apk_search |
含 boolean | ⚠️ | 搜索功能受限 |
mt_apk_xref_dex |
含 boolean | ⚠️ | 交叉引用受限 |
mt_apk_edit_* |
含 boolean | ⚠️ | 编辑功能受限 |
最佳实践
1. 使用 .bat 脚本隔离 URL
不要直接在 mcp.json 里写 URL 相关参数,用脚本固化:
@echo off
npx -y mcp-stdio-proxy convert http://YOUR_PHONE_IP:8787/mcp
2. 优先用全字符串参数的工具
分析 APK 时,优先使用:
mt_apk_list+prefix翻页查找mt_apk_outline_class查看类结构mt_apk_read_text读取 smali/资源内容
避免使用含 boolean 参数的搜索工具。
3. 记录踩坑经验
把遇到的问题和解决方案记录到 project_memory.md:
## Hard Constraints
- MCP proxy configuration arguments must not contain backticks around URLs
- Use `mcp-stdio-proxy` package for converting remote HTTP MCP to stdio interface
- DO NOT use `mcp-proxy` package - it has a bug
## Lessons Learned
- Trae IDE may cache old MCP configurations; restart IDE after config changes
参考资料
作者:枫斗
日期:2026-07-01
转载请留下作者,谢谢!
更多推荐



所有评论(0)