BenchFleet

io.github.jimbob1414Published by GitHub account jimbob1414v1.0.4Updated Nov 6, 2026

Let AI agents use your real Android phones safely, with permissions, approvals and an audit log.

The publisher's own server: Web3Juice

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Connects an AI assistant to BenchFleet, a self-hosted hub for real Android phones, so it can inspect screens and operate apps within permissions you set.

What you can do
  • List and inspect phones: list devices, get device details, capture screenshots, read the UI tree, find elements and read text
  • Operate the screen: tap, long-press, swipe, scroll to, press keys, type text, and type a vault password without revealing it
  • Manage apps and logs: launch or stop apps and retrieve device logs
  • Run automation: list and run published workflows, queue tasks or plain-language goals, check task status
  • Control access: pause or resume a phone and request manual control from a person
When to use it
Useful when you want an agent to drive or observe real Android devices for testing, repetitive app tasks or guided workflows, and you want approvals, per-phone permissions and an audit trail rather than raw device access.
Requirements
A local process started via npx, so Node.js is needed. The BenchFleet desktop app must be installed and running on the same computer with phones connected or demo phones enabled. A token from the app's AI clients settings is passed in BENCHFLEET_TOKEN; BENCHFLEET_URL and CONTROLHUB_HOME are optional. AI client access requires a BenchFleet Pro or Team plan.
Before you install
The token grants whatever access you configure in the app, so scope it to look-only or chosen capabilities and specific phones, and disconnect to revoke it. The agent can tap, type, launch apps and run workflows on real devices, which changes device state; sensitive steps require approvals. A vault password is used by the server without being exposed to the agent. No shell, file transfer or install tools are provided.

Installation

In SourceWeft

  1. Open BenchFleet in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

benchfleet-mcp

[npm]

Let AI agents use your real Android phones, safely. benchfleet-mcp connects Claude Code, Codex, Cursor, Claude Desktop and any other MCP client to BenchFleet, the self-hosted control hub for real Android phones. The agent can list your phones, look at their screens, read the elements on them, tap, type, open apps and run your published workflows — only on the phones and with the actions you allow, with approvals for anything sensitive and every step in BenchFleet's audit log.

It is a thin connector: it forwards MCP messages to the BenchFleet app running on the same computer and reaches nothing else. The tools, the permissions and the phones are all in the app.

Set up

  1. Install BenchFleet from https://benchfleet.com/download and connect your phones (or use its demo phones).

  2. In BenchFleet: Settings → AI clients → Connect an AI client…, choose what the client may do (Look only, Look and operate, or chosen capabilities) and on which phones, and copy the token it shows once.

  3. Add the server to your client:

    Claude Code

    bash
    claude mcp add benchfleet --env BENCHFLEET_TOKEN=<token> -- npx -y benchfleet-mcp

    Codex (~/.codex/config.toml)

    toml
    [mcp_servers.benchfleet]command = "npx"args = ["-y", "benchfleet-mcp"]env = { BENCHFLEET_TOKEN = "<token>" }

    Claude Desktop, Cursor and other clients (mcpServers)

    json
    {  "mcpServers": {    "benchfleet": {      "command": "npx",      "args": ["-y", "benchfleet-mcp"],      "env": { "BENCHFLEET_TOKEN": "<token>" }    }  }}

The app must be running. Disconnect in BenchFleet stops the token at once.

Tools

list_devices, get_device, get_screen, get_ui_tree, find_element, read_text, wait_for, tap_element, long_press_element, type_text, type_secret (a password from BenchFleet's vault, never its value), swipe, scroll_to, press_key, launch_app, stop_app, take_screenshot, get_device_logs, list_workflows, run_workflow, queue_task (a workflow, or a goal in plain words for the phones' AI agents), get_task_status, pause_device, resume_device, request_manual_control. A client sees only the tools its access allows. There is no shell, file transfer or install tool. A phone a person is controlling, a paused phone and a phone without Automation allowed refuse every action; CAPTCHAs and other human-only checks stop the agent and ask a person.

Settings

VariableMeaning
BENCHFLEET_TOKENRequired: the client's token from the app (CONTROLHUB_TOKEN also works)
BENCHFLEET_URLOptional: the app's address, when it is not found in its data folder
CONTROLHUB_HOMEOptional: the app's data folder, when it is not the default one

Plans: AI clients need BenchFleet Pro or Team (https://benchfleet.com/pricing); the personal edition has no limits. Support: [email protected].

Use it in Claude Code as a plugin

/plugin marketplace add benchfleet/benchfleet-mcp/plugin install benchfleet@benchfleet-plugins

Set BENCHFLEET_TOKEN in your environment first (the token from BenchFleet: Settings → AI clients).

Use it in Gemini CLI

bash
gemini extensions install https://github.com/benchfleet/benchfleet-mcp

Source: README.md at commit 0b6b9c8

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v1.0.4LatestOct 16, 2026
  2. v1.0.3Oct 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Web3juice integrations