MCP

Connect your AI agent to your traffic

Point Claude or Cursor at mcp.busymate.dev. They see the same live feed you do.

An AI client window typing a tag command connects over one OAuth-keyed line to the central mcp.busymate.dev node, which fans out to an arc of tool-family chips — browser, phones, capture, TestFlight, audit, billing — with a confirm shield guarding the phones chip. { } mcp.busymate.dev browser phones capture testflight audit billing > tag 500s oauth
Add to Claude Code
bash
# Claude Code — add the server, then authorize in your browser:
claude mcp add --transport http busymate-devtools https://mcp.busymate.dev
Or any MCP client — config
json
{
  "mcpServers": {
    "busymate-devtools": {
      "url": "https://mcp.busymate.dev"
    }
  }
}

The control plane

The same control plane

Role-scoped, confirm-gated, audit-logged — everything the dashboard can do.

Full dashboard parity

Every read and write the dashboard performs has a matching tool. If a human can do it in the UI, an agent can do it over MCP — parity is a standing rule here, not a roadmap item.

Real superpowers, not CRUD

Remote Chrome control. Android and iOS farm automation with live mirroring. TestFlight beta admin. Billing. A queryable audit log. These aren't wrappers around a database — they're the platform's actual capabilities.

OAuth 2.1, done right

Dynamic client registration plus PKCE — no pasted API keys. The one token you get back also authenticates REST, WebSockets and Edge Functions: one identity across every surface.

Safe enough for production

Every call is scoped to the caller's role by the database itself. Destructive tools demand an explicit confirm. And everything — every tool, every agent — lands in the audit trail.

Try it before you wire it

The dashboard's in-app MCP console fires real tool calls with your own logged-in token and shows live responses. No Postman, no mock server — the actual API, right there in the app.

How it works

URL to tool call in four steps

The whole handshake is standard: Streamable HTTP, OAuth 2.1, JSON-RPC 2.0. Nothing proprietary to learn.

  1. 01

    Add one URL

    Point your client at mcp.busymate.dev. Discovery — initialize, tools/list, ping — answers before you even authenticate, so clients and registries can see the surface immediately.

  2. 02

    Authorize in the browser

    On the first real call your client registers itself (Dynamic Client Registration) and opens Busymate's sign-in. PKCE protects the exchange — no API keys, no secrets in config files.

  3. 03

    Call tools

    tools/call is JSON-RPC 2.0 over Streamable HTTP. Every call runs as you: the database checks your role on every row it returns.

  4. 04

    Confirm the dangerous ones

    Reads just run. Writes that change or destroy state require an explicit confirm parameter, and raw-power executors are admin-only — an agent can't wipe what you wouldn't.

A real tools/call — search your captures
json
POST https://mcp.busymate.dev   # JSON-RPC 2.0, Authorization: Bearer <token>
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_entries",
    "arguments": { "query": "checkout", "limit": 20 }
  }
}

What's inside

A map of the 454 tools

The complete surface, straight from the registry: 55 families covering every tool, each with its full list of real tool names. Every read and write the dashboard performs is in here.

list_devices · get_device · get_device_status

Devices & fleet — list, inspect, rename, transfer and unpair devices; flip capture on and off; test PAC connectivity; resume held breakpoints and resend requests. Destructive writes require confirm.

All 15 tools
  • list_devices
  • get_device
  • get_device_status
  • rename_device
  • delete_device
  • transfer_device_ownership
  • unpair_device
  • vpn_on_device
  • vpn_off_device
  • test_pac_connection
  • open_sheet_device
  • enroll_device_capture
  • resend_request
  • breakpoint_continue
  • list_breakpoint_events
get_device_health · list_device_events · set_device_audit_mode

Device observability — the one-query capture-health read (engine, CA trust, decrypt reasons), the filterable per-device telemetry stream, and the opt-in TTL-expiring verbose audit tier.

All 4 tools
  • get_device_health
  • list_device_events
  • set_device_audit_mode
  • list_device_audit_modes
request_screen_share · stop_screen_share · list_screen_share_recordings

