Skip to main content
Glama

proxy_set_ja3_spoof

Enable JA3 fingerprint spoofing for HTTPS requests to bypass TLS fingerprint detection, using Chrome preset with custom user agent and host filtering.

Instructions

Legacy: enable JA3 spoofing (deprecated, use proxy_set_fingerprint_spoof). Custom JA3 strings are ignored by the curl-impersonate backend; the request will use the default Chrome preset.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ja3YesJA3 fingerprint string (ignored by curl-impersonate backend — use proxy_set_fingerprint_spoof with a preset instead)
user_agentNoUser-Agent header to use with spoofed requests
host_patternsNoOnly spoof requests to hostnames containing these substrings. Empty = spoof all HTTPS.

Implementation Reference

  • The tool 'proxy_set_ja3_spoof' is registered and defined in 'src/tools/tls.ts'. It is a legacy wrapper that uses 'proxyManager.setJa3Spoof' to configure JA3 spoofing.
    server.tool(
      "proxy_set_ja3_spoof",
      "Legacy: enable JA3 spoofing (deprecated, use proxy_set_fingerprint_spoof). Custom JA3 strings are ignored by the curl-impersonate backend; the request will use the default Chrome preset.",
      {
        ja3: z.string().describe("JA3 fingerprint string (ignored by curl-impersonate backend — use proxy_set_fingerprint_spoof with a preset instead)"),
        user_agent: z.string().optional().describe("User-Agent header to use with spoofed requests"),
        host_patterns: z.array(z.string()).optional().describe("Only spoof requests to hostnames containing these substrings. Empty = spoof all HTTPS."),
      },
      async ({ ja3, user_agent, host_patterns }) => {
        try {
          await proxyManager.setJa3Spoof({
            ja3,
            userAgent: user_agent,
            hostPatterns: host_patterns,
          });
    
          return {
            content: [{
              type: "text" as const,
              text: JSON.stringify({
                status: "success",
                message: "JA3 spoofing enabled (note: custom JA3 strings are not supported by the curl-impersonate backend; the default Chrome preset fingerprint will be used instead. Use proxy_set_fingerprint_spoof with a preset for explicit control.)",
                config: { ja3, userAgent: user_agent, hostPatterns: host_patterns ?? [] },
              }),
            }],
          };
        } catch (e) {
          return { content: [{ type: "text" as const, text: JSON.stringify({ status: "error", error: String(e) }) }] };
        }
      },
    );
Install Server

Other Tools

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

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