
Impersonate Mcp
Switch impersonate-proxy's TLS/HTTP2 fingerprint, UA, client IP and upstream; verify and fetch.
- GitHub stars
- 47
- tools
- 8
- transport
- STDIO
- env vars
- 3
- last updated
- Nov 8, 2026
Tools
8 toolsPublic tool metadata for what this MCP can expose to an agent.
get_configReturn the active runtime settings (TLS preset, `custom_hello`, User-Agent, client IP, upstream state, host filter, `http2_fingerprint`, `fetch_allow_hosts`)
Return the active runtime settings (TLS preset, `custom_hello`, User-Agent, client IP, upstream state, host filter, `http2_fingerprint`, `fetch_allow_hosts`)
No parameter schema in public metadata yet.
set_tls_presetSwitch the TLS preset (`chrome`, `firefox`, `safari`, …). The HTTP/2 fingerprint switches with it
Switch the TLS preset (`chrome`, `firefox`, `safari`, …). The HTTP/2 fingerprint switches with it
No parameter schema in public metadata yet.
set_custom_helloSet an arbitrary ClientHello (cipher suites, curves, versions, extensions) and switch the preset to `custom`
Set an arbitrary ClientHello (cipher suites, curves, versions, extensions) and switch the preset to `custom`
No parameter schema in public metadata yet.
set_user_agentSet the User-Agent (`""` = leave as is, `"auto"` = derive from the preset)
Set the User-Agent (`""` = leave as is, `"auto"` = derive from the preset)
No parameter schema in public metadata yet.
set_client_ipSet the spoofed client IP (`""` = off)
Set the spoofed client IP (`""` = off)
No parameter schema in public metadata yet.
set_upstreamEnable/disable the upstream proxy and/or select one by name (or `rotate` / `random`)
Enable/disable the upstream proxy and/or select one by name (or `rotate` / `random`)
No parameter schema in public metadata yet.
verify_fingerprintFetch `tls.peet.ws/api/all` through the proxy and summarise `ja3_hash`, `ja4`, `akamai_fingerprint`, `user_agent` and `ip`
Fetch `tls.peet.ws/api/all` through the proxy and summarise `ja3_hash`, `ja4`, `akamai_fingerprint`, `user_agent` and `ip`
No parameter schema in public metadata yet.
fetch_urlFetch any `http(s)` URL through the proxy — with the current TLS preset, User-Agent, client IP, upstream and host filter — and return `status`, `http_version`, `final_url`, `redirects`, `headers`, `body` (text only; `Set-Cookie` values are omitted), `body_truncated`, `elapsed_...
Fetch any `http(s)` URL through the proxy — with the current TLS preset, User-Agent, client IP, upstream and host filter — and return `status`, `http_version`, `final_url`, `redirects`, `headers`, `body` (text only; `Set-Cookie` values are omitted), `body_truncated`, `elapsed_...
No parameter schema in public metadata yet.
Sponsors
Configuration
IMPERSONATE_MGMT_URLdefault: http://127.0.0.1:8081Management API URL of the running impersonate-proxy.
IMPERSONATE_CA_CERTPath to the proxy ca.crt, so verify_fingerprint and fetch_url trust its MITM certificate.
IMPERSONATE_READ_ONLYdefault: falseSet to true to hide every tool that changes proxy settings.
Readme
impersonate-proxy
A local MITM proxy that lets you control TLS fingerprints (JA3/JA4), HTTP/2 fingerprints, HTTP header order, User-Agent, and source IP headers — all from a single YAML config file.
A Chrome extension is included for toggling the proxy and switching fingerprint profiles directly from the browser toolbar without restarting the proxy.
Intended for authorized security testing of WAF bot-detection systems. Route curl, browsers, or Playwright through the proxy to observe how different fingerprint combinations are classified.
How it works
Details
- Repository
- github.com/ytkoka/impersonate-proxy
- Category
- Search & Web Crawling
- Package
https://github.com/ytkoka/impersonate-proxy/releases/download/mcp-v0.1.0/impersonate-mcp_0.1.0_darwin_amd64.mcpb- Transport
- STDIO
- Registry
- MCP registry, active