Customer screen share — request a consent-prompted live view of a device, end it from either side, and list, replay or delete the saved recordings.

All 5 tools
  • request_screen_share
  • stop_screen_share
  • list_screen_share_recordings
  • get_screen_share_recording
  • delete_screen_share_recording
search_entries · list_entries · get_entry

Captured traffic — search, filter, tag and inspect full request/response pairs, summarize a device's traffic profile, export HAR, and delete or wipe (confirm-gated, irreversible).

All 13 tools
  • search_entries
  • list_entries
  • get_entry
  • get_entry_count
  • get_entry_counts_freshness
  • inspect_requests
  • summarize_device_traffic
  • tag_entry
  • untag_entry
  • export_har
  • delete_entries
  • wipe_entries
  • list_wipe_jobs
get_scripts_global · get_scripts_device · set_scripts_global

Scripting engine — sandboxed JavaScript that rewrites or synthesizes matching traffic inline, at global, service, user and device tiers, with a no-write dry run. Writes are admin-only: this is arbitrary-code power.

All 9 tools
  • get_scripts_global
  • get_scripts_device
  • set_scripts_global
  • set_scripts_device
  • set_scripts_user
  • set_scripts_service
  • dry_run_script
  • get_script_engine_enabled
  • set_script_engine_enabled
get_block_rules_global · get_block_rules_device · set_block_rules_global

Block rules & breakpoints — auto-block or mock requests by method and host/path wildcard, and set the patterns that pause matching exchanges for inspection. Writes alter live traffic, so they require confirm.

All 10 tools
  • get_block_rules_global
  • get_block_rules_device
  • set_block_rules_global
  • set_block_rules_device
  • set_block_rules_user
  • set_block_rules_service
  • set_breakpoint_patterns_global
  • set_breakpoint_patterns_device
  • set_breakpoint_patterns_user
  • set_breakpoint_patterns_service
get_inspect_all_requests · set_inspect_all_requests · get_mitm_all_hosts

Capture switches — inspect-all-requests, decrypt-all-hosts MITM mode, and the paused-domains list, each a read/write pair.

All 6 tools
  • get_inspect_all_requests
  • set_inspect_all_requests
  • get_mitm_all_hosts
  • set_mitm_all_hosts
  • get_paused_domains
  • set_paused_domains
get_global_settings · get_device_settings · set_global_connection_type

Settings — the effective global and per-device settings documents, connection type at global, user and device tiers, and the iOS Live Activity pill text.

All 6 tools
  • get_global_settings
  • get_device_settings
  • set_global_connection_type
  • set_device_connection_type
  • set_user_connection_type
  • set_live_activity_message
get_env_global · get_env_device · set_env_var_global

Environment variables — read, set, delete and bulk-import the global and per-device variable bags scripts and rules interpolate.

All 8 tools
  • get_env_global
  • get_env_device
  • set_env_var_global
  • set_env_var_device
  • delete_env_var_global
  • delete_env_var_device
  • import_env_global
  • import_env_device
list_proxies · set_device_external_proxy · get_device_egress_status

Egress control — the upstream proxy pool (credentials redacted), per-device external-proxy routing, live egress-IP status, TTL'd manual overrides and the fail posture.

All 7 tools
  • list_proxies
  • set_device_external_proxy
  • get_device_egress_status
  • set_manual_egress_ip
  • clear_manual_egress_ip
  • get_device_egress_fail_posture
  • set_device_egress_fail_posture
browser_targets · browser_open · browser_eval

Remote browsers — open pages, evaluate scripts, screenshot and snapshot a connected Chrome, behind a per-device opt-in. Raw Chrome DevTools Protocol passthrough is admin-only.

All 9 tools
  • browser_targets
  • browser_open
  • browser_eval
  • browser_screenshot
  • browser_snapshot
  • browser_cdp
  • set_device_cdp_control
  • set_device_capture_enabled
  • set_device_autostart
list_browser_profiles · get_browser_profile · upsert_browser_profile

