Skip to content

jev-adb

MCP server that lets agents observe and control Android phones over ADB, with Jev picking controls and judging goal completion.

MCP serverbetaMIT

Overview

jev-adb is a Model Context Protocol server that lets AI agents observe and control an Android phone over ADB, via USB or wireless debugging. Jev answers small typed questions in about 100 ms, such as which control advances the goal or whether the goal is achieved, while the agent plans and ADB performs the taps. uiautomator dumps are reduced to a compact element model with stable references, layout-only containers are dropped, and password fields are masked before reaching any model.

Tools include an autonomous phone_task loop (observe, assess, ground, safety gate, tap, verify) bounded by steps and a USD budget, plus direct observe, screenshot, Jev-ranked find, act and an allowlisted shell. A consent model requires explicit per-device authorization before any actuating tool runs, irreversible actions like uninstall or reboot need a policy flag, and a shell denylist always applies. It runs on Windows, macOS and Linux with Node 22.18+, is local-first apart from Jev requests, and is MIT licensed as an independent project.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich control advances the goal?—
Yes / noIs the goal achieved?yes · no

How it works

  1. Authorize a device with adb_authorize
  2. Agent calls phone_task or direct tools
  3. Dump UI to a compact element model with masked secrets
  4. Jev picks the control and checks completion; safety gates apply
  5. ADB performs the action, bounded by steps and budget

Strengths

  • About 100 ms decisions per the README; a 10-step task costs a fraction of a cent
  • Per-device consent and safety gates for irreversible actions
  • Passwords masked before any model sees them

Caveats

  • Requires ADB and developer mode on the phone
  • Independent project, not affiliated with TypeSafe

At a glance

Type
MCP server
Status
beta
Language
TypeScript
Runtime
MCP server (Node 22.18+)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Which on-screen control advances the goal and whether the goal has been achieved.

Can it act on any connected phone?

No. Actuating tools only run on devices you explicitly authorize.

What leaves my machine?

Only Jev decision requests, with password fields masked.

Related projects

  • Accessibility-first macOS computer-use MCP server and CLI, with optional Jev guards on targets and inputs before irreversible actions.

    PluginbetaPython
  • Codex computer-use skill where Jev picks the next on-screen element, action, completion and risk from text candidates.

    Agent skillprototypeJavaScript
  • Zero-dependency Node library with MCP and ACP adapters adding Jev decisions and gated computer use beside any LLM agent.

    MCP serverbetaTypeScript
  • Rust MCP server for desktop control via accessibility trees, with an optional decision model (Jev or compatible) for small choices.

    MCP serverproductionRust
  • Agent harness that compiles an environment's finite actions into typed questions for Jev and gates each step by confidence.

    CLIbetaPython
  • Rust CLI for desktop computer use via accessibility trees, with optional jev-desktop scripts letting Jev pick the control and action.

    Agent skillbetaRust