jev-adb
MCP server that lets agents observe and control Android phones over ADB, with Jev picking controls and judging goal completion.
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
| Type | Question | Answers |
|---|---|---|
| Choice | Which control advances the goal? | — |
| Yes / no | Is the goal achieved? | yes · no |
How it works
- Authorize a device with adb_authorize
- Agent calls phone_task or direct tools
- Dump UI to a compact element model with masked secrets
- Jev picks the control and checks completion; safety gates apply
- 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
MCP server: control any Android phone over ADB (USB/wireless) with JEV…
wh000wh000/awesome-jev-live
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.
PluginbetaPythonCodex computer-use skill where Jev picks the next on-screen element, action, completion and risk from text candidates.
Agent skillprototypeJavaScriptZero-dependency Node library with MCP and ACP adapters adding Jev decisions and gated computer use beside any LLM agent.
MCP serverbetaTypeScriptRust MCP server for desktop control via accessibility trees, with an optional decision model (Jev or compatible) for small choices.
MCP serverproductionRust- SystemOneHarness★ 193
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