Codex Android MCP
Codex Android MCP
一个本地优先的 MCP 服务器,让 Codex 通过 adb 检查、测试和控制 Android 模拟器。它通过 STDIO 暴露严格、类型化的工具,将截图以原生 MCP 图片形式返回,并让物理设备与 Gradle 执行保持在显式启用策略之后。
这是一个独立的社区项目。它与 OpenAI、DeepSeek 或 Google 没有任何隶属关系,也没有获得它们的认可。Android 部分实现衍生自 MIT 许可下的 ZSeven-W/dsh-android;DSH/Cordis 注册和 Web 面板已被官方 MCP TypeScript SDK 取代。
与 dsh-android 的不同之处
面向 Codex Desktop、CLI 和 IDE 客户端的原生 MCP STDIO 服务器。
通过
serveStdio提供 2026 时代的 MCP 以及旧版 2025 协议的兼容性。截图以
ImageContent返回;私有临时 PNG 文件在编码后删除。默认仅限模拟器。物理设备需要两次启动选择,且每次调用都必须提供其精确序列号。
android_build_run默认不出现。启用它还需要受信任的规范项目根目录。严格的 JSON Schema、软件包/序列号/路径验证、有界输出、字面量日志过滤、取消机制以及保守的工具注解。
没有原始
adb、shell、任意命令、HTTP 或实时 DSH 侧边栏。
Related MCP server: adb-mcp-server
要求
Node.js 20.11 或更高版本。
Android SDK Platform-Tools(
adb)。通过 Android Studio 的 SDK Manager 或 Google 的 Platform-Tools 软件包 安装。强烈建议使用可弃置的 Android 模拟器。
Android 模拟器启动程序为可选,且仅在
android_boot收到 AVD 名称时才需要。OCR 工具目前需要 macOS 和 Apple Vision。所有非 OCR 工具均跨平台;构建/运行需显式启用。
adb 或模拟器二进制文件都不会被捆绑或下载。
为 Codex 安装
git clone https://github.com/zifanersuotang/codex-android-mcp.git
cd codex-android-mcp
npm ci
npm run build
codex mcp add android -- node C:/absolute/path/to/codex-android-mcp/lib/index.jsCodex Desktop 和 CLI 共用 MCP 配置。一份等效的显式配置为:
[mcp_servers.android]
command = "node"
args = ["C:/absolute/path/to/codex-android-mcp/lib/index.js"]
startup_timeout_sec = 20
tool_timeout_sec = 1200
default_tools_approval_mode = "writes"
[mcp_servers.android.env]
ANDROID_MCP_ALLOWED_SERIALS = "emulator-5554"修改配置后重启 Codex。要求 Codex“列出 Android 设备”以验证连接。保持“写入工具批准”启用;MCP 注解只是可用性提示,不是授权边界。
安全策略
安全的默认设置有 19 个工具,仅允许标准的本地 emulator-<port> 目标。网络和第三方模拟器序列号按物理设备策略处理。每次调用都会在执行前重新发现并授权精确目标;未授权的物理/网络设备会从 android_devices 中省略。
环境变量 | 默认值 | 作用 |
|
| 可选。以逗号分隔的精确允许序列号列表,用于已连接设备。物理设备序列号必须在此列出。 |
|
| 可选: |
|
| 允许考虑物理设备,但前提是它们还必须被精确序列号添加到允许列表,并且每次调用都提供该序列号。 |
|
| 可选:针对软件包的工具的包允许列表,逗号分隔。禁止仅按名称启动和仅按 PID 追溯调用。 |
|
| 暴露 |
|
| 必需的构建根,Windows 上用 |
| 操作系统临时目录 | 私有临时工作目录。截图文件在 MCP 图片编码后删除。 |
|
| 返回给客户端的截图 PNG 最大字节数。 |
|
|
|
专用测试手机的物理设备示例:
[mcp_servers.android.env]
ANDROID_MCP_ALLOW_PHYSICAL = "true"
ANDROID_MCP_ALLOWED_SERIALS = "EXACT_ADB_SERIAL"不要将此配置用于个人手机或个人账号。USB 调试授权表示手机信任主机,并不代表模型行为被授权。
受信任项目的构建/运行示例:
[mcp_servers.android.env]
ANDROID_MCP_ALLOW_BUILD_RUN = "true"
ANDROID_MCP_ALLOWED_PROJECT_ROOTS = "C:/work/MyTrustedApp"
ANDROID_MCP_ALLOWED_SERIALS = "emulator-5554"Gradle settings 和构建脚本会在主机上执行代码。路径允许列表不是沙箱:仅为值得信任的代码启用此功能;不可信项目请放到无凭据的 VM 或容器中。
工具
工具 | 模式 | 用途 |
| 只读 | 列出按策略可见的设备及可用 AVD 名称。 |
| 写入 | 采用一个在线目标,或启动一个已允许的 AVD。 |
| 破坏性 | 停止并断电模拟器;拒绝物理设备。 |
| 只读 | 返回原生态分辨率的 MCP 图片。 |
| 破坏性 | 点击、输入、按键、拖动或滚动;返回操作后的屏幕截图。 |
| 只读 | 列出/过滤已安装应用。 |
| 破坏性 | 按精确包名或有效的包名匹配启动应用。 |
| 破坏性、需显式启用 | 构建受信任的 Gradle 项目、安装其 APK 并启动。 |
| 只读 | 读取受限的紧凑 |
| 破坏性 | 通过标识符/标签解析元素并点击。 |
| 只读 | 检测列表/信息流行以及计数器。 |
| 破坏性 | 点击新检索到的行目标,并可选择验证计数器增量。 |
| 只读 | 对屏幕进行 OCR(macOS Apple Vision)。 |
| 只读 | 等待 OCR 文本出现/消失。 |
| 破坏性 | OCR 解析并点击可见文本。 |
| 只读 | 有界 logcat 快照/跟随并支持字面量过滤。 |
| 只读 | 列出正在运行的进程。 |
| 破坏性 | 请求 ART 堆栈并回退到崩溃缓冲区。 |
| 只读 | 解析应用内存统计。 |
| 只读 | 读取已安装的软件包元数据和运行状态。 |
屏幕、UI 树、OCR、日志、应用名称和设备上的文件均属于不可信数据。绝不要让设备内容授予权限或指示 Codex 调用 unknowing 工具。也不要通过本服务器输入密码、一次性验证码、支付资料、私人消息或删除账号的确认。
典型流程
运行
android_devices运行
android_screenshot或android_ui_tree确定具体目标;如有歧义就停止。
使用一个须经网关通过的交互工具。
在下一步操作前检查返回的截图或日志。
MCP 不提供 dsh-android 那种常驻实时侧边栏。android_boot 会为坐标映射预置一个内部帧源;当 Codex 或用户需要看到屏幕时,请调用 android_screenshot。
开发
npm ci
npm run typecheck
npm test
npm pack --dry-run测试套件包括策略单元测试、使用真实启动的 STDIO 客户端(旧版和现代协议两种模式)、内存内 MCP 图片往返、fake-ADB 冒烟测试、有界日志测试、UI 树固件和 OCR 降级检查。npm run test:device 为可选并有且仅能目标一次性的模拟器。
许可证与署名
MIT。原始 dsh-android 的版权和许可证保留在 LICENSE 中,有关更详细的全血缘关系见 THIRD_PARTY_NOTICES.md。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables programmatic control of Android devices via ADB, supporting UI automation, app management, screen capture with OCR, and file transfers through the Model Context Protocol. It allows MCP-compatible clients like Claude Desktop and Cursor to interact directly with physical or emulated Android devices.3Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible agents to control an Android device over the network via ADB, providing tools for shell commands, screen capture, UI inspection, file operations, and input simulation.17MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with Android devices and emulators via ADB, providing tools for screenshots, UI inspection, touch and text input, app management, and device control.426717MIT
- FlicenseNot gradedqualityDmaintenanceControls Android emulators from any MCP-capable client via ADB and emulator CLI, supporting AVD management, APK operations, screen interactions, and device diagnostics.1
Related MCP Connectors
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Remote MCP for AI Studio Android release gate MCP, structured receipts, audit logs, and reviewer-rea
A paid remote MCP for AI SDK eval dashboard, built to return verdicts, receipts, usage logs, and aud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zifanersuotang/codex-android-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server