
k4wai1/jav
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
Jav — non-root Android control runtime over MCP: on-device UI automation, native telemetry APIs and dual-tier AI (Jev + director)
概要
Normative detail lives in AGENTS.md, PROTOCOL.md, ARCHITECTURE.md, PLAN.md and docs/specs/. An on-device app (, dev.k4wai1.jav) exposes the screen via AccessibilityService and privileged actions via (started by the user) to a Go MCP server on the PC (jav, cmd/jav, stdio). Jav never loops, never plans and never invents coordinates. The Director holds the loop; Jav holds the device. Every tool returns {ok, verified, evidence, hint}. verified: true only with real post-verification, never on "command sent". tools/list carries a compact 1–2 line description per tool; the full 7-section spec loads as an MCP Resource (android://tool/ , android://tools/ , index android://tools/catalog). Startup measured with a real tiktoken tokenizer: (instructions + 38 compact descriptions) and (includes the fixed MCP schema for 38 tools, not reducible without consolidating) — so ~8.8k before v1.2.0. See docs/benchmarks/PERFORMANCE.md §9.
README
以下は原文 README の抜粋です。原文を見る。
English first, español después. Normative detail lives in
AGENTS.md,PROTOCOL.md,ARCHITECTURE.md,PLAN.mdanddocs/specs/.
What is Jav
Jav is a full-control Android MCP runtime without root. An on-device app
(Jav, dev.k4wai1.jav) exposes the screen via AccessibilityService and
privileged actions via Shizuku (started by the user) to a Go MCP server on
the PC (jav, stdio).
| Jav (this repo) | Director (external, not part of Jav) | |
|---|---|---|
| What | Go MCP server (cmd/jav) + Android app dev.k4wai1.jav |
OpenCode / Claude / Cursor / operator |
| Does | exposes 38 atomic MCP tools, runs no loops and no internal planner | reads each screen, picks one atomic tool per step, verifies the effect |
| Tactical help | serves resolve_element (blind S1 Jev resolver) |
decides goals, gates, and approves previews |
Jav never loops, never plans and never invents coordinates. The Director holds the loop; Jav holds the device.
Architecture
Interactive version: docs/diagrams/jav-architecture.html
How the flow works with Jev — recommended: OpenRouter
The Director reads the screen, picks one atomic tool per step and verifies the
effect. When the screen is noisy, resolve_element adds a blind tactical
resolver (S1 Jev): the accessibility tree is pruned to a numbered table
(≤254 candidates) and Jev answers in a single pass — a Choice + confidence,
no free text, anti-prompt-injection by construction. conf ≥ 0.70 (tau) or
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →