On this page

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.

Tools the Drengr MCP server exposes
ToolWhat it does
drengr_lookScreenshot 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_doOne action on the screen: tap, type, swipe, long_press, key, back, home.
drengr_queryAsk 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.

bash
curl -fsSL https://drengr.dev/install.sh | bash

Or through npm, if you would rather manage it that way:

bash
npm install -g drengr

Installing 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.

bash
drengr doctor
text
Drengr 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 setup

A 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:

bash
claude mcp add drengr -- npx -y drengr mcp

Every 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:

bash
drengr demo

Once 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.

text
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.

Network activity from the Drengr binary
WhatCan you turn it offWhy it exists
identityNoA machine id and install id, registered on startup and refreshed every five minutes. The key and seat system cannot work without it.
telemetryYes, DRENGR_TELEMETRY=offAnonymous 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.