GDA-MCP-Server
Provides tools for static analysis of Android APK files, including package info, permissions, manifest, certificate, packer detection, malicious behavior scanning, sensitive information extraction, code decompilation, disassembly, and cross-referencing.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
GDA-MCP-Server
通过 MCP 调用 GDA 的 CLI Server 模式(gda.exe -sv),在 Cursor / Claude 等客户端里做 Android APK 静态分析。
不依赖 GDA GUI,不需要 32 位 Python。
Cursor / Claude
│ MCP (stdio)
▼
gda_mcp_server.py ← FastMCP
│ TCP 文本协议
▼
gda.exe -sv <apk> <port> ← 默认端口 18888环境要求
项 | 说明 |
OS | Windows(GDA 仅支持 Windows) |
Python | 3.10+(推荐 64 位,如 |
依赖 |
|
GDA | 本机已安装 |
安装依赖:
pip install -r requirements.txtRelated MCP server: jadx-rpc
Cursor 配置
编辑 %USERPROFILE%\.cursor\mcp.json,增加(路径按本机修改):
{
"mcpServers": {
"gda-mcp": {
"command": "D:\\py312\\python.exe",
"args": [
"C:\\Users\\ZW\\Desktop\\新建文件夹\\gda-mcp-server\\gda_mcp_server.py"
],
"env": {
"PYTHONIOENCODING": "utf-8",
"PYTHONUTF8": "1",
"GDA_EXE": "D:\\mytools\\GDA4.12\\GDA.exe",
"GDA_PORT": "18888"
},
"timeout": 1800,
"disabled": false
}
}
}环境变量 | 含义 | 默认 |
|
|
|
|
|
|
| 连接地址 |
|
| 分页默认行数 |
|
| 单页最大行数 |
|
配置后在 Cursor Settings → MCP 中启用 gda-mcp,必要时刷新 / 重启。
基本用法
在 Cursor 对话里用自然语言即可,例如:
使用 gda-mcp 分析 C:\path\to\xxx.apk
使用 gadmcp 分析 C:\Users\ZW\Desktop\新建文件夹\RshMod_6.69-RshMod.apk
帮我用 GDA MCP 看一下这个 APK 的登录和授权逻辑:D:\samples\app.apkAgent 会自动调用 gda_start_server 并继续 binfo / attsf / find 等工具,无需手写命令。
分析前必须先启动(或挂接)GDA server(工具层流程):
1. gda_start_server(apk_file="C:\\path\\to\\app.apk")
2. gda_binfo() / gda_attsf() / gda_malscan() / gda_find(...) / gda_dec(...)
3. gda_stop_server()若本机已有 gda.exe -sv 在跑:
gda_attach(host="127.0.0.1", port=18888)推荐分析顺序
侦察:
gda_binfo→gda_permission→gda_axml→gda_packer→gda_cert攻击面:
gda_attsf→gda_malscan→gda_sensinf→gda_uri/gda_api深挖:
gda_find→gda_listm→gda_dec/gda_dasm→gda_xref
与 jadx-mcp 搭配:GDA 找可疑点,jadx 精读 Java / 资源 / 重命名。
工具一览
会话
工具 | 说明 |
| 启动 |
| 连接已在运行的 |
| 停止本 MCP 拉起的进程 |
| 查看运行状态 / APK / 端口 |
侦察
工具 | 说明 |
| 包名、哈希、MainActivity、DEX 统计 |
| 包名 |
| 权限 |
| AndroidManifest |
| 证书 |
| 加壳检测 |
| 第 n 个 DEX 头 |
| 方法引用的字符串(可分页) |
| 接口类 |
| GDA shell 帮助 |
安全 / 攻击面
工具 | 说明 |
| 导出组件 / 攻击面 |
| 恶意行为扫描(可分页) |
| 敏感信息(可分页) |
| URL / 路径(可分页) |
| 敏感 API(可分页) |
| Native 方法 |
代码
工具 | 说明 |
| 列类方法(可分页) |
| 反编译类/方法(可分页),推荐 |
| 反汇编方法,如 |
| 子类 / 父类(class index 十六进制) |
| 搜索 class/method/field/string/api/all(可分页) |
| 交叉引用(可分页) |
| 发送原始 GDA 命令(可分页) |
|
|
分页(大输出)
下列工具支持 按行 offset / count(默认每页 200 行,单页最多 2000):
gda_malscan · gda_api · gda_find · gda_appstr · gda_sensinf · gda_uri · gda_dec · gda_listm · gda_xref · gda_raw
返回示例:
{
"ok": true,
"cmd": "malscan",
"total_lines": 5000,
"offset": 0,
"count": 200,
"truncated": true,
"next_offset": 200,
"text": "..."
}翻页时对同一命令会缓存全文,避免重复跑 GDA。start / stop / attach 会清空缓存。
gda_malscan()
gda_malscan(offset=200, count=200)
gda_find(search_type="string", name="http", offset=0, count=100)gda_find / gda_xref 参数
find search_type:
class · class_with_package · method · method_with_package · field · api_method · string · all
xref xref_type:
class · method · field · string · resource · all
dec 提示:优先用 find 得到的 class@xxxxxx / method@xxxxxx,比 Lcom/...; 更稳。
命令行启动(可选)
Cursor 一般用 stdio,无需手动传参。若要单独跑:
# 默认 stdio(给 MCP 客户端用)
python gda_mcp_server.py
# 指定 GDA 路径
python gda_mcp_server.py --gda-exe "D:\mytools\GDA4.12\GDA.exe"
# HTTP 传输(少用)
python gda_mcp_server.py --http --host 127.0.0.1 --port 8765注意:--port 是 MCP HTTP 端口,不是 GDA -sv 的 GDA_PORT。
本地自检(不启 GDA):
python smoke_check.py目录结构
gda-mcp-server/
gda_mcp_server.py # FastMCP 入口与工具注册
src/
gda_sv.py # -sv 进程管理、TCP 客户端、分页、命令映射
extras.py # 扩展辅助(主 Activity / Manifest 组件 / 包树 / APK 资源等);当前未挂到 MCP 工具
__init__.py
requirements.txt
smoke_check.py
README.md # 本说明能力边界(与 jadx-mcp)
GDA-MCP 更强 | jadx-MCP 更强 |
malscan / attsf / packer / cert / sensinf | GUI 选中类、可读 Java 精读 |
无头启停 APK | 资源文件、重命名写回 |
原生恶意/攻击面扫描 | 调试器、包树与字段 API |
不做:GDA GUI 联动、进程内 Python 脚本 bridge(需 32 位 Python)。
常见问题
1. GDA -sv is not running
先调用 gda_start_server(apk_file=...)。
2. 端口被占用
改 GDA_PORT(不要用 8888,若本机 Reqable 等已占用)。
3. 启动失败 / 找不到 GDA
检查 GDA_EXE 是否指向真实的 GDA.exe。
4. 大结果把上下文撑爆
用分页:先看 truncated / next_offset,再翻页。
5. find -C . 一类「列全部类」
不可靠且可能拖死 -sv;请用具体包名或关键词搜索。
6. 改了工具但 Cursor 仍是旧列表
在 MCP 面板刷新或重启 Cursor。
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Your Aurentia workspace — projects, CRM, tasks, deliverables — in Claude, Cursor or any MCP client.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Related MCP Servers
- AlicenseBqualityBmaintenanceA Model Context Protocol server that connects to a custom JADX fork (JADX-AI) and enables local LLMs to interact with decompiled Android app code for live reverse engineering assistance.32825Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server for analyzing Android APK, DEX, or JAR files via a headless jadx engine, enabling LLM agents to query decompiled code, symbols, call graphs, and more.2GPL 3.0
- AlicenseBqualityDmaintenanceFully automated MCP server built to communicate with JADX-AI-MCP Plugin to analyze Android APKs using LLMs like Claude — uncover vulnerabilities, parse manifests, and reverse engineer effortlessly.321Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables Android APK security auditing through natural language by decompiling APKs with Apktool and running static analysis heuristics for attack surface, permissions, secrets, crypto, native libraries, and more, with every analysis logged to disk as markdown reports.-