# MCP 服务
MCP 服务可以让支持 MCP 的 AI 工具连接 MT,通过对话分析和修改 APK,也可以读取、编辑和管理手机上的文件。你负责描述需求,AI 调用 MT 提供的工具完成操作。
MT 提供文件和 APK 的处理能力,AI 模型由你使用的 AI 工具提供。使用前,需要在 AI 工具中配置好模型,并添加 MT 的 MCP 服务。
# MCP 服务能做什么
| 能力 | 可以让 AI 帮你做什么 |
|---|---|
| 分析 APK | 查看应用信息、权限、资源、布局、Dex/Smali 代码和 so 库,追踪功能逻辑 |
| 修改 APK | 修改受支持的资源、代码或 so 内容,重新打包并按需签名,生成新的 APK |
| 查找和阅读文件 | 浏览目录,按文件名、内容、大小或修改时间查找文件,分析日志和配置 |
| 编辑和管理文件 | 修改文本或二进制内容,创建目录,复制、移动、重命名和删除文件 |
例如,你可以让 AI“分析这个 APK 的启动流程”“找出日志中的连接错误”,或者“备份配置文件后修改服务器地址”。不需要记住具体的工具名,直接说清楚目标和范围即可。
APK 编辑功能目前有 VIP 会员要求,具体以 MT 内的提示为准。通用文件功能不需要 VIP。
# 快速开始
# 1. 准备 AI 工具
选择支持 MCP Streamable HTTP 连接方式的 AI 工具,并完成模型配置。所选模型需要支持工具调用;仅能进行普通文字聊天的工具无法直接操作 MT。
# 2. 启动 MT 的 MCP 服务
在 MT 主界面打开侧拉栏,进入工具分组,点击 MCP 服务,再点击启动。

根据 AI 工具运行的位置复制地址:
| AI 工具运行在哪里 | 使用哪个地址 |
|---|---|
| 与 MT 在同一台手机上 | 本机地址,通常为 http://127.0.0.1:8787/mcp |
| 电脑或另一台手机上 | 局域网地址,两台设备需要处于可以互相访问的同一局域网 |
请复制自己设备上显示的完整地址,包括末尾的 /mcp。截图中的地址仅作演示,不要直接照抄。
建议在设置 → 通用中启用悬浮球,并按提示授予悬浮窗权限,有助于 MT 在后台保持服务运行。
# 3. 在 AI 工具中添加连接
打开 AI 工具的 MCP 设置,添加一个服务:
| 配置项 | 填写内容 |
|---|---|
| 名称 | 自行命名,例如 MT |
| 地址 / URL | 刚刚从 MT 复制的完整地址 |
| 传输类型 | Streamable HTTP |
| 认证 | MT 默认不开启认证;如果已经开启,需填写对应令牌,见连接认证 |
保存后,确认连接成功并能读取可用工具。有些 AI 工具还需要在当前聊天中手动启用 MCP 服务,启用后 AI 才能调用 MT。
# 4. 完成第一次文件读取
打开 MT 的 MCP 服务 → 设置 → 通用,查看 Home 文件夹。这是 AI 处理文件的默认目录,通常为 /storage/emulated/0/MT2/mcp。

