MCP.Market

Baton MCP server

by kanumuri9593·io.github.kanumuri9593/baton·v0.2.10·1 stars

Run, hot-reload and screenshot Flutter, web, React Native and native iOS/Android apps.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

1 stars536 downloads/wk

Reviews

Write one

Nobody has reviewed Baton yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Baton tools (29, 6 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • boot_device

    Boot an iOS simulator or Android emulator by name (e.g. "iPhone 17 Pro", "Pixel_8") or id,

  • check_change

    After editing code: apply the change and return the evidence in one call, instead of

  • clear_network_requests

    Forget every captured request for a session, in the daemon and in the app itself.

  • dashboard_action

    Used by the Baton card: refresh; catalog (projects and devices for New run); run a project target on a device; boot a device;

  • diagnose

    Search bounded log and network evidence across projects. Defaults to errors only and 20 findings.

  • forget_sessionwrite action

    Remove stopped sessions from the list. Running sessions must be stopped first. Use all=true to clear every stopped session.

  • get_network_request

    One captured request in full: headers, timeline events, and optionally the bodies.

  • hot_reload

    Hot reload a session, keeping app state. Flutter only. Returns code 0 on success; a non-zero code carries the compile error.

  • hot_restart

    Hot restart a session, dropping app state. For web dev servers and plain processes this reboots the process.

  • inspect_project

    Read fresh launch sources, configuration problems, nested projects and guidance file paths. Does not run commands or expose environment values. Use before choosing an environment, checkout and device; review screenshot evidence rather than treating capture as visual approval.

  • list_checkouts

    List git checkouts this project can run from: This checkout, linked worktrees, local branches, remotes.

  • list_devices

    List connected devices, simulators and emulators available to Flutter. Use boot_device to start one that is not running.

  • list_network_requests

    List HTTP requests the app has made, newest last. One line each:

  • list_proofs

    List past proof bundles, newest first.

  • list_run_historywrite action

    List past and current runs persisted on disk -- survives daemon restarts. Each line is

  • list_sessions

    List running sessions with their status, capabilities, URLs and device.

  • list_targets

    List everything runnable in a project: launch.json configs, package.json dev scripts, Flutter entrypoints.

  • read_launch_config

    Read a project's launch.json exactly as written -- comments, formatting and all -- plus the

  • read_logs

    Read recent output from a session, newest last. Use filter to grep for an error: it searches

  • run_proofwrite action

    Run proof verification and return a zip with screenshots, network call counts, response times and logs.

  • run_targetwrite action

    Start a target by name. Returns the new session id to use with the other tools. Optional branch or checkout runs from a git worktree without moving the current folder.

  • run_workflowwrite action

    Launch up to eight project targets in dependency order and wait for each to become ready, in one call. Stops launching dependents on failure. Returns compact session IDs, URLs and errors; retains sessions for debugging. Use browser/device tools next to validate the actual flow. Paths must be absolute.

  • screenshot

    Capture the screen of a running session so the visual result of a change can be checked.

  • session_summary

    Cheap structured overview -- call this before deciding what to do next.

  • set_debug_flag

    Toggle a framework debug flag on a running Flutter session, e.g. ext.flutter.debugPaint with {enabled: true} or ext.flutter.timeDilation with {timeDilation: 5}. Values are sent as the strings Flutter expects.

  • show_dashboard

    Show a live Baton control panel in the chat: every running app with its simulator or URL, status, CPU and memory;

  • stop_session

    Stop one session, or every running session with all=true.

  • wait_for

    Block until a session reaches a state. Use after run_target or hot_restart instead of polling read_logs.

  • write_launch_configwrite action

    OVERWRITE a project's launch.json with the text given. The whole file is replaced, so read it

Public scan report

scanner v0.1.10 · 2026-10-12 · same rubric, same numbers if you re-run it

no findings
  • Code scan68 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 1 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Baton compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 90% of 48,273 servers
Tools
29
the typical server has 7
Tools that change things
21%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 65% of 28,534 servers
Downloads a week
536
more than 89% of 11,915 servers with a package

What its tools let an agent do: 21 read · 1 create · 3 change · 4 run or deploy

Install Baton in Claude Code, Cursor or VS Code

Runs npx -y baton-run on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add baton -- npx -y baton-run
Add to Cursor

What the publisher says

From the Baton repository's README, as published. We do not edit it. Read it on GitHub

Baton

Run, hot-reload, check and screenshot your apps from any coding agent. Flutter, Next.js, Vite, React Native / Expo, and native iOS and Android, from a terminal, the Baton app, or any MCP client.

= 24" src="https://img.shields.io/badge/node-%3E%3D24-339933">

Website · Set up your agent · Agent notes · PDF guides · Token study · Changelog

Baton is a local daemon that owns your running apps, with an MCP server and a CLI in front of it. Your agent starts an app on a simulator or in a browser, applies each edit with one check_change call, and gets back only what is new: the reload result, error lines, failed requests and a screenshot, with an OK / NOT OK verdict. You see the same runs in your terminal, in the Baton app, and in the band above Claude Code's prompt, and you can press the same buttons. Baton reads the .vscode/launch.json, package.json, pubspec.yaml, Xcode and Gradle projects you already have.

0.2.10 is a public developer preview. Open an issue with what broke or what you wanted.

Quick start

Requires Node.js 24+ on the machine that runs your apps. macOS, Linux and Windows.

npm install -g baton-run
baton setup          # adds Baton to every coding agent installed on this machine

Restart your agent (or open a new chat) and ask it to "run the app and show me a screenshot".

Other ways in:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Baton: common questions

Is Baton MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Baton safety report
How do I install Baton?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Baton need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Baton maintained?
The last commit was 21 days ago (2026-10-12). The latest release is v0.2.10.
What can I use instead of Baton?
Servers from other publishers that do the same job: Mobilerun MCP server, Mobile MCP server and Reticle MCP server. Compare all Baton alternatives.
How does Baton compare with other MCP servers?
safety score 92/100 (higher than 90% of 48,273 servers); tools 29 (the typical server has 7); tools that change things 21% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Baton

Same job from other publishers: the closest match first, then the best rated.

All Baton alternatives →
  • Mobilerun
    Let AI agents control Android and iOS devices on Mobilerun Cloud: screen, input, apps, workflows.
    A
  • Mobile
    MCP server for iOS and Android Mobile Development, Automation and Testing
    A
  • Reticle
    Verify a running web app from the inside over MCP: look, act, observe, assert. No screenshots.
    B
  • MCP Appium - Mobile Development and Automation Server
    MCP server for Appium mobile automation on iOS and Android devices with test creation tools.
    A
  • Webcomponents React
    MCP server for UI5 Web Components for React - Developer documentation and API assistance
    A