Android开发AI助手

replicant-mcp是一个通过自然语言交互帮助构建、测试和调试Android应用的AI助手工具。

  • by thecombatwombat
  • TypeScript
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 thecombatwombat/replicant-mcp

使用说明

复制人mcp

让AI构建、测试和调试您的Android应用程序。

复制人mcp是 模型上下文协议 服务器,使像Claude这样的人工智能助手能够与您的Android开发环境进行交互。构建APK、启动模拟器、安装应用程序、导航UI和调试崩溃——所有这些都是通过自然对话完成的。


演示


为什么要复制mcp?

无复制子mcp 有复制子mcp
“跑 ./gradlew assembleDebug那么 adb install那么 adb shell am start…“ ”构建并运行应用程序“
复制粘贴logcat输出,失去上下文 AI直接读取过滤后的日志
屏幕截图→ 描述UI→ 猜测坐标 AI看到可访问性树,按文本点击元素
5000个原始Gradle输出代币 50个代币摘要+按需提供详细信息

特性

类别 功能
构建与测试 构建APK/包,运行单元和仪表测试,列出模块/变体/任务,测试回归检测和基线比较
模拟器 创建、启动、停止、擦除模拟器;保存/加载/删除快照
设备控制 列出已连接的设备,选择活动设备,查询设备属性
应用程序管理 安装、卸载、启动、停止应用程序;清除应用程序数据
日志分析 按包、标签、级别、时间过滤日志
UI自动化 可访问性优先元素查找、空间邻近搜索、点击、文本输入、屏幕截图
诊断 通过以下方式进行环境健康检查 replicant doctor;具有可配置级别和格式的结构化日志记录

即将推出

  • 自定义构建命令(特定于项目的替代、自动检测gradlew)
  • 视频捕获(开始/停止录制,基于持续时间的捕获)

快速开始

先决条件

  • Node.js 18+
  • 安卓模拟器 随着 adb 和 emulator 在你的路径中
  • 一个Android项目 gradlew (用于构建工具)
node --version      # Should be 18+
adb --version       # Should show Android Debug Bridge version
emulator -version   # Should show Android emulator version
Installing prerequisites (macOS via Homebrew)

如果您还没有这些工具,请使用 家酿:

Node.js 18+

brew install node

仅限物理设备 --只是 adb,如果您从未运行过模拟器,则足够了:

brew install --cask android-platform-tools

adb 直接降落在您的路径上;无需进一步配置。

完整的Android SDK --模拟器工作流程或通过构建APK所需 gradle-* 工具。按顺序运行以下步骤:

# 1. JDK — required by sdkmanager itself, and by the gradle-* tools
brew install --cask temurin@17

# 2. cmdline-tools (provides sdkmanager)
brew install --cask android-commandlinetools

# 3. Set ANDROID_HOME and create the directory BEFORE running sdkmanager,
#    otherwise sdkmanager has no install target.
export ANDROID_HOME="$HOME/Library/Android/sdk"
mkdir -p "$ANDROID_HOME"

# 4. Accept all SDK licenses first, then install packages.
#    `sdkmanager --install` aborts on unaccepted per-package licenses
#    (e.g. the Google APIs system image) if licenses aren't accepted first.
#    The system-image arch must match your host: `arm64-v8a` for Apple
#    Silicon (M1/M2/M3), `x86_64` for Intel Macs. Check with `uname -m`.
yes | sdkmanager --licenses
sdkmanager --install "platform-tools" "emulator" "system-images;android-34;google_apis;arm64-v8a"

坚持 ANDROID_HOME 并将SDK二进制文件附加到PATH中 ~/.zshrc (或 ~/.bashrc):

export ANDROID_HOME="$HOME/Library/Android/sdk"
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"

安装

npm install -g replicant-mcp

安装后,运行内置诊断程序以验证您的环境:

replicant doctor

更新

npm update -g replicant-mcp

设置

克劳德桌面版

添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "replicant": {
      "command": "npx",
      "args": ["-y", "replicant-mcp"]
    }
  }
}

克劳德代码

claude mcp add replicant -- npx -y replicant-mcp

光标

添加 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目):

{
  "mcpServers": {
    "replicant": {
      "command": "npx",
      "args": ["-y", "replicant-mcp"]
    }
  }
}

帆板运动

添加 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "replicant": {
      "command": "npx",
      "args": ["-y", "replicant-mcp"]
    }
  }
}

OpenAI Codex命令行界面

添加 ~/.codex/config.toml:

[mcp_servers.replicant]
command = "npx"
args = ["-y", "replicant-mcp"]

或者通过CLI:

codex mcp add replicant -- npx -y replicant-mcp

注: 确保 adb 和 emulator 在您的路径中,或已设置 ANDROID_HOME 环境变量。在macOS上: ~/Library/Android/sdk,在Linux上: ~/Android/Sdk.


示例

You: "I just changed the checkout flow. Build the app, go through checkout
      with a test product, and make sure the confirmation screen shows up."

Claude: [Builds debug APK, installs on emulator, launches app]
        [Taps "Electronics" category → "Wireless Headphones" → "Add to Cart"]
        [Navigates to cart, taps "Checkout"]
        [Fills shipping form, taps "Place Order"]

        Confirmation screen is showing:
        - Order #38291
        - "Wireless Headphones" × 1
        - Total: $79.99
        - Estimated delivery: Jan 30

        The flow works. Want me to test the edge cases—empty cart,
        invalid address, payment failure?

设计

复制人mcp使用渐进式披露(先总结,按需提供详细信息)来最大限度地减少令牌使用,并使用可访问性优先的UI自动化来实现比基于屏幕截图的方法更快、更便宜、更可靠的交互。看 docs/architecture.md 了解详情。


更多信息

  • 配置: 集 REPLICANT_CONFIG 高级选项。看 docs/configuration.md.
  • 登录中: 集 REPLICANT_LOG_LEVEL (error, warn, info, debug)以及 REPLICANT_LOG_FORMAT (json 用于结构化输出)以控制服务器日志记录。日志被写入stderr。
  • 故障排除: 常见问题和解决方案 docs/故障排除.md.
  • 工具文档: 让克劳德打电话 rtfm 使用“构建”、“adb”、“模拟器”或“ui”等类别。

文档

文档 描述
建筑 设计概述和渐进式披露模式
配置 配置文件引用、环境变量、Gradle设置
API稳定性 工具API版本控制策略和弃用流程
安全模型 adb shell安全模型、命令denylist、威胁边界
支持矩阵 经过测试的操作系统、Node.js、Android SDK和模拟器版本
已知限制 可访问性差距、超时、单设备焦点等
人工制品 .replicant/ 目录内容和隐私考虑
故障排除 常见问题和解决方案
更新日志 版本历史
安全策略 漏洞报告流程
支持/获取帮助 如何报告错误和提问
贡献 开发设置和指南

贡献

看 贡献.md 用于开发设置和指南。


致谢


许可证

麻省理工学院


问题? 打开一个问题