Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
proxy_startA

Start the HTTPS MITM proxy. Auto-generates a CA certificate. Returns port, URL, cert fingerprint, and setup instructions for the target device.

proxy_stopA

Stop the MITM proxy. Traffic history and CA certificate are retained. Interceptor targets (browsers, containers, spawned processes) activated by THIS MCP session are deactivated; targets belonging to other MCP sessions keep running, though the proxy they were pointed at is gone until someone calls proxy_start again. Pass all=true to deactivate every session's targets (the pre-3.5.3, process-wide behaviour). Over stdio there is one session, so every target is deactivated either way.

proxy_statusA

Get proxy running state, port, upstream config, rule count, and traffic count.

proxy_get_ca_certA

Get the CA certificate PEM and SPKI fingerprint for installing on the target device.

proxy_set_upstreamB

Set a global upstream proxy for all outgoing traffic. Supports socks4://, socks5://, http://, https://, and pac+http:// URLs.

proxy_clear_upstreamA

Remove the global upstream proxy. Traffic will go directly to target servers.

proxy_set_host_upstreamA

Set a per-host upstream proxy override. Traffic to this hostname will use the specified proxy instead of the global one.

proxy_remove_host_upstreamA

Remove a per-host upstream proxy override.

proxy_add_ruleB

Add an interception rule with a matcher and handler. Rules are evaluated by priority (ascending), first match wins.

proxy_update_ruleC

Modify an existing interception rule.

proxy_remove_ruleC

Delete an interception rule.

proxy_list_rulesA

List all interception rules sorted by priority.

proxy_test_rule_matchA

Test which interception rules would match a request, with detailed per-field pass/fail diagnostics and effective winner by priority.

proxy_enable_ruleA

Enable a disabled interception rule.

proxy_disable_ruleA

Disable an interception rule without removing it.

proxy_list_trafficB

List captured HTTP exchanges with optional filters. Returns paginated results.

proxy_get_exchangeB

Get full details of a captured HTTP exchange including headers and body previews.

proxy_search_trafficA

Full-text search across URLs, headers, and body previews of captured traffic.

proxy_clear_trafficA

Clear all captured traffic from the buffer.

proxy_inject_headersA

Add or overwrite headers on matching traffic. Creates a passthrough rule with header transforms.

proxy_rewrite_urlB

Rewrite request URLs matching a pattern. Creates a passthrough rule with body match-replace on the URL.

proxy_mock_responseC

Return a mock response for matched requests. Creates a mock rule.

proxy_get_tls_fingerprintsA

Get JA3/JA4 client fingerprints and JA3S server fingerprint for a specific captured exchange.

proxy_list_tls_fingerprintsB

List unique client JA3/JA4 fingerprints across captured traffic with occurrence counts.

proxy_set_ja3_spoofA

Legacy: enable fingerprint spoofing (deprecated, use proxy_set_fingerprint_spoof with a preset). The ja3 parameter is accepted but ignored — the default Chrome preset is used.

proxy_set_fingerprint_spoofA

Enable outgoing TLS + HTTP/2 fingerprint spoofing via impit (native TLS impersonation, no Docker required). Supports browser presets that select an impit target (rustls, matching real Chrome/Firefox).

proxy_list_fingerprint_presetsA

List available browser fingerprint presets for use with proxy_set_fingerprint_spoof.

proxy_check_fingerprint_runtimeA

Check fingerprint spoofing backend readiness without sending traffic.

proxy_clear_ja3_spoofB

Disable fingerprint spoofing.

proxy_get_tls_configA

Get current TLS capture and spoofing configuration.

proxy_enable_server_tls_captureA

Toggle server-side JA3S capture. When enabled, outgoing TLS connections are intercepted to extract the server's negotiated TLS parameters.

interceptor_listA

List all interceptors with their availability and active targets. Shows the Browser, Terminal and Docker interceptors.

interceptor_statusB

Get detailed status of a specific interceptor, including all active targets and their details.

interceptor_deactivate_allA

Kill ALL active interceptors across all types. Emergency cleanup — stops all browser instances, kills spawned processes, cleans Docker.

interceptor_browser_launchA

Launch cloakbrowser (stealth Chromium) with proxy flags and SPKI certificate trust. Built-in source-level fingerprint patches + humanize mode. Driven via Playwright — locator-based tools replace CDP.

interceptor_browser_navigateB

Navigate the browser target's page via Playwright and optionally wait for matching host traffic to be captured by the proxy.

interceptor_browser_closeA

Close a browser instance launched by interceptor_browser_launch.

interceptor_spawnA

Spawn a command with proxy env vars pre-configured (HTTP_PROXY, HTTPS_PROXY, SSL_CERT_FILE, NODE_EXTRA_CA_CERTS, CURL_CA_BUNDLE, and 15+ more). Traffic automatically routes through the MITM proxy.

interceptor_killA

Kill a spawned process by target ID. Also retrieves final stdout/stderr output.

interceptor_docker_attachA

Inject proxy env vars and CA certificate into a Docker container. Two modes: 'exec' (inject into running container) or 'restart' (stop + restart with proxy config).

interceptor_docker_detachA

Remove proxy configuration from a Docker container and clean up injected files.

interceptor_browser_snapshotA

Take an ARIA accessibility snapshot of the bound page (YAML-formatted role tree). Great for LLM-driven page understanding without parsing HTML.

interceptor_browser_screenshotA

Take a screenshot of the bound page. Saves to file_path if provided; otherwise reports byte count without embedding the image.

interceptor_browser_list_consoleB

