Baton
Run, hot-reload and screenshot Flutter, web, React Native and native iOS/Android apps.
Connector by kanumuri9593 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/kanumuri9593-baton
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.
- Tools
- 16 read · 8 write · 5 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 29
Read from the source code; the running server may list different tools.
Read 16 · Look things up without changing anything.
diagnoseget_network_requestinspect_projectlist_checkoutslist_deviceslist_network_requestslist_proofslist_run_historylist_sessionslist_targetsread_launch_configread_logs
Show 4 more tools
screenshotsession_summaryshow_dashboardwait_for
Write 8 · Create, change, send or run things.
boot_devicecheck_changehot_reloadhot_restartrun_proofrun_targetrun_workflowset_debug_flag
Delete 5 · Delete, drop, revoke or wipe things.
clear_network_requestsdashboard_actionforget_sessionstop_sessionwrite_launch_config
Network hosts it talks to 4
apple.com· found in codecode.visualstudio.com· found in codegithub.com· found in codekanumuri9593.github.io· found in code
Files it touches
/home/dev/af/projects/A/web-lab/home/dev/af/projects/B/orders-api/home/dev/af/projects/B/web-lab/home/dev/tools/pw/tmp/shot-B.png/tmp/shot.png- Your home directory (~)
- Any path the agent passes to its tools
Tools (29)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
boot_deviceBoot an iOS simulator or Android emulator by name (e.g. "iPhone 17 Pro", "Pixel_8") or id, and wait until it is up. Returns the device id to pass to run_target as deviceId. Call with no name to list what can be booted.
check_changeAfter editing code: apply the change and return the evidence in one call, instead of hot_reload + wait_for + read_logs + list_network_requests + screenshot. action=auto hot reloads Flutter, leaves web and React Native to HMR / Fast Refresh, and restarts everything else. Answers ok/not ok with only what is new since the call began: reload result, error lines (for web, including the browser console), failed requests, and a screenshot. Prefer this as the default step after every edit.
clear_network_requestscan change or delete dataForget every captured request for a session, in the daemon and in the app itself. Useful before reproducing one specific call.
dashboard_actionBaton card actioncan change or delete dataUsed by the Baton card: refresh; catalog (projects and devices for New run); run a project target on a device; boot a device; logs, reload, restart, pause, resume, front, screenshot, stop or dismiss (forget a finished run) one session; or reload/restart/pause/resume/front/stop all. Returns the card state.
diagnoseread-onlySearch bounded log and network evidence across projects. Defaults to errors only and 20 findings. Findings are grouped by session; repeats of the same error are counted once (×N), and a stack is collapsed to its first app frames. Pass a trace ID and errorsOnly=false to follow a request across Node services. Use exact session IDs to limit scope.
forget_sessioncan change or delete dataRemove stopped sessions from the list. Running sessions must be stopped first. Use all=true to clear every stopped session.
get_network_requestread-onlyOne captured request in full: headers, timeline events, and optionally the bodies. Fetched from the running app, so it works only while the session is alive. Flutter debug/profile sessions only, while the app is running. Captures dart:io HttpClient traffic (package:http and dio with its default adapter) — NOT cupertino_http/cronet_http native clients, WebSockets or raw sockets. Traffic those make is invisible here, not absent.
hot_reloadHot reload a session, keeping app state. Flutter only. Returns code 0 on success; a non-zero code carries the compile error.
hot_restartHot restart a session, dropping app state. For web dev servers and plain processes this reboots the process.
inspect_projectread-onlyRead 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_checkoutsread-onlyList git checkouts this project can run from: This checkout, linked worktrees, local branches, remotes.
list_devicesread-onlyList connected devices, simulators and emulators available to Flutter. Use boot_device to start one that is not running.
list_network_requestsread-onlyList HTTP requests the app has made, newest last. One line each: id, method, status (… while in flight), duration in ms, response bytes, URI. Flutter debug/profile sessions only, while the app is running. Captures dart:io HttpClient traffic (package:http and dio with its default adapter) — NOT cupertino_http/cronet_http native clients, WebSockets or raw sockets. Traffic those make is invisible here, not absent.
list_proofsread-onlyList past proof bundles, newest first.
list_run_historyread-onlyList past and current runs persisted on disk -- survives daemon restarts. Each line is runId, name, status (live / exit N / ?), how long ago it started, and its log size. Pass a runId to read_logs to see its output.
Show 14 more tools
list_sessionsread-onlyList running sessions with their status, capabilities, URLs and device.
list_targetsread-onlyList everything runnable in a project: launch.json configs, package.json dev scripts, Flutter entrypoints.
read_launch_configread-onlyRead a project's launch.json exactly as written -- comments, formatting and all -- plus the configurations it defines and any pre-flight problems with them. Returns file: null when the project has none; a file that does not parse still returns its text, with the parse errors.
read_logsread-onlyRead recent output from a session, newest last. Use filter to grep for an error: it searches all retained output and returns the last `tail` matching lines. Works for a currently running session id, and for a past run (its own session id, or the runId from list_run_history) even after it has stopped or the daemon has restarted.
run_proofRun proof verification and return a zip with screenshots, network call counts, response times and logs.
run_targetStart 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_workflowLaunch 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.
screenshotread-onlyCapture the screen of a running session so the visual result of a change can be checked. iOS simulators and Android devices capture the device screen. Web sessions (Vite, Next.js, Flutter web...) load their URL in a headless Chrome, Edge or Brave at the viewport given, and also report the page's console errors and failed requests; they capture at 1x unless scale=2. A capture proves an image was written, not that the UI is right: look at it.
session_summaryread-onlyCheap structured overview -- call this before deciding what to do next.
set_debug_flagToggle 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_dashboardShow Batonread-onlyShow a live Baton control panel in the chat: every running app with its simulator or URL, status, CPU and memory; per-app Reload, Restart, Pause/Resume, Bring to front, Logs, Screenshot and Stop; quick actions for all apps; and New run (pick a project, target and device, or boot a simulator). Use when the user asks to see or show Baton, their runs or simulators.
stop_sessioncan change or delete dataStop one session, or every running session with all=true.
wait_forread-onlyBlock until a session reaches a state. Use after run_target or hot_restart instead of polling read_logs.
write_launch_configcan change or delete dataOVERWRITE a project's launch.json with the text given. The whole file is replaced, so read it with read_launch_config first and send the full text back, or comments and configurations you did not mean to touch are lost. Invalid JSONC is refused before anything is written. Returns the path written and any pre-flight issues in the result.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 12, 2026 (16 days ago)
- Last release
- Oct 11, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.kanumuri9593/baton- Version
- 0.2.10
- Auth
- No auth
- Packages
- npm baton-run
- License
- MIT
- Repository
- github.com/kanumuri9593/Baton
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Baton MCP server. Agent Mart. https://agentmart.dev/connectors/kanumuri9593-baton (last updated 2026-10-24)