# APK MCP

APK MCP 可以让支持 MCP 的 AI 聊天工具、Agent 等客户端连接 MT 管理器,由 AI 调用 MT 提供的 APK 分析工具。

该功能目前是只读分析:可以读取 APK 结构、资源表、AXML、Dex、Smali 等内容,适合让 AI 帮你理解 APK 内部组成、查找字符串、定位入口组件或梳理代码线索;暂不支持修改、重打包或签名 APK。

# 功能入口

在 MT 主界面打开侧拉栏,进入工具分组,点击 APK MCP

alt

打开后会看到 APK MCP 管理面板:

  • 启动/停止:控制本机 MCP 服务是否运行。
  • 本地地址:例如 http://127.0.0.1:8787/mcp,当 MCP 客户端和 MT 都在同一台手机上时优先使用这个地址。服务未启动时这里会显示“服务未启动”,启动后点击地址即可复制。
  • 局域网地址:例如 http://192.168.1.2:8787/mcp,当 MCP 客户端在另一台设备上时使用。服务未启动或没有可用局域网地址时,这里会显示对应状态。
  • 设置:配置操作目录、会话保留数量和端口。
  • 历史会话:点击右上角历史图标,可以查看、跳转或删除已经创建的 APK 分析会话。
  • 帮助:点击右上角帮助图标,可以打开 APK MCP 使用说明。

提示:使用完成后建议停止 APK MCP 服务,避免在不需要时继续暴露局域网访问入口。

# 设置说明

点击 设置 可以调整以下选项:

alt

# MCP 操作目录

AI 打开 APK 时使用的是相对于该目录的路径。例如操作目录是 /sdcard/MT2/mcp,目录下有 MTestApp.apk,那么聊天时可以让 AI 打开 MTestApp.apk

如果 APK 不在操作目录中,可以先把 APK 移到该目录,或者把操作目录改成 APK 所在文件夹。

如果你已经打开并停留在某个 APK 的 APK 信息对话框中,也可以直接让 AI 分析“当前 APK”,这种方式不受操作目录限制。

# 保留最近会话数

AI 每打开一个 APK,MT 会为它创建一个持久会话,用于保存解析结果和后续读取所需的工作区数据。

该选项决定最多保留多少个最近会话,范围为 1100。超过限制后,较旧的会话会被清理,以免长期占用存储空间。

# 端口

默认端口是 8787。如果端口被占用或你想固定为其它端口,可以在这里修改。

修改端口后,需要在 MCP 客户端中使用新的服务地址。

# 历史会话

点击右上角的历史会话图标可以查看 APK MCP 已保存的会话。列表会显示 APK 文件名、会话大小和最后访问时间。

点击某个会话后可以查看更详细的信息,包括:

  • 文件名或错误原因
  • 会话大小
  • 最后访问时间
  • 会话 ID
  • 源 APK 路径

在会话简介中可以点击跳转到路径定位会话目录,也可以点击删除清理该会话。删除会话只会删除 MCP 工作区,不会删除原始 APK 文件。

# 使用演示:RikkaHub + DeepSeek

下面演示在同一台手机上使用 RikkaHub 连接 MT 的 APK MCP 服务,并让 AI 分析“逆向实战”中的演示 APK。

# 1. 准备 RikkaHub 和 DeepSeek

先安装 RikkaHub,并准备一个 DeepSeek API 密钥。

RikkaHub 的提供商配置可参考其官方快速开始 (opens new window)文档,MCP 连接可参考其官方 MCP (opens new window) 文档。

打开 RikkaHub,进入设置 > 提供商

  1. 选择 DeepSeek 提供商。
  2. 填写你的 DeepSeek API 密钥。
  3. 选择可用模型,模型名称以 DeepSeek 官方文档 (opens new window)和 RikkaHub 当前列表为准,例如 deepseek-v4-flashdeepseek-v4-pro

alt

完成后返回 RikkaHub 首页,确认可以正常发起一次普通聊天。

# 2. 启动 MT 的 APK MCP 服务

回到 MT 管理器,进入侧拉栏 > 工具 > APK MCP,点击启动

如果 RikkaHub 和 MT 在同一台手机上,复制本地地址,通常形如:

http://127.0.0.1:8787/mcp

如果 RikkaHub 在另一台设备上,则复制局域网地址,并确保两台设备在同一个局域网中。

# 3. 在 RikkaHub 中添加 MCP 服务

在 RikkaHub 中进入 MCP 设置页面,新建一个 MCP 连接:

  • 名称可以填写 MT APK MCP
  • 连接字符串填写刚刚复制的 MCP 地址
  • 传输类型选择 Streamable HTTP

alt

保存后,RikkaHub 会尝试连接 MT,并获取可用工具。确认连接成功后,启用需要使用的工具。

然后进入聊天界面,点击右下角的加号,点击 MCP 服务器,启用 MT APK MCP,这样聊天时 AI 才能调用它。

alt

# 4. 下载并打开演示 APK

下载本手册逆向实战章节里的演示 APK:MTestApp.apk (opens new window)

推荐直接在 MT 文件列表中点击 MTestApp.apk,停留在 APK 信息对话框中。这样聊天时可以让 AI 分析“当前 APK”,不需要关心 APK 所在路径。

alt

如果你想通过文件名打开,也可以将 MTestApp.apk 放入 APK MCP 的操作目录中。例如操作目录为 /sdcard/MT2/mcp,则文件路径应类似:

/sdcard/MT2/mcp/MTestApp.apk

如果你不想移动文件,也可以在 APK MCP 设置中把MCP 操作目录改成 MTestApp.apk 所在目录。

# 5. 与 AI 聊天分析 APK

回到 RikkaHub 新建聊天,可以这样提问:

请分析当前 APK,先总结这个 APK 的包名、入口 Activity、权限、主要资源和 Dex 概况。
然后继续搜索登录、密码校验、更新提示相关的字符串和 Smali 线索,给出你的分析过程。

alt

AI 会先调用 MT 的工具打开当前 APK,再按需要列出文件、读取 Manifest、搜索资源或 Dex/Smali 内容。你可以继续追问:

请重点分析启动页是怎么跳转到主界面的。
请查找密码校验相关代码,并说明可能的判断条件。
请找出更新提示相关的字符串和方法调用位置。

这种用法适合先让 AI 建立 APK 的整体认识,再逐步缩小到具体资源、组件或代码片段。

注意:APK MCP 只负责把 APK 内容提供给 AI 阅读和检索。AI 的结论仍需要你结合 MT 的实际反编译结果进行核对,尤其是涉及混淆、动态加载或加固保护的 APK。