Browser profiles — CRUD over custom Chromium-family launch profiles authored in the dashboard and synced to the bmc CLI.

All 4 tools
  • list_browser_profiles
  • get_browser_profile
  • upsert_browser_profile
  • delete_browser_profile
list_cdp_instances · start_device · stop_device

CDP daemon — start, stop and provision named browser-capture devices on a remote bmc machine, read daemon status and logs, and hot-update the daemon without losing capture.

All 9 tools
  • list_cdp_instances
  • start_device
  • stop_device
  • create_device
  • update_cdp_host
  • get_cdp_daemon_status
  • get_cdp_logs
  • restart_cdp_daemon
  • update_cdp_daemon
provision_farm_phone · list_farm_devices · farm_list_phones

Android farm — provision phones as child devices, list the fleet, screenshot, dump UI hierarchy, and read capture status, automations, recordings, schedules and daemon logs.

All 10 tools
  • provision_farm_phone
  • list_farm_devices
  • farm_list_phones
  • farm_capture_status
  • farm_screenshot
  • farm_dump_ui
  • farm_list_automations
  • farm_list_recordings
  • farm_list_schedules
  • get_farm_logs
farm_mobile_list_devices · farm_mobile_list_apps · farm_mobile_list_elements

Farm phone driving — tap, swipe, type, press buttons, launch and terminate apps, screenshot, record and read crash logs on real farm phones; app install/uninstall is admin-only.

All 24 tools
  • farm_mobile_list_devices
  • farm_mobile_list_apps
  • farm_mobile_list_elements
  • farm_mobile_get_screen_size
  • farm_mobile_get_orientation
  • farm_mobile_screenshot
  • farm_mobile_list_crashes
  • farm_mobile_get_crash
  • farm_mobile_tap
  • farm_mobile_double_tap
  • farm_mobile_long_press
  • farm_mobile_swipe
  • farm_mobile_type
  • farm_mobile_press_button
  • farm_mobile_open_url
  • farm_mobile_launch_app
  • farm_mobile_terminate_app
  • farm_mobile_set_orientation
  • farm_mobile_start_recording
  • farm_mobile_stop_recording
  • farm_mobile_install_app
  • farm_mobile_uninstall_app
  • farm_mobile_install_from_appstore
  • farm_device_logs
farm_find_and_tap · farm_set_setting · farm_set_wifi

Farm actions — find-and-tap by content, change settings and Wi-Fi, manage app lifecycle, grant permissions, pull files, and run, replay or schedule recorded automations (confirm-gated).

All 11 tools
  • farm_find_and_tap
  • farm_set_setting
  • farm_set_wifi
  • farm_app_lifecycle
  • farm_grant_permission
  • farm_uninstall_app
  • farm_pull_file
  • farm_run_automation
  • farm_replay_recording
  • farm_schedule
  • farm_remove_schedule
farm_run_shell · farm_run_adb · farm_install_app

Farm raw power — shell, adb, arbitrary input, proxy and airplane toggles, reboot and file push. Admin-only, confirm-gated, and excluded from the free-text assistant entirely.

All 8 tools
  • farm_run_shell
  • farm_run_adb
  • farm_install_app
  • farm_input
  • farm_set_proxy
  • farm_set_airplane
  • farm_reboot
  • farm_push_file
provision_ios_phone · list_ios_phones · ios_list_phones

iOS farm — the iPhone analog: provision, list, screenshot, dump UI, drive taps and input, manage apps and orientation, onboard the on-device control runner, and start a live mirror.

All 16 tools
  • provision_ios_phone
  • list_ios_phones
  • ios_list_phones
  • ios_screenshot
  • ios_dump_ui
  • ios_list_apps
  • ios_find_and_tap
  • ios_input
  • ios_app_lifecycle
  • ios_open_url
  • ios_set_orientation
  • ios_install_app
  • ios_uninstall_app
  • setup_ios_devicekit
  • enroll_farm_phone_app
  • ios_start_mirror
farm_start_mirror · set_farm_mirror_transport · farm_get_variables

