Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SHAH_PROXY_ALLOWED_DIRSNoComma-separated list of additional directories that file-access tools may read/write. The list is fixed at startup.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
proxy_startA

Bring up the mockttp HTTPS MITM proxy. Returns the LAN IP : port to type into the device's manual Wi-Fi proxy settings. Unmatched requests pass through to the real headend. If the device is an Android emulator, pass hostRewrites to map its 10.0.2.2 alias (means 'host loopback', only valid inside the emulator) to 127.0.0.1 so Metro/dev-server passthrough can reach the Mac.

proxy_stopA

Stop the proxy. Transform rules are auto-saved to transforms.json for next restart. Device proxy may still be set on the device — use proxy_health to detect this.

proxy_mock_responseA

Add an in-memory mock rule. Matches on HTTP method + URL pattern (glob/substring by default against the full URL; set regex=true for a raw regex). Body is supplied inline or via a fixture file on disk. Provide either 'body' or 'bodyFile', not both. Optionally simulate a slow server: delayMs waits before responding (processing time), bandwidthKbps streams the body at a KB/s rate (slow network / big object from far away).

proxy_list_mocksB

View the active in-memory mock rules.

proxy_clear_mocksA

Remove one mock rule by id, or all rules if no id is given.

proxy_mock_transformA

Intercept a request, forward it to the real backend, parse the JSON response, apply in-place patches (path + optional where + set), and return the modified response. Use [] for array wildcards in path, where for conditional matching, and __NOW__ / __NOW_PLUS_<N><UNIT>__ macros for dynamic timestamps.

proxy_list_transformsB

View the active intercept-and-transform rules.

proxy_clear_transformsB

Remove one transform rule by id, or all transform rules if no id is given.

proxy_request_transformA

Intercept a request matching method+URL, modify it (headers, query params, body), forward to the real backend, and return the response. Use setHeaders/removeHeaders to modify headers, setQuery/removeQuery for URL params, and body to replace the request body.

proxy_list_request_transformsB

View the active request transform rules.

proxy_clear_request_transformsA

Remove one request transform rule by id, or all rules if no id is given.

proxy_update_request_transformA

Idempotently upsert a request transform rule by (method + url + regex) key. If a rule with the same key exists, its properties are replaced.

proxy_list_trafficA

Confirm a rule matched the intended request by inspecting captured traffic. Each entry includes transformOutcome (patched|no_match|not_json|error) and patchesApplied count. Sensitive headers (authorization, cookies, api keys) are redacted by default — set includeSensitiveHeaders=true to see raw values. Use includeRequestBodyPreviews=true to see POST/PUT body content. Use includeResponseBodyPreviews=true for response samples. Optionally export to JSON or HAR (replaces the Charles log-export workflow).

ca_infoA

Report the CA in use (directory, source, fingerprint, and whether cert.pem/key.pem are present AND match) plus per-platform instructions. There are two distinct trust paths: (1) app-bundled trust for TV / debug builds — the cert is compiled into the app (res/raw/cacert) and the README's 'No device-side CA install, no root, no Magisk' workflow applies; (2) explicit device CA install for phones/browsers — install once via Settings, or adbPush=true over USB (this does NOT apply to TV builds). Use proxy_health.caStatus for the same validity checks without the instructions.

proxy_healthA

Full preflight/diagnostics. Always returns: running, version, capabilities, caStatus (dir, source, fingerprint, whether cert.pem/key.pem match), rule counts, captured-traffic count, and warnings. While the proxy is stopped it also returns detectedLanIp, whether the default port is free, and suggestedStart (ready-to-use proxy_start arguments). Use this first — it tells you everything needed to get running without shelling out.

proxy_scopeA

Restrict which traffic is retained in the proxy log (proxy_list_traffic). The proxy still intercepts and serves all hosts — this only controls what is kept, so the agent's context stays small during bug investigation. Pass 'hosts' to retain only matching hostnames (their subdomains are included, and '*.example.com' wildcards are allowed); omit 'hosts' or pass [] to clear scoping and retain all traffic again. Returns the active scope and current captured-traffic count. Already-captured entries are unaffected.

proxy_update_transformA

Idempotently upsert a transform rule by (method + url + regex) key. If a rule with the same key exists, its patches are replaced. Use this instead of clear+re-add to avoid auto-review friction.

proxy_save_transformsA

Save both response and request transform rules to a JSON file for reuse after a proxy restart. Reload with proxy_load_transforms.

proxy_probe_transformA

Fetch a URL directly, apply the given patches, and return a sample of modified fields (before/after values) plus match count. Useful for verifying patch paths and wire values before calling proxy_update_transform. Does NOT require the proxy to be running.

proxy_load_transformsB

Load transform rules previously saved with proxy_save_transforms. Uses idempotent upsert (requires proxy to be running).

proxy_whats_newA

Report the running server version, the changelog for recent releases (optionally since a specific version), and whether a newer version is published on npm. Use this to learn what changed in recent releases — e.g. when in-repo skills seem out of date — without leaving the MCP.

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/shahfazliz/proxy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server