mcpField
R
replicant-mcp

replicant-mcp

Local
github.com/thecombatwombatDeveloper Tools18Updated 25w ago

About replicant-mcp

replicant-mcp is an MCP server for Android developers who want AI assistants to operate their development environment. It combines build and test operations with emulator, device, log, and accessibility-based UI controls.

Key features

  1. 01Build APKs and run tests
  2. 02Manage emulators and snapshots
  3. 03Install and control apps
  4. 04Filter logcat output
  5. 05Find and operate UI elements
  6. 06Inspect Android environment health

Use cases

  1. 01Build and test an Android project
  2. 02Reproduce a flow in an emulator
  3. 03Inspect filtered app logs while debugging
  4. 04Navigate app screens through accessibility elements

MCP support

The server exposes Android build, test, emulator, device, app, logging, and UI automation operations to MCP-compatible assistants. It can be configured in clients such as Claude Desktop, Claude Code, Cursor, Windsurf, and OpenAI Codex CLI.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"thecombatwombat-replicant": {
"command": "npx",
"args": [
"-y",
"replicant-mcp"
]
}
}
}
Run commandnpx -y replicant-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmreplicant-mcp1.6.7

Tools

14

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
keystringNoKey to clear (optional)
configobjectNo
config.maxEntriesnumberNo
config.defaultTtlMsnumberNo
config.maxEntrySizeBytesnumberNo
operationenumYesget-stats | clear | get-config | set-config

Details

From the project README

replicant-mcp

Let AI build, test, and debug your Android apps.

CI npm Node.js License: MIT Ask DeepWiki replicant-mcp MCP server

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

replicant-mcp demo


Why replicant-mcp?

Without replicant-mcpWith replicant-mcp
"Run ./gradlew assembleDebug, then adb install, then adb shell am start...""Build and run the app"
Copy-paste logcat output, lose contextAI reads filtered logs directly
Screenshot → describe UI → guess coordinatesAI sees accessibility tree, taps elements by text
5,000 tokens of raw Gradle output50-token summary + details on demand

Features

CategoryCapabilities
Build & TestBuild APKs/bundles, run unit and instrumented tests, list modules/variants/tasks, test regression detection with baseline comparison
EmulatorCreate, start, stop, wipe emulators; save/load/delete snapshots
Device ControlList connected devices, select active device, query device properties
App ManagementInstall, uninstall, launch, stop apps; clear app data
Log AnalysisFilter logcat by package, tag, level, time
UI AutomationAccessibility-first element finding, spatial proximity search, tap, text input, screenshots
DiagnosticsEnvironment 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 adb and emulator in 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
Installing prerequisites (macOS via Homebrew)

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"
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 adb and emulator are in your PATH, or set ANDROID_HOME environment 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_CONFIG for advanced options. See docs/configuration.md.
  • Logging: Set REPLICANT_LOG_LEVEL (error, warn, info, debug) and REPLICANT_LOG_FORMAT (json for 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 rtfm with a category like "build", "adb", "emulator", or "ui".

Documentation

DocumentDescription
ArchitectureDesign overview and progressive disclosure pattern
ConfigurationConfig file reference, environment variables, Gradle setup
API StabilityTool API versioning policy and deprecation process
Security Modeladb-shell safety model, command denylist, threat boundaries
Support MatrixTested OS, Node.js, Android SDK, and emulator versions
Known LimitationsAccessibility gaps, timeouts, single-device focus, and more
Artifacts.replicant/ directory contents and privacy considerations
TroubleshootingCommon issues and solutions
ChangelogVersion history
Security PolicyVulnerability reporting process
Support / Getting HelpHow to report bugs and ask questions
ContributingDevelopment setup and guidelines

Contributing

See CONTRIBUTING.md for development setup and guidelines.


Acknowledgments


License

MIT


Questions? Open an issue

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.