Live mirror & control locks — start a low-latency phone mirror with touch input over a single-use scoped relay token, tune the transport, manage automation variables, and acquire or release exclusive device control.

All 7 tools
  • farm_start_mirror
  • set_farm_mirror_transport
  • farm_get_variables
  • farm_set_variables
  • acquire_device_control
  • release_device_control
  • admin_force_release_device_control
get_farm_phone_health · farm_retry_phone · farm_restart_tunnel

Farm phone health & recovery — the per-phone status/why/fix model, plus the software-first repair ladder: retry, tunnel restart, remote reboot, per-port USB power-cycle and the composed fleet heal.

All 7 tools
  • get_farm_phone_health
  • farm_retry_phone
  • farm_restart_tunnel
  • power_cycle_farm_hub
  • cycle_farm_phone_port
  • heal_farm_fleet
  • ios_reboot
get_farm_daemon_status · restart_farm_daemon · update_farm_daemon

Farm daemon & components — live daemon status, restart and self-update, tunnel reaping, and the per-component install/update/onboard lifecycle across one phone or the whole fleet.

All 8 tools
  • get_farm_daemon_status
  • restart_farm_daemon
  • update_farm_daemon
  • farm_reap_tunnels
  • update_farm_component
  • update_farm_fleet
  • onboard_farm_fleet
  • farm_component_action
list_workspaces · get_workspace · create_workspace

Workspaces & tabs — shared workspaces with retention policy, plus the tab model: create, rename, filter and select exactly what the dashboard shows.

All 12 tools
  • list_workspaces
  • get_workspace
  • create_workspace
  • rename_workspace
  • delete_workspace
  • set_workspace_retention
  • list_tabs
  • create_tab
  • rename_tab
  • delete_tab
  • set_tab_filters
  • set_tab_selected_entry
create_snapshot · list_snapshots · download_snapshot

Snapshots — create, list and download point-in-time captures of a workspace's traffic.

list_service_groups · get_service_group · upsert_service_group

Service groups & tags — group hosts into named services with linked agents, manage device membership, and the tag vocabulary entries are labeled with.

All 11 tools
  • list_service_groups
  • get_service_group
  • upsert_service_group
  • delete_service_group
  • set_service_group_agents
  • list_device_service_groups
  • add_device_to_service_group
  • remove_device_from_service_group
  • list_tags
  • upsert_tag
  • delete_tag
list_todos · get_todo · create_todo

To-dos — the owner-scoped shared task board: list, create, update, complete and delete, live on every surface.

All 6 tools
  • list_todos
  • get_todo
  • create_todo
  • update_todo
  • complete_todo
  • delete_todo
list_notifications · mark_notification_read · get_notification_prefs

Notifications — the in-app notification center: read and archive, per-type channel preferences with mute windows, and self-notify.

All 7 tools
  • list_notifications
  • mark_notification_read
  • get_notification_prefs
  • set_notification_prefs
  • create_notification
  • notify_users
  • list_web_push_subscriptions
list_push_tokens · send_push · get_push_response

Device push — list APNs tokens, send notifications (including actionable Accept/Reject prompts), and read back the device's answer.

list_advisor_findings · get_advisor_finding · share_advisor_finding

Advisor Center & issue reports — browse enriched findings with evidence and deep links, turn one into a GitHub issue or a to-do, and file or list one-tap issue reports.

All 7 tools
  • list_advisor_findings
  • get_advisor_finding
  • share_advisor_finding
  • fix_advisor_finding_issue
  • fix_advisor_finding_todo
  • report_issue
  • list_issue_reports
get_telegram_link · list_telegram_links · link_telegram

Telegram linking — link up to five accounts to the Telegram bot, switch the active one, and unlink (admin variant included).

All 5 tools
  • get_telegram_link
  • list_telegram_links
  • link_telegram
  • unlink_telegram
  • admin_unlink_telegram
list_busybro_sessions · get_busybro_session · create_busybro_session

Assistant sessions — the AI assistant's multi-session chat threads, uploaded attachments (short-lived signed URLs), and shared-conversation links.