List console messages buffered since the browser was launched. Types: log, info, warning, error, debug, etc.

interceptor_browser_list_cookiesB

List cookies from the browser context with pagination and truncated value previews.

interceptor_browser_get_cookieA

Get one cookie by cookie_id with full value (subject to a hard cap to keep output bounded).

interceptor_browser_list_storage_keysA

List localStorage/sessionStorage keys for the current origin with pagination and truncated value previews.

interceptor_browser_get_storage_valueB

Get one localStorage/sessionStorage value by item_id.

interceptor_browser_list_network_fieldsA

List request/response header fields from proxy-captured traffic since the browser was launched, with pagination and truncation.

interceptor_browser_get_network_fieldB

Get one full header field value from proxy-captured traffic by field_id.

interceptor_browser_evaluateA

Execute a JS file in the page and return its result. Source is loaded from script_path (absolute path). The file body is wrapped in an arrow function receiving __args (so the file may return value; directly and access the optional args object). Runs in Playwright's isolated utility world (different window, same DOM). Reads are invisible to the page; mutations to shared prototypes/globals are observable by page scripts. For main-world patching use interceptor_browser_inject_init_script. Rate-limit before reCAPTCHA: each call emits CDP traffic that behavioural scorers count.

interceptor_browser_inject_init_scriptA

Inject a JS file as an init script (Playwright page.addInitScript). Runs before any page script on every subsequent navigation/frame. Runs in the isolated utility world — no DOM artifact; patches to shared prototypes/globals reach the page main world via utility-world sharing. Does NOT affect the currently loaded document — navigate again to apply.

interceptor_browser_add_script_tagA

Append a element to the current page (Playwright page.addScriptTag). WARNING: injects a real DOM node visible to MutationObserver, document.scripts, and CSP. Avoid for anti-bot stealth — prefer interceptor_browser_inject_init_script (no DOM node) when you need page-scope execution.

proxy_session_startB

Start persistent on-disk capture for the current proxy run.

proxy_session_stopA

Stop persistent on-disk capture and finalize the active session.

proxy_session_statusA

Get current persistent capture runtime status.

proxy_list_sessionsA

List recorded sessions in storage.

proxy_get_sessionB

Get manifest/details for a specific recorded session.

proxy_import_harA

Import a HAR file from disk into a new persisted session for querying, findings, and replay.

proxy_query_sessionA

Query indexed session exchanges by metadata (URL, hostname, method, status) with filters and pagination. Does NOT search body content — use proxy_search_session_bodies for that.

proxy_search_session_bodiesA

Search inside HTTP request/response bodies stored in a persistent session. Decompresses and searches actual body content — useful for finding specific text, prices, API responses, error messages, etc. in recorded traffic. Returns context snippets around each match (like grep -C).

proxy_get_session_handshakesC

Summarize TLS handshake/fingerprint availability (JA3/JA4/JA3S) for session exchanges.

proxy_get_session_exchangeB

Get one exchange from a recorded session by seq or exchange ID.

proxy_replay_sessionB

Replay selected requests from a recorded/imported session. Default mode is dry_run for safety.

proxy_export_harC

Export a recorded session (or filtered subset) to HAR format.

proxy_delete_sessionA

Delete a recorded session from disk.

proxy_session_recoverA

Rebuild session indexes from records after crash/corruption.

humanizer_moveB

Move mouse to target coordinates via the backend Playwright page.

humanizer_clickA

Click an element. Pass one of: selector (CSS/XPath), role + optional name, text, label, or raw x+y coords as fallback. Locator-based calls auto-wait for visible.

humanizer_typeB

Type text into the focused element via page.keyboard.type.

humanizer_scrollA

Dispatch a wheel event. Raw page.mouse.wheel — single event, not multi-step.

humanizer_idleA

Simulate idle behavior with mouse micro-jitter and occasional micro-scrolls. Keeps the page 'alive' to avoid idle detection by bot-detection scripts.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
proxy_status
proxy_ca_cert
proxy_traffic_summary
proxy_interceptors
proxy_sessions
proxy_browser_primary
proxy_browser_targets

TDQS

B3.4/5.0

Scored across 72 tools

Disambiguation4/5

Tools are mostly grouped by clear domains (proxy, session, interceptor, humanizer, fingerprinting), and descriptions clarify near-neighbor cases like traffic search vs session body search. However, some pairs could still be confused, such as proxy_get_exchange vs proxy_get_session_exchange vs interceptor_browser_get_network_field, and the convenience rule creators overlap conceptually with proxy_add_rule.

Naming Consistency4/5

The naming follows a strong snake_case verb_noun pattern with consistent prefixes like proxy_, interceptor_browser_, and humanizer_. Minor inconsistencies exist: clear vs remove for upstreams, the deprecated proxy_set_ja3_spoof alongside proxy_set_fingerprint_spoof, and proxy_enable_server_tls_capture described as a toggle despite its name.

Tool Count2/5

72 tools is a very large surface for an MCP server, even for a broad proxy/interception platform. Many tools are highly specialized and could be consolidated, such as convenience rule wrappers, session query variants, and the deprecated JA3 tool.

Completeness5/5

The toolset covers the full proxy lifecycle: start/stop/status, CA management, upstream configuration, rules, traffic capture and search, sessions, HAR import/export, TLS fingerprinting, browser automation, humanization, and process/Docker interception. There are no major workflow dead ends; list-style tools fill gaps where dedicated getters are absent.

Maintenance

ActivityMaintained
ResponsivenessSlow