先在这个目录中准备一个 test.txt,写入几行测试文字,再回到 AI 工具发送:
请使用 MT 读取 Home 文件夹中的 test.txt,概括它的内容,先不要修改文件。
AI 调用 MT 读取文件并返回摘要,就说明已经可以正常使用。后续可以继续让它查找、分析或修改文件,也可以尝试下面的 APK 示例。
# 使用本地文件功能
# 告诉 AI 要处理哪个文件
Home 中的文件可以直接使用文件名或相对路径。例如 Home 是 /storage/emulated/0/MT2/mcp 时,test.txt 就指这个目录中的文件,logs/app.log 则指其 logs 子目录中的文件。
处理其他位置时,请提供完整路径,并先在 设置 → 文件 中授予对应权限,具体步骤见文件访问权限。
请读取 /storage/emulated/0/Download/config.json,解释各项配置的作用,不要修改。
这里的路径指的是运行 MT 的手机上的文件。在电脑上使用 AI 工具时,电脑本地路径不能直接用于访问手机文件。
# 查找和阅读文件
可以先让 AI 缩小范围,再读取具体内容:
请列出 Home 文件夹中的文件,告诉我有哪些日志和配置文件。
在 Home 文件夹及其子目录中查找内容包含“连接失败”的日志文件,列出文件路径。
请阅读 logs/app.log,整理连接失败前后的相关记录,并说明可能的原因。
如果目录中文件很多,可以同时指定文件名、大小或修改时间条件。文件搜索不会进入压缩包内部;分析 APK 内部内容时请使用下文的 APK 功能。
# 修改和整理文件
本地文件操作会直接作用于原文件,不会自动生成备份;删除是永久删除,不进入回收站。 重要文件建议先备份,再给出明确的修改范围。
请先把 Home 中的 config.json 复制为 config.backup.json。
备份成功后,将 config.json 中的 server 地址改为 https://example.com,其他配置保持不变。
如果备份文件已经存在,先告诉我,不要覆盖。
也可以让 AI 新建目录、移动或重命名文件:
请在 Home 中创建 logs 文件夹,将 Home 中的 test.log 移入其中。
如果目标位置已经有同名文件,先告诉我。
处理多个文件时,可以先让 AI 列出候选文件和操作计划,确认后再执行。对于替换文本,说明要替换的内容、目标文件以及替换首次还是全部,通常比“帮我修好配置”更容易核对。
# 使用 APK 功能
# 选择要处理的 APK
使用当前 APK 文件是最方便的方式:在 MT 文件列表中点击 APK,停留在 APK 信息对话框中,不要关闭,然后回到 AI 工具,对 AI 说“当前 APK 文件”。
本文使用 MTestApp.apk 演示,存放位置为 /storage/emulated/0/MT2/mcp/MTestApp.apk。你也可以从逆向实战章节下载演示 APK (opens new window)。

还可以使用以下方式选择目标:
- 已安装应用:在 MT 的已安装应用界面点击应用,停留在应用信息对话框中,同样可以让 AI 处理“当前 APK 文件”。
- Home 中的 APK:直接告诉 AI 文件名,例如
MTestApp.apk;不确定文件名时,可以让它先列出可用 APK。 - 其他位置的 APK:提供完整路径,并在文件权限中允许读取该位置。
“当前 APK 文件”是你通过 MT 界面选择的目标,不等于为 AI 开放了该 APK 所在的整个目录。
# 先分析,再逐步追问
第一次可以从基本信息开始:
请使用 MT 分析当前 APK 文件,介绍应用名、包名、入口 Activity 和申请的权限。
确认目标正确后,再提出具体问题:
请分析这个 APK 从启动页进入主界面的流程,说明相关类和方法。
请查找密码校验相关的字符串和 Smali 代码,解释校验逻辑。
AI 可以按需读取 Manifest、资源、布局、Smali 和 so 内容。复杂任务建议分步进行,并让 AI 给出结论对应的代码或资源位置,方便在 MT 中核对。
# 修改并生成新 APK
例如,将演示应用的名称改为测试版:
请把当前 APK 的应用名改成 MTestApp Beta,重新打包并签名,
完成后告诉我新 APK 的保存位置。
APK 修改通过编辑会话进行,不会直接修改源 APK。构建时生成新的 APK,默认保存到 Home 文件夹。
你也可以指定其他输出位置。先在 设置 → 文件 中为目标目录授予读写权限,再告诉 AI 完整路径:
请将修改后的 APK 重新打包并签名,
保存为 /storage/emulated/0/Download/MTestApp-Beta.apk。
如果文件已经存在,不要覆盖,先告诉我。
目标文件和它所在的目录都需要拥有 MCP 读写权限,目录必须已经存在。构建不会自动创建父目录,也不允许覆盖源 APK。只指定文件名时保存在 Home;指定其他目录时请使用绝对路径,不要使用 output/test.apk 这样的相对目录路径。
# 签名设置
在 MCP 服务 → 设置 → APK → APK 签名设置 中选择用于签名的密钥。让 AI 构建时可以明确要求“签名”或“跳过签名”。

