Busymate DevTools
by busymate.dev · dev.busymate/busymate-devtools
Capture, inspect & debug HTTPS traffic across iOS, Android, browsers & backends — 304 MCP tools.
- Category
- Browser automation
- Connection
- Remote (HTTP)
- Tools
- 53 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http busymate-devtools https://mcp.busymate.dev/Claude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://mcp.busymate.dev/Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"busymate-devtools": {
"url": "https://mcp.busymate.dev/"
}
}
}Tools it offers
53 tools, as the server itself reported during our check on Oct 31, 2026.
get_product_pricingReturn the canonical Busymate DevTools plan prices and cloud phone/browser rental rates, with numeric amounts, USD currency, billing periods and https://busymate.dev/pricing as the source. Check draft, publicationStatussearch_docsSearch the public Busymate DevTools documentation (setup and how-to guides for iPhone/iPad, Android, Mac/Windows/Linux browsers and desktop apps, the dashboard, proxy, bmc CLI, MCP and API) and return the best-matching pread_docs_pageReturn the full markdown of one public Busymate DevTools documentation page with its https://docs.busymate.dev URL. Pass the slug from search_docs or list_docs_sections, e.g. "android/install". Unknown or non-public sluglist_docs_sectionsReturn the public Busymate DevTools documentation's table of contents: every section and its pages with title, slug, one-line description and https://docs.busymate.dev URL. Public read; no sign-in or account data.get_setup_stepsReturn the official step-by-step guide for setting up devices with Busymate DevTools: account, install, sign in to pair, trust the certificate, start capture and check it works. Pass platform (iphone, ipad, ios, android,list_breakpoint_eventsList HELD (paused) breakpoint exchanges — the READ side of the breakpoint-continue flow (public.breakpoint_events; a row with resumed_at NULL is a request/response the proxy is holding RIGHT NOW, waiting for breakpoint_cget_deviceGet one device row by uuid, name, OR its PAC PORT — the DIRECT resolver for a KNOWN device: when you already hold a device uuid/name (from traffic rows, audit events, another tool's result) or a per-device PAC/proxy endplist_devicesList devices, ONE PAGE at a time — YOUR OWN by default (owner-scoped to the calling account: the same reach the dashboard gives you), or the WHOLE fleet with `all:true` (devices:view operators only; re-verified server-siget_device_statusGet a device's live status: `online` is DERIVED truth (#776 — devices.last_seen_at within 90s, 150s for farm hosts; the same derivation as every other surface, so it can't latch stale), plus the device_status row (last_hget_device_healthTHE ONE QUERY (#1157/#1160): the latest capture-health projection for ONE device — one `device_health` row, no scan, no on-device access needed. Answers "is the TLS-intercept engine armed, and if not, WHY": engine_statelist_device_eventsThe MULTI-PRODUCER device TELEMETRY event stream (#1160/#1208) — every DECISION and STATE TRANSITION reported about the capture pipeline by the iOS app OR by the PAC/proxy server (public.device_events, 14-day retention,list_device_audit_modesEvery device with AUDIT-mode telemetry currently armed — device_uuid + name, enabled, expires_at + expires_in, level, categories, who armed it (set_by_label) and when (set_at). The 'standing cost is never invisible' listtest_pac_connectionPROVE whether PAC capture actually works for ONE device — the "is it really working?" answer, not "does it look configured". Runs 8 independent checks and returns a per-check verdict with a specific human fix: (1) conneclist_screen_share_recordingsList saved screen-share RECORDINGS (#1916) — operator-captured mp4s of live share streams (the dashboard viewer's Record control), saved for later reference in public.screen_share_recordings. YOUR OWN recordings by defauget_screen_share_recordingFetch ONE saved screen-share recording (#1916) by id — the metadata row plus, with `with_url:true`, a SHORT-TTL (600s) signed playback URL + a download URL for the mp4 (H.264 — plays in any <video> element / on iPhone).get_my_accountYOUR account at a glance — ONE self-scoped read returning the calling account's profile (name, display_name, email, role, sign-in providers, user_id, created_at), your per-user default connection type (own value + the glget_device_egress_statusRead a device's egress-IP set (#1432) — the device→proxy INGRESS / CONNECT-source ADMISSION IPs the proxy allowlists for it (the addresses it will ACCEPT this device's CONNECTs FROM), PLUS any manual dev overrides. Theseget_device_egress_fail_postureRead a device's PAC egress FAIL POSTURE (#1657) — what the proxy does when the device is handed the #76 PAC DIRECT fallback (its PAC-fetch source IP is not yet in the CONNECT-source admission allowlist, routine on CGNAT)get_entry_countCount entries in a workspace (workspace_id or workspace_slug) with optional device/host/method/status/search filters.list_wipe_jobsList the workspace's WIPE JOBS (public.entries_wipe_jobs, #2147) — the ONE source of truth for wipe progress, the same rows the dashboard's wipe banner renders. Each job: the EXACT device set, the narrowing predicate (hoget_entry_counts_freshnessThe ONE freshness surface for every dashboard counter (#2147): mode 'live' — entry_dh_counts is a LEDGER maintained in the write transaction of every insert / delete / wipe / partition drop and broadcast as COUNTS_DELTAsearch_entriesLOCATE captured entries by ANY keyword `q` — matched against the host/url/path AND the DECRYPTED request/response DATA: the request+response HEADERS and the request+response BODY text (#1577). Case-insensitive substring.list_entriesLIST the newest captured traffic entries as SLIM feed rows (id, ts, device, kind, request_id, host, path, method, status, contentType, url — NO bodies/headers) — the dashboard main live feed's MCP-parity read (#778). Noget_entryGet ONE captured entry's FULL detail by the id you already hold — method, URL, host, path, status, timing (duration_ms) + sizes, the request AND response HEADERS, and the request AND response BODIES (size-capped, truncatexport_harExport captured entries as a HAR 1.2 log. Optionally scope by device, host, and date range.inspect_requestsDeep-inspect FULL captured request/response detail for ONE host — method, URL, request + response HEADERS, and request + response BODIES (size-capped). The tool for reverse-engineering how a real app/API works from its asummarize_device_trafficBOUNDED traffic aggregation for ONE device — the FIRST tool to call to report what a device is doing, find the busy/flooding host, or pick a host to clean up. REQUIRES a device (`device_uuid` or `deviceName`) — a host allist_service_groupsList every service group (full rows incl. ssl_proxy_domains) with each group's primary_agent + ordered agents[] from the service_group_agents join.get_service_groupGet one service group by id or name.list_tagsList every tag (id, name, color, patterns).get_device_settingsRead settings_device for one device (device_uuid or deviceName).get_subscriptionReturn the caller's OWN Stripe subscription(s) — status/price/product/quantity/period/trial/cancel-at-period-end (from stripe_subscriptions, owner-scoped to the caller's OAuth sub). A billing:view operator (admin via gralist_invoicesList the caller's OWN Stripe invoices — status/amounts (minor units)/currency/hosted_invoice_url/period (from stripe_invoices, owner-scoped to the caller's OAuth sub), newest first. Optional `limit` (default 50, max 200)get_usageReturn the caller's OWN metered usage rollup (metric `captured_entries` = count of captured entries per device per period; from stripe_usage_events, owner-scoped to the caller's OAuth sub) aggregated by period over a winget_block_rules_deviceRead what ONE device ENFORCES — the EFFECTIVE 4-tier block-rule union (global ++ service ++ user ++ device, de-duped by id, device wins then user then service then global) plus the SERVICE list (the applied service grouplist_todosList YOUR to-dos from the /todo app (public.todos) — the shared "what to do / what's done" list you + the user both maintain. Owner-scoped to the calling account. Filters: `status` (open|in_progress|done|blocked), `priorget_todoGet ONE of YOUR to-dos by id — its full row. Owner-scoped: an id you don't own returns not-found (never reveals another user's to-do). Returns { todo }.list_advisor_findingsBrowse the ADVISOR CENTER findings (public.advisor_findings) — the advisor-monitor's deduped audit/health findings you see on the dashboard /advisor view. Filter by `severity` (info|warning|alert), `kind` (a taxonomy sluget_advisor_findingGet ONE advisor finding in FULL by its `fingerprint` (from list_advisor_findings) — with its up-to-20 resolved (already-redacted) audit EVENTS, the SCOPED /audit deep link, and the /advisor permalink, so you can act withshare_advisor_findingBuild a SHAREABLE package for ONE advisor finding — the max-context markdown + flat LLM prose + the permalink, so it can be dropped into a doc/chat/issue with full context (Finding · Analysis · Evidence · Deep links · Re
Questions
What is the Busymate DevTools MCP server?
Capture, inspect & debug HTTPS traffic across iOS, Android, browsers & backends — 304 MCP tools. It is made by busymate.dev and listed in the official MCP Registry as dev.busymate/busymate-devtools. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add Busymate DevTools to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://mcp.busymate.dev/. In Claude Code, run: claude mcp add --transport http busymate-devtools https://mcp.busymate.dev/
How do I add Busymate DevTools to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://mcp.busymate.dev/.
How do I add Busymate DevTools to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "busymate-devtools": { "url": "https://mcp.busymate.dev/" } } }
Does Busymate DevTools work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can Busymate DevTools do?
It gives your AI 53 tools, including get_product_pricing, search_docs, read_docs_page, list_docs_sections, get_setup_steps. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/dev-busymate-busymate-devtools)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/dev-busymate-busymate-devtools"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/dev-busymate-busymate-devtools.svg?theme=dark"><img src="https://chen.media/mcp/badge/dev-busymate-busymate-devtools.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Browser automation
See allPlaywright MCPVerified maker
@microsoftPlaywright Tools for MCP
Screenrove: UI Design Reference & Screenshots (free Mobbin alternative)
screenrove.comReal SaaS UI screenshots for coding agents: onboarding flows, pricing pages, design inspiration.
Launch Shots
launchshots.comTurn your app's screens into editable App Store and Google Play screenshot sets, from your agent.
Play Face to Face
playfacetoface.comCreate instant multiplayer browser-game rooms friends join from a link. No account or app needed.
VXLVERSE
vxlverse.comTurn a story idea into a 3D game that plays in the browser, and get a link that opens it.
LKJ — four-digit short links for TV browsers
lkj.cxCreate four-digit short URLs for TV and console browsers. Free beta, no account or API key.