replicant-mcp MCP Server
io.github.thecombatwombat/replicant-mcp
AI-powered Android development: build, test, emulate, and automate your apps through natural conversation.
What is the replicant-mcp MCP server?
The replicant-mcp MCP server gives AI assistants like Claude the ability to interact with your Android development environment. It enables building APKs, launching emulators, installing apps, navigating UIs, and debugging crashes through natural language commands. Uses accessibility-first UI automation and progressive disclosure to minimize token usage.
replicant-mcp bridges AI assistants and Android development by automating the full development workflow. Instead of manually running Gradle commands, managing emulators, and copying logcat output, you describe what you want to test or build in natural language, and Claude handles the rest—building APKs, running tests, interacting with the UI, and analyzing logs. It's designed for faster iteration and lower token costs through smart summarization and accessibility-based UI automation.
How to install replicant-mcp
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
Build & Test— Build APKs/bundles, run unit and instrumented tests, list modules/variants/tasks, test regression detection with baseline comparisonEmulator Management— Create, start, stop, wipe emulators; save/load/delete snapshotsDevice Control— List connected devices, select active device, query device propertiesApp Management— Install, uninstall, launch, stop apps; clear app dataLog Analysis— Filter logcat by package, tag, level, timeUI Automation— Accessibility-first element finding, spatial proximity search, tap, text input, screenshotsDiagnostics— Environment health checks via `replicant doctor`; structured logging with configurable level and formatDocumentation— Built-in `rtfm` tool for accessing tool documentation by category
Use cases
- Build and test Android apps end-to-end by describing the workflow in natural language
- Automate UI testing by having AI navigate screens, fill forms, and verify results
- Debug crashes and issues by filtering logs and analyzing stack traces programmatically
- Create and manage Android emulator snapshots for reproducible testing
- Verify checkout flows, user journeys, and edge cases without manual interaction
replicant-mcp MCP server FAQ
replicant-mcp is an MCP server that lets AI assistants like Claude control your Android development environment. You describe what you want to build or test, and Claude handles building APKs, running emulators, installing apps, navigating UIs, and analyzing logs.
Yes, replicant-mcp is open-source under the MIT license and free to use. It requires Node.js 18+ and the Android SDK, which are also free.
Add the following to your Claude Desktop config file (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%\Claude\claude_desktop_config.json` on Windows): `{"mcpServers": {"replicant": {"command": "npx", "args": ["-y", "replicant-mcp"]}}}`
Add the following to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project): `{"mcpServers": {"replicant": {"command": "npx", "args": ["-y", "replicant-mcp"]}}}`
You need Node.js 18+, the Android SDK with `adb` and `emulator` in your PATH, and an Android project with `gradlew` for building. Run `replicant doctor` after installation to verify your environment.
No, replicant-mcp does not require authentication. It communicates directly with your local Android SDK and connected devices or emulators via adb.
README (reference)
Source of truth, from the repository.
replicant-mcp
Let AI build, test, and debug your Android apps.
replicant-mcp is a Model Context Protocol server that gives AI assistants like Claude the ability to interact with your Android development environment. Build APKs, launch emulators, install apps, navigate UIs, and debug crashes—all through natural conversation.
Demo

Why replicant-mcp?
| Without replicant-mcp | With replicant-mcp |
|---|---|
"Run ./gradlew assembleDebug, then adb install, then adb shell am start..." | "Build and run the app" |
| Copy-paste logcat output, lose context | AI reads filtered logs directly |
| Screenshot → describe UI → guess coordinates | AI sees accessibility tree, taps elements by text |
| 5,000 tokens of raw Gradle output | 50-token summary + details on demand |
Features
| Category | Capabilities |
|---|---|
| Build & Test | Build APKs/bundles, run unit and instrumented tests, list modules/variants/tasks, test regression detection with baseline comparison |
| Emulator | Create, start, stop, wipe emulators; save/load/delete snapshots |
| Device Control | List connected devices, select active device, query device properties |
| App Management | Install, uninstall, launch, stop apps; clear app data |
| Log Analysis | Filter logcat by package, tag, level, time |
| UI Automation | Accessibility-first element finding, spatial proximity search, tap, text input, screenshots |
| Diagnostics | Environment health checks via replicant doctor; structured logging with configurable level and format |
Coming Soon
- Custom build commands (project-specific overrides, auto-detect gradlew)
- Video capture (start/stop recording, duration-based capture)
Quick Start
Prerequisites
- Node.js 18+
- Android SDK with
adbandemulatorin your PATH - An Android project with
gradlew(for build tools)
node --version # Should be 18+
adb --version # Should show Android Debug Bridge version
emulator -version # Should show Android emulator version
<details>
<summary><b>Installing prerequisites (macOS via Homebrew)</b></summary>
If you don't already have these tools, install them with Homebrew:
Node.js 18+
brew install node
Physical-device only — just adb, sufficient if you never run an emulator:
brew install --cask android-platform-tools
adb lands directly on your PATH; no further config needed.
Full Android SDK — needed for emulator workflows or building APKs via the gradle-* tools. Run the steps in order:
# 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"
Persist ANDROID_HOME and put the SDK binaries on your PATH by appending to ~/.zshrc (or ~/.bashrc):
export ANDROID_HOME="$HOME/Library/Android/sdk"
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
</details>
Installation
npm install -g replicant-mcp
After installation, run the built-in diagnostics to verify your environment:
replicant doctor
Updating
npm update -g replicant-mcp
Setup
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"replicant": {
"command": "npx",
"args": ["-y", "replicant-mcp"]
}
}
}
Claude Code
claude mcp add replicant -- npx -y replicant-mcp
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"replicant": {
"command": "npx",
"args": ["-y", "replicant-mcp"]
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"replicant": {
"command": "npx",
"args": ["-y", "replicant-mcp"]
}
}
}
OpenAI Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.replicant]
command = "npx"
args = ["-y", "replicant-mcp"]
Or via CLI:
codex mcp add replicant -- npx -y replicant-mcp
Note: Ensure
adbandemulatorare in your PATH, or setANDROID_HOMEenvironment variable. On macOS:~/Library/Android/sdk, on Linux:~/Android/Sdk.
Example
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?
Design
replicant-mcp uses progressive disclosure (summaries first, details on demand) to minimize token usage, and accessibility-first UI automation for faster, cheaper, more reliable interactions than screenshot-based approaches. See docs/architecture.md for details.
More Info
- Configuration: Set
REPLICANT_CONFIGfor advanced options. See docs/configuration.md. - Logging: Set
REPLICANT_LOG_LEVEL(error,warn,info,debug) andREPLICANT_LOG_FORMAT(jsonfor structured output) to control server logging. Logs are written to stderr. - Troubleshooting: Common issues and solutions in docs/troubleshooting.md.
- Tool documentation: Ask Claude to call
rtfmwith a category like "build", "adb", "emulator", or "ui".
Documentation
| Document | Description |
|---|---|
| Architecture | Design overview and progressive disclosure pattern |
| Configuration | Config file reference, environment variables, Gradle setup |
| API Stability | Tool API versioning policy and deprecation process |
| Security Model | adb-shell safety model, command denylist, threat boundaries |
| Support Matrix | Tested OS, Node.js, Android SDK, and emulator versions |
| Known Limitations | Accessibility gaps, timeouts, single-device focus, and more |
| Artifacts | .replicant/ directory contents and privacy considerations |
| Troubleshooting | Common issues and solutions |
| Changelog | Version history |
| Security Policy | Vulnerability reporting process |
| Support / Getting Help | How to report bugs and ask questions |
| Contributing | Development setup and guidelines |
Contributing
See CONTRIBUTING.md for development setup and guidelines.
Acknowledgments
- Inspired by xc-mcp for iOS
- Built on the Model Context Protocol
License
Questions? Open an issue
Related MCP servers
MCP server for GitHub repo health, commit summaries, issue triage, and RAG Q&A.

io.github.theduodecim/ascii-art
MCP server that exposes ASCII and Unicode art tools
Run storefronts, listings, orders, content, fulfillment, and analytics through AI.
Today's gold buying-conditions score (0-100), its published history, and what followed since 1971.

io.github.thegoodguysla/myco-brain
Self-hosted, source-traceable memory layer and MCP server for AI agents, on your own Postgres.
AI-powered spec-to-task decomposition and execution orchestration for coding agents.
View repository →