生成文件后,先核对修改内容,再进行安装和运行测试。打包成功不代表应用一定能正常运行;跳过签名也不代表原 APK 的签名在修改后仍然有效。
# 控制访问范围
# Home 文件夹
Home 是相对文件路径的起点,也是 APK 的默认输出目录。AI 对这个目录拥有读写权限,其他位置默认禁止访问。
可以在 设置 → 通用 中更换 Home。更换后,后续相对路径和默认 APK 输出位置会使用新目录,原目录中的文件不会自动搬过去。Home 必须位于手机的主内部共享存储中,不能设在 Android/data 内。
建议选择一个专门用于 AI 任务的目录,只放入准备交给 AI 处理的文件。Home 内的文件不能通过添加“只读”或“禁止访问”规则来收紧权限;需要只读保护的文件应放在 Home 外,再单独授权。
# 文件访问权限
在 设置 → 文件 中,点击左下角的添加规则,选择添加文件夹或添加文件。选择目标后,为它设置访问权限:
| 权限 | 含义 |
|---|---|
| 只读 | 可以读取和分析,不能修改或删除 |
| 读写 | 可以读取,也可以修改、移动或删除允许操作的内容 |
| 禁止访问 | 不允许通过文件路径访问 |
例如,希望 AI 将新 APK 保存到 Download,可以添加该文件夹并选择读写。如果只是分析其中的文件,选择只读即可。

确认后,规则会出现在列表中;点击已有规则可以调整权限或删除规则。文件规则只作用于该文件,文件夹规则作用于该文件夹及其内部内容。

Home 之外的有效规则从上到下匹配,第一条匹配规则生效;都未匹配时才使用末尾的默认规则。按住右侧图标可以拖动排序。
例如,想开放 Download,但排除其中的 private 文件夹,应把 Download/private 的“禁止访问”规则放在 Download 的允许规则前面。
这些规则由你在 MT 中管理,AI 只能查询,不能自行扩大权限。规则允许访问后,仍需 MT 本身拥有相应系统权限;MT 的私有数据、工作区等受保护位置不会通过通用文件工具开放。
# 连接认证
文件权限控制“能操作哪些文件”,认证控制“谁能连接服务”。认证默认关闭;关闭时,任何能够连到服务的人都可以调用已开放的工具。
在 设置 → 认证 中可以启用 Bearer 令牌认证:
- 点击创建令牌,为它取一个便于识别的名称,例如 AI 工具的名称。
- 复制生成的完整令牌,填入 AI 工具的连接设置。
- 开启 Bearer 令牌认证,再确认 AI 工具可以正常连接。

不同 AI 工具的填写方式可能不同:
| AI 工具提供的配置项 | 填写方法 |
|---|---|
| Bearer Token 输入框 | 直接粘贴完整令牌,不加 Bearer 前缀 |
| 自定义请求头 | 名称为 Authorization,值为 Bearer <令牌>,中间有一个空格 |
这里的令牌由 MT 创建,与 AI 模型服务的 API 密钥不同。截图中的令牌仅供演示,已撤销,不能用于连接。

