关于 AndroidMCP Framework
AndroidMCP Framework 是面向 Android 和 Flutter 项目编码 Agent 的 MCP 服务与命令行工具。它将设备操作和 UI 自动化与诊断、项目发现及感知变更的测试工具结合起来。
主要功能
- 01在设备上构建、安装并启动应用
- 02通过语义方式自动化 Android UI
- 03检查 logcat 与崩溃诊断信息
- 04发现 Android 和 Flutter 项目
- 05分析测试并审查屏幕
- 06保存测试用例与报告
适用场景
- 01在模拟器上构建并启动应用
- 02在实体设备上自动执行 UI 检查
- 03通过 logcat 诊断崩溃
- 04依据项目变更选择并运行测试
MCP 相关
MCP 服务通过 stdio 向本地编码 Agent 提供 Android 开发、设备、UI 自动化、诊断和测试工具。目前未实现 Streamable HTTP。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
30收录的工具列表 · 更新于 4 天前
此工具无需参数。
详细介绍
AndroidMCP Framework
Model Context Protocol(MCP)服务和命令行工具,为编码 Agent 提供 Android 开发能力:在模拟器和实体设备上构建、安装和启动应用;进行语义化 UI 自动化;诊断 logcat 日志和崩溃;发现项目;以及提供感知变更的测试智能。
测试智能默认启用,与 device、ui-automation、session-management、doctor 和 workflow-discovery 同时可用。无需启用其他工作流,即可使用 analyze_test_project、audit_screen、save_test_case 和 write_test_report 等工具。请参阅工作流文档。
安装
npm install -g androidmcp-framework@latest
androidmcp-framework doctor
# Update to the latest global release and clear npm cache
amf update
# Short alias (also installed by npm)
amf doctor
也可以按需运行,无需全局安装:npx -y androidmcp-framework@latest mcp。amf update 命令可更新全局 npm 安装;如果使用 npx,请用 @latest 重新运行,以获取最新版本。如果安装了更新,该命令只会清除已配置的 npm 缓存目录下 _npx 中的执行缓存(macOS/Linux 上通常为 ~/.npm/_npx);不会清除共享的软件包下载缓存。
连接 MCP 客户端
{
"mcpServers": {
"androidmcp-framework": {
"command": "npx",
"args": ["-y", "androidmcp-framework@latest", "mcp"]
}
}
}
Claude Code、Codex、Gemini CLI、Antigravity 和 VS Code/GitHub Copilot 的说明,请参阅编码 Agent 配置指南。Android Studio 文档中介绍的 MCP 客户端需要 HTTP,而此服务目前仅支持 stdio;请参阅支持的客户端。
初始化应用项目
在 Android 或 Flutter 仓库根目录中运行:
androidmcp-framework setup
这会创建 .androidmcp-framework/config.yaml。如果 .android-build-mcp/ 或 .androidbuildmcp/ 中仍有现存数据,请检查这些数据,并运行 androidmcp-framework setup --migrate 来复制文件,同时避免覆盖现有内容。旧目录不会自动删除。
所有项目专属的框架数据都保存在 .androidmcp-framework/ 中。截图保存在 .androidmcp-framework/artifacts/screenshots/ 下,原始无障碍层级快照保存在 .androidmcp-framework/artifacts/snapshots/ 下,其他证据保存在 .androidmcp-framework/artifacts/ 下。screenshot 会随图像返回已保存图像的绝对路径;snapshot_ui 会保存完整树,并默认返回精简摘要。测试用例定义和带时间戳的报告分别保存在 testcases/ 和 test-reports/ 下。工作区根目录通过向上查找最近的 .androidmcp-framework/config.yaml 或 .git 标记来确定;如果找不到,则使用当前目录。生成的产物是本地输出,默认会被 Git 忽略。
本地检出配置
运行 npm ci && npm run build 进行构建,然后将 MCP 客户端配置为启动已构建的入口点 build/cli/index.js mcp。请使用自己检出目录的绝对路径;不要从示例中复制与机器相关的路径。
构建方式
- **UI 自动化:**仅使用 JavaScript/TypeScript 和 Android SDK platform-tools(
adb)。可选的 Pythonuiautomator2桥接已移除;无需 Python 运行时或scripts/目录。 - **设备定位:**模拟器和实体设备通过 ADB 统一管理。按显式目标、会话默认目标、单个已连接目标的顺序尝试。
- **MCP 传输:**供本地编码 Agent 使用的 stdio。尚未实现 Streamable HTTP。
- **工具:**每个工具在
src/tools/<workflow>/下对应一个 TypeScript 模块。
开发
npm ci
npm run build
npm run typecheck
npm test
TypeScript 从 src/ 编译到生成目录 build/。请勿提交生成的 build/ 或过时的 dist/ 输出。
测试框架
默认启用 testing-intelligence 工作流:它会分析 Native Android 和 Flutter 工作区、发现嵌套的 Flutter 包、保存自定义指令和测试用例、审查屏幕,并在 .androidmcp-framework/test-reports/YYYY-MM-DD/HHmmss/ 下写入带时间戳的 Markdown/JSON 报告。test_device 会通过 flutter test(kind: "unit")运行 Flutter 单元/组件测试;如果存在 integration_test/,也可以使用 flutter test -d <device-id> integration_test 运行设备集成测试。请参阅 测试框架。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。