httptoolkit-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTMCP_ADB_PATH | No | Path to the adb executable. If not set, the server will search in known emulator directories and the system PATH. | |
| HTMCP_CERT_DIR | No | Directory to store the CA certificate. Defaults to ./certs. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| proxy_startA | Start the Mockttp HTTPS interception proxy. Generates/loads a stable CA. Point your emulator's proxy at : and install the CA to capture traffic. |
| proxy_stopA | Stop the interception proxy. |
| proxy_statusB | Report proxy state, captured count and local IPs. |
| get_ca_certificateA | Return the proxy CA certificate (PEM) and its file path for device installation. |
| list_trafficC | List captured exchanges (newest first) with optional filters. |
| search_trafficB | Full-text search across URLs, headers and bodies of captured exchanges. |
| get_exchangeA | Full detail for one exchange: request line, request/response headers, request & response cookies, and both bodies. Bodies render per |
| get_ws_messagesC | List a WebSocket exchange's messages, rendered in the chosen format. |
| get_bodyB | Return just the request or response body of an exchange in a chosen format. |
| decode_protobufA | Schema-less protobuf decode that keeps ALL interpretations per field (message/string/bytes) and transparently decompresses embedded gzip/zlib/zstd and unwraps gRPC frames. Input a captured exchange body, or paste raw hex/base64. Use output=json to get a structured tree for building automations. |
| classify_blobA | Tell what an unknown blob most likely is (entropy + magic bytes + JSON/protobuf/base64/gRPC probes) so you don't try to decode ciphertext. Flags encrypted transports (e.g. WhatsApp Noise/E2E) that passive MITM can't decode. Input an exchange body or raw hex/base64. |
| protobuf_diffA | Decode two exchanges' bodies as protobuf and diff them by field path - surfaces which fields change between requests (cursors, tokens, ids) vs stay constant. Ideal for reverse-engineering an API for automation. |
| clear_trafficA | Drop all captured exchanges. |
| export_harC | Export captured traffic (optionally filtered) to a .har file. |
| import_harA | Load a .har file (e.g. exported from HTTP Toolkit or a browser) into the store so it can be listed, searched and inspected like live traffic. |
| add_mock_ruleB | Reply to matching requests with a fixed response (passes through everything else). |
| add_error_ruleA | Break matching requests: reset/close the connection or hang (timeout). |
| add_delay_ruleA | Delay matching requests by N ms, then pass them through normally. |
| add_redirect_ruleB | Transparently forward matching requests to a different absolute URL. |
| add_modify_request_ruleB | Rewrite headers/body on matching requests, then pass through. |
| list_rulesB | List active interception rules. |
| remove_ruleC | Remove a rule by id. |
| clear_rulesB | Remove all rules. |
| adb_devicesB | List connected adb devices/emulators. |
| adb_connectA | Connect to an emulator over TCP. Accepts a host:port or a preset name (nox, memu, bluestacks, ldplayer). See list_emulator_presets. |
| list_emulator_presetsA | Known emulators with their default adb connect host:port. |
| adb_reverseA | Tunnel the proxy port back to the device over the adb channel (device 127.0.0.1: -> host). Use this for emulators behind their own NAT (e.g. MEmu, where the gateway is the emulator's virtual router, not the host) - then set the device proxy to 127.0.0.1:. Bypasses host firewall/NAT. |
| adb_install_certA | Push the proxy CA into the device's SYSTEM trust store via adb (no Magisk needed on Nox/MEmu). Trusted by all apps and invisible to user-store anti-MITM checks. Fails on hard-pinned apps. |
| adb_set_proxyC | Route device traffic through host:port via adb (no WiFi UI needed). |
| adb_clear_proxyC | Remove the device global proxy via adb. |
| adb_setupA | Convenience: start proxy (if needed), install the system CA, and set the device proxy in one step. By default uses an adb reverse tunnel (127.0.0.1), which works on NAT'd emulators like MEmu without needing a reachable host IP. Set hostIp to use a LAN IP instead. |
| adb_enable_transparentA | Redirect ALL device TCP :80/:443 to the proxy via iptables DNAT - captures every app's traffic on L3, including apps that ignore the system proxy (e.g. VK). No companion app, no VPN dialog. Requires root (Nox/MEmu out of the box). Defaults to a loopback target via adb reverse tunnel (works behind emulator NAT); pass hostPort to DNAT to a reachable LAN host. |
| adb_disable_transparentA | Remove the iptables DNAT rules (and reverse tunnel if loopback). Flushes nat OUTPUT. |
| adb_transparent_statusC | Show the device's nat OUTPUT chain (active DNAT redirects). |
| adb_setup_transparentA | Start proxy (if needed), install the system CA, and enable transparent iptables capture - the closest adb-only equivalent of HTTP Toolkit's VPN mode, with zero on-device dialogs. Catches apps that ignore the system proxy (e.g. VK). Defaults to loopback + reverse tunnel (works behind emulator NAT); pass hostIp for a directly reachable host. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FL1NEE/httptoolkit_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server