Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HTMCP_ADB_PATHNoPath to the adb executable. If not set, the server will search in known emulator directories and the system PATH.
HTMCP_CERT_DIRNoDirectory to store the CA certificate. Defaults to ./certs.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 bodyFormat (auto/text/json/hex/protobuf/base64).

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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