Drengr Actuator
An MCP server that gives an AI agent eyes and hands on a real device. It captures the screen, parses the UI tree into numbered elements, and executes taps, typing and swipes over ADB on Android or simctl on the iOS Simulator.
Separate product from Drengr Analytics. You do not need one to use the other.
What it is
Your agent already reasons. What it cannot do is see a phone or touch one. Actuator is the layer in between: it exposes three tools over MCP, and your client's own model drives them.
| Tool | What it does |
|---|---|
| drengr_look | Screenshot plus a numbered list of on-screen elements. Text scene by default, roughly 300 tokens; a real image only when the agent needs one. |
| drengr_do | One action on the screen: tap, type, swipe, long_press, key, back, home. |
| drengr_query | Ask about state without touching the device: setup, devices, activity, crash, connect. |
Install
macOS on Apple Silicon or Intel, and Linux on x64 or ARM64. The shell installer downloads a prebuilt binary and verifies its SHA256 checksum.
curl -fsSL https://drengr.dev/install.sh | bashOr through npm, if you would rather manage it that way:
npm install -g drengrInstalling somewhere other than /usr/local/bin: INSTALL_DIR=$HOME/.local/bin in front of the shell installer.
Check it worked
One command tells you what is working and what is missing. Run it before wiring anything up.
drengr doctorDrengr Doctor─────────────────────────────────[✓] ADB /usr/local/bin/adb[✓] simctl (iOS) available[✓] Devices 1 connected emulator-5554 — Pixel_7[–] Vision API key not set─────────────────────────────────Status: READY for MCP mode→ Next: drengr setupA missing vision key is fine if you are driving Actuator from an MCP client. If ADB or simctl shows a cross, see device setup.
Connect your agent
Actuator generates the config for you and writes it into the right file. For Claude Code there is a one-liner:
claude mcp add drengr -- npx -y drengr mcpEvery other client, including Cursor, Windsurf, VS Code, Xcode and Android Studio, is on connect your MCP client. Restart the client after writing the config.
Your first task
With a device or simulator running, this one needs no config, no login and no key of your own:
drengr demoOnce your MCP client is connected, ask it in plain language. The agent calls drengr_look to see the screen, then drengr_do to act on it, and repeats. That loop is the whole product.
Use drengr to open Settings and turn on airplane mode.What it sends home
Two separate things, and it is worth being precise about which is which.
| What | Can you turn it off | Why it exists |
|---|---|---|
| identity | No | A machine id and install id, registered on startup and refreshed every five minutes. The key and seat system cannot work without it. |
| telemetry | Yes, DRENGR_TELEMETRY=off | Anonymous usage and bug events, used to fix real failures. |
Turning telemetry off silences the bug events and leaves identity running. We keep them separate rather than pretending one switch covers both.
Screenshots, UI trees and diagnostic bundles stay on your machine under ~/.drengr/. A bundle is only uploaded if you run drengr diag share yourself.