All 8 tools
  • list_busybro_sessions
  • get_busybro_session
  • create_busybro_session
  • rename_busybro_session
  • delete_busybro_session
  • list_busybro_attachments
  • get_busybro_share
  • delete_busybro_share
list_memories · save_memory · forget_memory

Assistant memory — personal long-term memory plus the governed team store: propose, approve, reject and edit shared facts, attribution, and the per-user GDPR erasure path.

All 13 tools
  • list_memories
  • save_memory
  • forget_memory
  • get_memory_stats
  • list_global_memories
  • propose_global_memory
  • approve_global_memory
  • reject_global_memory
  • update_global_memory
  • list_memory_contributors
  • admin_list_user_memories
  • admin_forget_user_memory
  • gdpr_forget_user
list_skills · get_skill · upsert_skill

Assistant skills — the loadable instruction-and-tool bundles the assistant activates mid-chat, with per-skill files and an AI-drafted starting point. Writes are admin-only.

All 10 tools
  • list_skills
  • get_skill
  • upsert_skill
  • delete_skill
  • set_skill_enabled
  • draft_skill
  • list_skill_files
  • get_skill_file
  • upsert_skill_file
  • delete_skill_file
list_repo_skills · edit_repo_skill · set_repo_skill_enabled

Repo skills — the git-committed SKILL.md corpus: read it, and edit, toggle or remove entries as reviewed commits. Writes are admin-only git write-back.

All 4 tools
  • list_repo_skills
  • edit_repo_skill
  • set_repo_skill_enabled
  • remove_repo_skill
list_agents · get_agent · upsert_agent

Assistant agents — the specialist-agent registry task delegation and service groups reference. Writes are admin-only.

All 4 tools
  • list_agents
  • get_agent
  • upsert_agent
  • delete_agent
import_resource · list_imports · get_import

Knowledge imports — queue a repo or uploaded file into the team knowledge store; the worker fetches, audits, embeds and de-duplicates, with live progress and bulk undo.

All 4 tools
  • import_resource
  • list_imports
  • get_import
  • delete_import
get_busybro_usage · get_busybro_settings · set_busybro_settings

Assistant configuration — token and cost analytics, the global on/off switch, and the brain's model and behavior knobs (admin-only to write).

All 5 tools
  • get_busybro_usage
  • get_busybro_settings
  • set_busybro_settings
  • get_busybro_enabled
  • set_busybro_enabled
list_plugins · get_plugin · install_plugin

Plugins — browse, install and uninstall packaged extensions; publishing and removal are admin-only.

All 7 tools
  • list_plugins
  • get_plugin
  • install_plugin
  • uninstall_plugin
  • upsert_plugin
  • set_plugin_install_enabled
  • delete_plugin
list_directory · list_directory_listings · upsert_directory_listing

Directory & installs — the published catalogue of skills and plugins, operator-curated listings, per-user skill installs, and the install defaults new users receive.

All 9 tools
  • list_directory
  • list_directory_listings
  • upsert_directory_listing
  • set_directory_listing_status
  • delete_directory_listing
  • list_install_defaults
  • set_install_default
  • install_skill
  • uninstall_skill
list_mcp_servers · upsert_mcp_server · delete_mcp_server

Downstream MCP servers — register, enable and inspect the external MCP servers the assistant can call through.

All 5 tools
  • list_mcp_servers
  • upsert_mcp_server
  • delete_mcp_server
  • set_mcp_server_enabled
  • inspect_mcp_server
list_my_mcp_connectors · upsert_my_mcp_connector · delete_my_mcp_connector

Personal connectors — your own outbound MCP connectors with a full OAuth 2.1 client leg (discovery, DCR, PKCE); tokens land write-only in the vault, never readable back.

All 9 tools
  • list_my_mcp_connectors
  • upsert_my_mcp_connector
  • delete_my_mcp_connector
  • set_my_mcp_connector_enabled
  • set_my_mcp_connector_secret
  • set_my_connector_oauth_client_secret
  • probe_mcp_connector
  • connect_my_mcp_connector
  • disconnect_my_mcp_connector