建议为不同 AI 工具分别创建令牌,方便单独管理。点击令牌可查看详情并再次复制;不再使用时,在详情的更多 → 删除中撤销。撤销后,该令牌不能发起新的请求,已经接受的操作仍可能继续完成。
不同令牌使用同一套文件访问规则,不会分别获得不同的文件权限。认证也不会加密 HTTP 连接,请在可信网络中使用,不要将服务直接暴露到公网。
# 常见问题
# 浏览器能打开地址,为什么不能直接聊天?
这是提供给 AI 工具的 MCP 连接地址,不是聊天网页。请将它填入 AI 工具的 MCP 设置中。
# AI 工具连接不上怎么办?
先确认 MT 的服务已经启动,再检查以下几项:
- 地址是否从 MT 中完整复制,端口和
/mcp是否正确。 - AI 工具在另一台设备上时,是否使用了局域网地址;不要使用
127.0.0.1,它指向 AI 工具自己所在的设备。 - 两台设备能否互相访问;访客 Wi-Fi、网络隔离或 VPN 可能影响连接。
- 如果开启了认证,是否填写了完整且未被撤销的令牌。
- 是否选择了 Streamable HTTP,并启用了当前聊天中的 MT 工具。
仅有模型服务的 API 密钥不能代替 MCP 连接配置。如果 AI 工具由云端服务器发起 MCP 请求,通常无法直接访问手机的本机或局域网地址。
# 为什么切到后台后连接中断?
系统可能限制 MT 的后台运行。在 设置 → 通用 中开启悬浮球并授予权限;如果 MT 提示电池优化限制,也可以按提示调整。不同系统的后台策略不同,悬浮球有助于保活,但不能保证永不中断。
# 为什么 AI 看不到某个文件?
先核对完整路径和 Home 设置,再检查文件访问规则。被禁止访问的文件不会因为你在聊天中说“允许访问”而自动开放,需要回到 MT 修改权限。
如果 MT 自己也无法访问目标存储,应先在 MT 中恢复相关权限或连接,然后再让 AI 重试。
# 修改后的文件在哪里?
普通文件编辑通常直接修改指定文件。APK 构建会生成新文件:未指定目录时放在 Home,指定绝对路径时放在对应位置。可以让 AI 返回最终保存路径,避免只凭文件名查找。
# 哪些 APK 操作目前不支持?
- 反编译为 Java:APK 代码分析和修改主要基于 Smali。
- 给资源表添加新的语言包或词条:需要先用 MT 的 ARSC 编辑器处理,再让 AI 继续修改受支持的已有内容。
- so 动态调试或完整 C/C++ 反编译:目前提供的是静态分析和受支持的补丁能力。
加固、动态加载、复杂混淆或额外签名校验也可能影响分析和修改效果,不能仅凭 AI 的回复判断任务已经成功。
# 进阶说明
# APK 工作区与编辑会话
AI 打开 APK 时,MT 会准备一个工作区,保存后续分析需要的数据。再次打开同一个 APK 时,可以复用已有工作区,减少重复准备的时间。
修改则记录在独立的编辑会话中,基于工作区生成新的 APK。一个工作区可以有多个编辑会话,用于尝试不同修改方案;普通文件编辑不使用这套隔离方式。
在 设置 → APK 中可以调整最近使用的工作区保留数量,或点击管理工作区清理历史。保留越多,占用空间越多,超过数量限制时会自动清理较久未使用的普通工作区。
清理工作区会删除相关分析数据和编辑会话,不会删除源 APK 或已经生成的新 APK。一次性任务也可以使用临时工作区,完成后让 AI 清理;临时工作区按独立策略保留,不用于长期复用。
# 文件操作的边界
文件工具不会自动获得系统尚未授予 MT 的权限。如果 MT 已经拥有 root、Shizuku 等访问能力,文件权限设置允许的操作也可能使用这些能力,因此应按实际任务开放目录。
部分操作存在范围限制,例如复制工具只复制普通文件,移动目录不会合并已有目录;文本编辑和单次字节操作也有各自的内容上限。遇到限制时,先根据返回原因调整任务,不要直接扩大覆盖或删除范围。
操作失败或连接中断,不一定意味着文件完全没有变化。尤其是移动、删除或追加内容后遇到错误,应先检查当前文件状态,再决定是否重试,避免重复操作。
# 如何判断结果是否完整
较长的列表、文本或搜索结果可能分多次返回,AI 需要继续读取。目录无法遍历、文件无法解码或分析达到上限时,也可能只获得部分结果。
可以要求 AI 在结论中说明已检查的范围和未完成的部分。so 的静态引用、控制流分析不能代替运行时验证;打包成功也不能代替安装和功能测试。
# 文件内容会传到哪里
MT 在手机上执行读取、修改和打包等操作,并将工具结果返回给连接的 AI 工具。AI 工具可能继续把读取到的文件内容、代码或分析结果发送给它所使用的模型服务。
使用前应了解 AI 工具和模型服务的数据处理方式,只开放愿意交给它们处理的文件。文件保存在手机上,不代表分析过程中返回的内容始终留在手机上。
# 工具名称说明
一般不需要手动选择工具。AI 会根据任务调用 MT 提供的能力;在 AI 工具的调用记录中,可以通过名称区分:
| 名称 | 用途 |
|---|---|
mt_apk_* | APK 的打开、分析、编辑、构建与工作区管理 |
mt_file_* | 本地文件的读取、搜索、编辑与管理 |
mt_file_copy_workspace_entry | 在本地文件与 APK 编辑流程之间复制受支持的普通文件条目 |
具体可用工具和参数以连接后读取到的列表为准。APK 内的 Dex、资源表和二进制 XML 仍需使用对应的专用处理能力,不能作为普通文件任意导入替换。