Busymate DevTools
Was dieses MCP kann
Captures, inspects, exports, and debugs HTTPS traffic from devices and applications, with request and response inspection, proxy controls, device health, audit trails, breakpoints, and fleet monitoring.
Tools
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'host': {'type': 'string'}, 'limit': {'type': 'number'}, 'since': {'type': 'string'}, 'before': {'type': 'string'}, 'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['fingerprint'], 'properties': {'fingerprint': {'type': 'string', 'description': 'The finding fingerprint (from list_advisor_findings).'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'at': {'type': 'string', 'description': "The row's `at` timestamp (ISO, from list_audit_events) — partition-prune hint."}, 'id': {'type': 'number', 'description': 'The audit_log row id (from list_audit_events).'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'pac_port': {'type': ['string', 'number'], 'description': "The device's PAC/manual-proxy port, as a number (10807), a PAC hostname (10807.busymate.net), a PAC URL (http://10807.busymate.net/), or host:port."}, 'deviceName': {'type': 'string', 'description': 'Device display name (fallback)'}, 'device_uuid': {'type': 'string', 'description': 'Device UUID (preferred)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'entry_id': {'type': 'number', 'description': "The entry's numeric id — the `id` field of a list_entries / search_entries row (preferred)."}, 'request_id': {'type': 'string', 'description': 'The capture request id (alternative locator); the newest matching entry is returned.'}, 'max_body_chars': {'type': 'number', 'description': 'Per-body character budget (default 8000, cap 40000). Anything beyond is reported as truncated, never silently dropped.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'after': {'type': 'string'}, 'hosts': {'type': 'array', 'items': {'type': 'string'}}, 'before': {'type': 'string'}, 'origin': {'type': 'string'}, 'methods': {'type': 'array', 'items': {'type': 'string'}}, 'search_q': {'type': 'string'}, 'device_uuids': {'type': 'array', 'items': {'type': 'string'}}, 'status_class': {'type': 'number'}, 'workspace_id': {'type': 'string'}, 'workspace_slug': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['correlation_id'], 'properties': {'correlation_id': {'type': 'string', 'description': 'The correlation_id returned by send_push when actionable:true.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The recording id.'}, 'all': {'type': 'boolean', 'description': 'devices:view operators only — reach a recording you do not own.'}, 'with_url': {'type': 'boolean', 'description': 'Also mint 600s signed playback + download URLs for the mp4.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'all_users': {'type': 'boolean', 'description': "billing:view/admin only — return EVERY account's subscriptions instead of just the caller's."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "The to-do's uuid (from list_todos)."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'metric': {'type': 'string', 'description': "Usage metric (default 'captured_entries')."}, 'user_id': {'type': 'string', 'description': 'billing:view/admin only — a specific target user.'}, 'all_users': {'type': 'boolean', 'description': "billing:view/admin only — return EVERY account's usage."}, 'since_days': {'type': 'number', 'description': 'Look back this many days (1–365, default 30).'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'id': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['host'], 'properties': {'host': {'type': 'string', 'description': "FULL hostname (must contain a dot), e.g. 'identity.doordash.com'. Bare brand words are rejected."}, 'after': {'type': 'string', 'description': "Optional — only requests with ts >= this ISO date/datetime, e.g. '2025-05-20'."}, 'limit': {'type': 'number', 'description': 'Max requests (default 8, capped at 15).'}, 'before': {'type': 'string', 'description': "Optional — only requests with ts < this ISO date/datetime ('before/older than <date>')."}, 'method': {'type': 'string', 'description': 'Optional HTTP method filter, e.g. POST.'}, 'status': {'type': 'number', 'description': 'Optional exact response status filter, e.g. 200.'}, 'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}, 'path_contains': {'type': 'string', 'description': "Optional — only requests whose path contains this substring (e.g. 'login', 'token', 'auth')."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free-text substring over the finding title + kind + fingerprint.'}, 'kind': {'type': 'string', 'description': 'Filter by taxonomy kind slug (e.g. audit.denied_spike, advisor.security).'}, 'limit': {'type': 'number', 'description': 'Max rows (default 50, cap 200).'}, 'before': {'type': 'string', 'description': "Keyset cursor — the previous page's last last_seen_at (from next_cursor)."}, 'severity': {'enum': ['info', 'warning', 'alert'], 'type': 'string', 'description': 'Filter by severity.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free-text substring across action/actor_label/target_label/actor_id/target_id/surface/db_session_user.'}, 'all': {'type': 'boolean', 'description': "audit:view operators only — read EVERY actor's events (the fleet trail) instead of just YOUR OWN."}, 'asc': {'type': 'boolean', 'description': 'Oldest-first (default false = newest-first).'}, 'limit': {'type': 'number', 'description': 'Max rows (default 100, cap 500).'}, 'since': {'type': 'string', 'description': 'ISO timestamp — window start (default 24h ago; clamped to ≥ 90 days ago).'}, 'until': {'type': 'string', 'description': 'ISO timestamp — window end (default now).'}, 'status': {'type': 'string', 'description': 'Exact status filter (ok|denied|error|timeout).'}, 'actor_q': {'type': 'string', 'description': 'Substring match on actor_label or actor_id.'}, 'surface': {'type': 'string', 'description': 'Exact surface filter (mcp|busybro|dashboard|rest|db|auth|proxy|daemon|cron|ios|cdp|farm|edge:<fn>).'}, 'action_q': {'type': 'string', 'description': 'Substring match on the action (tool name / route / db:op:table).'}, 'actor_id': {'type': 'string', 'description': 'Exact actor id (OAuth sub / device uuid / db role). A FOREIGN actor requires audit:view (all:true).'}, 'target_q': {'type': 'string', 'description': 'Substring match on target_label/target_id/target_kind.'}, 'before_at': {'type': 'string', 'description': "Keyset cursor — the previous page's last `at` (from next_cursor)."}, 'before_id': {'type': 'number', 'description': "Keyset cursor — the previous page's last `id` (from next_cursor)."}, 'target_id': {'type': 'string', 'description': 'Exact target_id (paired with target_kind = the history deep-link).'}, 'request_id': {'type': 'string', 'description': 'Exact request_id (uuid) — correlate one action across layers.'}, 'direct_only': {'type': 'boolean', 'description': 'Only DIRECT-Postgres writes (is_direct_pg=true — the tamper signal).'}, 'target_kind': {'type': 'string', 'description': "Exact target_kind (e.g. 'devices', 'roles', 'settings_device')."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'all': {'type': 'boolean', 'description': 'devices:view operators only — held breakpoints for EVERY device instead of just YOUR OWN.'}, 'limit': {'type': 'number', 'description': 'Max rows (default 100, cap 500).'}, 'include_resumed': {'type': 'boolean', 'description': 'Include already-resumed rows (the recent history) — default false lists only currently-held pauses.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'host': {'type': 'string', 'description': 'Exact bare host.'}, 'level': {'enum': ['baseline', 'debug'], 'type': 'string', 'description': 'Telemetry tier.'}, 'limit': {'type': 'number', 'description': 'Max events (default 50, cap 200).'}, 'since': {'type': 'string', 'description': 'ISO — only events with at >= this.'}, 'until': {'type': 'string', 'description': 'ISO — only events with at <= this.'}, 'action': {'type': 'string', 'description': 'Exact action verb (the dotted kind is category.action, e.g. capture + health).'}, 'reason': {'type': 'string', 'description': 'Exact machine reason slug (e.g. no_ca_key).'}, 'boot_id': {'type': 'string', 'description': "One process lifetime — pair with seq to walk a single boot's ordered stream."}, 'outcome': {'type': 'string', 'description': 'Exact outcome (armed|inert|ok|fail|deny|start|stop|decrypted|…).'}, 'user_id': {'type': 'string', 'description': "auth.users.id (#1160) stamped AT EMIT — 'everything this user did on the device', across an account switch (never re-attributed to the current owner)."}, 'category': {'type': 'string', 'description': 'Exact category, ACROSS ALL PRODUCERS. iOS emits: capture|cert|config|tunnel|app|auth|device|permission|control|applink|mitm|push. PAC/proxy emits: process|net|capture|config|tunnel|mitm|push. Server-authored: telemetry|audit_mode. `ui` is emitted by NOTHING and is retained here only so a query for it returns an honest empty rather than an error (#1232).'}, 'failures': {'type': 'boolean', 'description': 'true → only outcome ∈ fail|deny|inert (the indexed failure path).'}, 'producer': {'type': 'string', 'description': "Emitting PROCESS (detail.producer). 'ios' = the projection-eligible set (producer IS NULL or 'ios'), so legacy pre-#1208 rows are included; 'proxy-server' = the PAC/proxy publisher; any other lowercase slug matches exactly (a future producer needs no redeploy). Omit for EVERY producer."}, 'before_at': {'type': 'string', 'description': 'Keyset cursor (from next_cursor) — pass with before_id.'}, 'before_id': {'type': 'number', 'description': 'Keyset cursor (from next_cursor) — pass with before_at.'}, 'deviceName': {'type': 'string'}, 'install_id': {'type': 'string', 'description': "Per-INSTALL uuid (#1160), destroyed on reinstall — 'every move since this install' (device.uuid is stable across reinstall, boot_id is per tunnel boot)."}, 'request_id': {'type': 'string', 'description': 'Correlation/trace id (#1390): JOINs public.audit_log.request_id — pull every device event for one traced operation (a pair attempt, sign-in) and its server-side audit consequence together.'}, 'session_id': {'type': 'string', 'description': 'The GoTrue session id the event was emitted under (#1160).'}, 'device_uuid': {'type': 'string'}, 'with_detail': {'type': 'boolean', 'description': 'true → include the redacted detail jsonb per row (≤4 KB each).'}, 'process_role': {'type': 'string', 'description': 'Emitting PROCESS ROLE (#1160, first-class column): app | tunnel | proxy-server. app-vs-tunnel is an INDEXED predicate, no jsonb scan.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'all': {'type': 'boolean', 'description': 'devices:view operators only — list EVERY device (the whole fleet) instead of just YOUR OWN.'}, 'limit': {'type': 'number', 'description': 'Max devices per page (default 100, cap 500). The byte budget may return fewer — check has_more.'}, 'order': {'enum': ['last_seen', 'uuid'], 'type': 'string', 'description': '"last_seen" (default) = most-recently-seen first, best for browsing. "uuid" = the immutable key — the ONLY ordering that guarantees a complete, skip-free enumeration across pages.'}, 'cursor': {'type': 'string', 'description': "Resume token from the previous page's `next_cursor`. Must be used with the SAME order and scope it was issued for."}, 'fields': {'enum': ['slim', 'full'], 'type': 'string', 'description': '"slim" (default) = identity + status + PAC, null keys omitted. "full" adds model, os_version and the parent linkage (~2x bytes per row).'}, 'max_bytes': {'type': 'number', 'description': 'Page byte budget for the devices array (default 24000, min 2000, max 60000). Lower it for a small tool-result window.'}, 'owner_email': {'type': 'string', 'description': "OPERATOR cross-user scope (devices:view required, re-verified in-handler fail-closed): list the devices owned by the account(s) whose email matches this substring (case-insensitive) — the dashboard /devices owner-email search's MCP twin. A fleet subset, gated exactly like all:true; rejected for a non-operator. No account matched → an honest empty page (scope 'fleet', 0 rows), never an unscoped fleet read."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max rows (default 500, cap 1000).'}, 'device_uuid': {'type': 'string', 'description': "Filter to one device's groups."}, 'service_group_id': {'type': 'string', 'description': "Filter to one service group's devices."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'host': {'type': 'string', 'description': "EXACT hostname filter (e.g. 'api.busymate.net'). Use host_contains for a substring."}, 'after': {'type': 'string', 'description': 'Only entries with ts >= this ISO date/datetime.'}, 'limit': {'type': 'number', 'description': 'Max rows (default 30, cap 100).'}, 'order': {'enum': ['newest', 'oldest'], 'type': 'string', 'description': "Sort direction (default 'newest')."}, 'before': {'type': 'string', 'description': 'Only entries with ts < this ISO date/datetime.'}, 'method': {'type': 'string', 'description': 'HTTP method filter, case-insensitive exact (e.g. GET, POST).'}, 'status': {'type': 'string', 'description': "Response status filter: an exact code ('404') or a class ('2xx'|'4xx'|'5xx')."}, 'since_id': {'type': 'number', 'description': 'Only entries with id > this — the live-tail append cursor (pass the max id you already rendered).'}, 'deviceName': {'type': 'string', 'description': 'Scope to one device by display name.'}, 'device_uuid': {'type': 'string', 'description': 'Scope to one device by uuid.'}, 'owner_email': {'type': 'string', 'description': "OPERATOR cross-user scope (devices:view required, re-verified): another user's account email (exact, case-insensitive) — the feed covers THAT user's devices."}, 'host_contains': {'type': 'string', 'description': "Substring hostname filter, case-insensitive (e.g. 'doordash' matches every *.doordash.com host)."}, 'owner_user_id': {'type': 'string', 'description': 'OPERATOR cross-user scope by user id (uuid) — the deterministic spelling the live-traffic widget re-poll uses.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max invoices to return (1–200, default 50).'}, 'all_users': {'type': 'boolean', 'description': "billing:view/admin only — return EVERY account's invoices."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'all': {'type': 'boolean', 'description': "audit:view operators only — EVERY reporter's reports instead of just YOUR OWN."}, 'limit': {'type': 'number', 'description': 'Max rows (default 100, cap 500).'}, 'status': {'enum': ['pending', 'filed', 'closed'], 'type': 'string', 'description': 'Filter by report status.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'all': {'type': 'boolean', 'description': 'devices:view operators only — every visible recording instead of just YOUR OWN.'}, 'limit': {'type': 'number', 'description': 'Max rows (default 50, cap 200).'}, 'session_id': {'type': 'string', 'description': 'Only recordings captured during this screen-share session.'}, 'device_uuid': {'type': 'string', 'description': 'Only recordings of this device.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'workspace_id': {'type': 'string'}, 'workspace_slug': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Only todos carrying this tag.'}, 'limit': {'type': 'number', 'description': 'Max rows (default 200, cap 500).'}, 'source': {'enum': ['user', 'claude', 'ask', 'advisor'], 'type': 'string', 'description': 'Filter by who added it.'}, 'status': {'enum': ['open', 'in_progress', 'done', 'blocked'], 'type': 'string', 'description': 'Filter by status.'}, 'priority': {'enum': ['low', 'medium', 'high', 'urgent'], 'type': 'string', 'description': 'Filter by priority.'}, 'include_done': {'type': 'boolean', 'description': 'Include completed todos (default false hides them).'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': '1–100, default 20.'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string', 'description': 'queued | running | done | failed | cancelled | active'}, 'device_uuid': {'type': 'string'}, 'workspace_id': {'type': 'string'}, 'workspace_slug': {'type': 'string', 'description': "Defaults to 'default'."}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'all': {'type': 'boolean', 'description': "List every account's workspaces instead of just your own. Requires the workspaces.view capability."}, 'include_archived': {'type': 'boolean'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string'}, 'after': {'type': 'string'}, 'limit': {'type': 'number'}, 'order': {'enum': ['newest', 'oldest'], 'type': 'string'}, 'before': {'type': 'string'}, 'device_uuid': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['fingerprint'], 'properties': {'format': {'enum': ['markdown', 'llm', 'links'], 'type': 'string', 'description': 'Emphasis hint (default markdown); all fields returned.'}, 'fingerprint': {'type': 'string', 'description': 'The finding fingerprint.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'host': {'type': 'string', 'description': 'Omit for top hosts; pass a full hostname to get its top path-bases.'}, 'after': {'type': 'string', 'description': 'Only entries with ts >= this ISO date/datetime.'}, 'limit': {'type': 'number', 'description': 'Max groups (default 25, capped 100).'}, 'before': {'type': 'string', 'description': 'Only entries with ts < this ISO date/datetime.'}, 'deviceName': {'type': 'string', 'description': "The device's name — an alternative to device_uuid; one of the two is REQUIRED."}, 'device_uuid': {'type': 'string', 'description': 'REQUIRED unless deviceName is given — the device to summarize.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'deviceName': {'type': 'string', 'description': "The device's name — an alternative to device_uuid; one of the two is REQUIRED."}, 'device_uuid': {'type': 'string', 'description': 'REQUIRED unless deviceName is given — the device to test.'}, 'window_minutes': {'type': 'number', 'description': 'Lookback for the traffic + decryption checks (default 60, min 5, max 1440).'}}, 'additionalProperties': False}
Letzte Tool-Änderungen
Ähnliche MCP-Server
l0-py-blocks-mcp
Manages Selise Blocks Cloud projects, schemas, data gateways, authentication, MFA, roles, permissions, CAPTCHA, SSO credentials, …
Utility Matrix
Offers calculators and analyzers for cloud costs, SRE and DORA metrics, Kubernetes and Docker configuration, secrets detection, v…
Agentic Endpoints
Offers pay-per-call utilities for text compression, web scraping, PDF parsing, meeting transcript storage and search, encrypted s…
domainee
Provides domain, DNS, TLS, email-authentication, HTTP, WHOIS, availability, and website diagnostics for SaaS custom-domain setups.
Webhook Toolkit
Creates webhook endpoints, captures and replays requests, configures responses, and signs or verifies webhook payloads.
Stigmer
Discovers verified AWS method contracts, generates least-privilege IAM policies, and evaluates AWS authorization before and after…
Datoka Hooks
Relays webhook events to verified receivers with idempotency, retries, signed delivery observations, receipt verification, and de…
RDAP API
Looks up normalized RDAP registration and allocation data for domains, IPs, autonomous systems, entities, nameservers, and TLDs.