get_my_account · delete_my_account · set_my_display_name

My account — your profile, devices, subscription and endpoints in one self-scoped read, display and preferred names, per-user assistant settings, and self-service account deletion (confirm-gated).

All 6 tools
  • get_my_account
  • delete_my_account
  • set_my_display_name
  • set_my_preferred_name
  • get_my_busybro_settings
  • set_my_busybro_settings
list_roles · create_role · update_role

Roles & users — RBAC roles and capabilities, per-user role assignment, the configurable default signup role, and the admin user roster with exact-email lookup.

All 9 tools
  • list_roles
  • create_role
  • update_role
  • delete_role
  • set_user_role
  • set_default_role
  • list_users
  • get_user
  • admin_delete_user
list_access_grants · create_access_grant · revoke_access_grant

Access grants & impersonation — time-boxed capability grants, effective-permission preview, and audited support impersonation with an explicit end.

All 6 tools
  • list_access_grants
  • create_access_grant
  • revoke_access_grant
  • preview_effective_permissions
  • impersonate_user
  • end_impersonation
list_audit_events · get_audit_event

Audit trail — the filterable, paginated who-did-what-when ledger of every action on every surface, agents included, with full per-event detail.

get_stats · get_status

Live stats & status — platform-wide capture statistics and infrastructure health at a glance.

get_subscription · list_invoices · get_usage

Billing — your subscription, invoices and metered usage, checkout and customer-portal sessions, and the value-blind Stripe admin reads and non-secret config writes (cancel is confirm-gated).

All 13 tools
  • get_subscription
  • list_invoices
  • get_usage
  • create_checkout_session
  • get_stripe_config
  • list_prices
  • list_customers
  • get_webhook_events
  • get_billing_settings
  • set_default_price
  • set_billing_settings
  • report_usage_now
  • cancel_subscription
list_testflight_groups · list_testflight_testers · get_testflight_tester

TestFlight beta admin — groups, testers, invitations and App Store review status, with invite, remove and group-membership writes (confirm-gated).

All 14 tools
  • list_testflight_groups
  • list_testflight_testers
  • get_testflight_tester
  • list_testflight_invitations
  • list_testflight_users
  • list_testflight_user_invitations
  • get_app_store_status
  • invite_testflight_tester
  • delete_testflight_tester
  • add_testflight_tester_to_group
  • remove_testflight_tester_from_group
  • send_testflight_invitation
  • invite_testflight_user
  • cancel_testflight_user_invitation
list_locales · upsert_locale · delete_locale

Localization — locales, namespaces, keys and messages, coverage stats and the missing-translation report, machine translation, bulk import and catalog publishing.

All 21 tools
  • list_locales
  • upsert_locale
  • delete_locale
  • set_default_locale
  • list_i18n_namespaces
  • upsert_i18n_namespace
  • list_i18n_keys
  • upsert_i18n_key
  • delete_i18n_key
  • list_i18n_messages
  • upsert_i18n_message
  • delete_i18n_message
  • get_i18n_settings
  • set_i18n_settings
  • get_i18n_manifest
  • get_i18n_stats
  • get_i18n_missing_report
  • get_i18n_catalog
  • import_i18n
  • machine_translate_i18n
  • publish_i18n_catalog
list_api_projects · create_api_project · update_api_project

Observed API — turn captured traffic into an evidence-backed API model: projects, immutable revisions, reviewable path candidates, drift detection and deterministic OpenAPI 3.1 export.

All 13 tools
  • list_api_projects
  • create_api_project
  • update_api_project
  • refresh_api_project
  • set_api_project_schedule
  • set_api_project_archived
  • delete_api_project
  • get_api_revision
  • list_api_candidates
  • review_api_candidate
  • export_api_spec
  • generate_api_asset
  • list_api_drift
list_federation_clients · upsert_federation_client · delete_federation_client

Federated SSO — the closed, admin-onboarded partner-client registry; secrets are vault names only, never values.

list_app_secrets · create_app_secret · update_app_secret

App secrets — the vault-backed secret store: names and metadata are listable, values are write-only and never read back on any surface. Mutations are admin-only.

All 4 tools
  • list_app_secrets
  • create_app_secret
  • update_app_secret
  • delete_app_secret
list_demo_users · get_demo_status · create_demo_user

Demo accounts — provision, reset and regenerate the guided demo users and their sample content.

All 6 tools
  • list_demo_users
  • get_demo_status
  • create_demo_user
  • reset_demo_user
  • delete_demo_user
  • regenerate_demo_content
get_test_status · run_test_suite · cancel_test_run

Quality — run, re-run and cancel test suites, and read live results, history and the feature-to-test coverage maps.

All 8 tools
  • get_test_status
  • run_test_suite
  • cancel_test_run
  • rerun_test_suite
  • list_test_suites
  • get_test_coverage
  • get_test_path_coverage
  • get_test_suite_history
wip_list · wip_update · wip_clear_done

Work-in-progress board — the live projection of open work: list, update, history and clear-done.

All 4 tools
  • wip_list
  • wip_update
  • wip_clear_done
  • wip_task_history
db_select · db_insert · db_update

Raw database & realtime — direct table CRUD, RPC and broadcast. The escape hatch: admin-only and excluded from the free-text assistant entirely.

All 7 tools
  • db_select
  • db_insert
  • db_update
  • db_delete
  • db_rpc
  • list_tables
  • realtime_broadcast

The gating model

Power, gated honestly

An agent with this much reach needs real guardrails, not a disclaimer. These are the actual gates, in the order a call meets them.

OAuth 2.1DCR + PKCE

The only way in. Dynamic Client Registration plus PKCE issues the token; there is no pasted API key and no session-token path.

initialize · tools/list · pingpre-auth

Discovery is served before login with a scoped read-only public profile, so clients can enumerate the surface — but tools/call and every write stay OAuth-gated.

confirm: truewrites

Every destructive or state-changing tool demands an explicit confirm parameter — an agent has to state what it's about to do before it does it.

adminOnly · powerdenylisted

Raw-power executors (direct database access, raw broadcast) are admin-only and excluded from the free-text assistant entirely.

audit_logevery call

Every tool call lands in the audit trail with its actor and arguments — and the trail itself is queryable and live-subscribable.

One platform, five surfaces

If the dashboard can, so can your agent

Parity is a standing rule here: every capability aligns across the dashboard, MCP, REST, WebSockets and BusyBro — same data, same permissions, checked on every ship.

FAQ

Before you connect

Which MCP clients work with Busymate DevTools?

Any client that speaks the Streamable-HTTP transport with OAuth: Claude Code, Claude.ai and Claude Desktop, Cursor, VS Code, ChatGPT developer-mode connectors, Continue, Cline, Zed, or your own agent. The install page has copy-paste configs for each.

Do I need an API key?

No. Access is OAuth 2.1 with Dynamic Client Registration and PKCE — your client registers itself and you authorize in the browser. The token it receives also authenticates REST, WebSockets and Edge Functions.

What's the connection URL?

https://mcp.busymate.dev — the canonical host. The older mcp.busymate.net keeps serving the same server forever, and OAuth issues host-matched metadata on both, so an existing client config never breaks.

Can an agent break something?

Only what your own role allows, and only with an explicit confirm on destructive tools. Raw-power executors are admin-only, and every call is written to the audit trail.

Can I see the tools before authorizing?

Yes — discovery (initialize, tools/list, ping) answers pre-auth with a scoped read-only public profile, so registries and clients can enumerate the surface before OAuth consent. Calling anything still requires authorization.

Is this the same data as the dashboard?

The same rows, live. MCP is one of five parity surfaces over one platform — the dashboard, MCP, REST, WebSockets and BusyBro expose the same capabilities, by standing rule.

Connect your MCP client

One click for Cursor or VS Code, or paste the config. Authorize once, then call any of the 454 tools.

Ask your mate