Skip to main content
Glama

proxy_check_fingerprint_runtime

Check Docker/Podman runtime readiness for TLS/HTTP2 fingerprint spoofing without sending network traffic.

Instructions

Check Docker/Podman runtime readiness for TLS/HTTP2 fingerprint spoofing without sending traffic.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The tool registration and handler implementation for 'proxy_check_fingerprint_runtime' within the MCP server.
    server.tool(
      "proxy_check_fingerprint_runtime",
      "Check Docker/Podman runtime readiness for TLS/HTTP2 fingerprint spoofing without sending traffic.",
      {},
      async () => {
        try {
          const runtime = await checkSpoofRuntime();
          return {
            content: [{
              type: "text" as const,
              text: JSON.stringify(runtime),
            }],
          };
        } catch (e) {
          return { content: [{ type: "text" as const, text: JSON.stringify({ status: "error", error: String(e) }) }] };
        }
      },
    );
  • The 'checkSpoofRuntime' helper function, which probes for docker/podman and checks for container image readiness, used by the tool handler.
    export async function checkSpoofRuntime(): Promise<FingerprintRuntimeCheck> {
      const runtimes = await Promise.all(["docker", "podman"].map((name) => probeRuntime(name)));
      const recommended = runtimes.find((r) => r.operational)?.name ?? null;
      const cached = _containerCli;
      const selected = cached ?? recommended;
      const cacheStale = !!cached && !runtimes.some((r) => r.name === cached && r.operational);
      const inspectRuntime = (!cacheStale ? selected : recommended) ?? null;
    
      let image: ImageInspectResult = { name: IMAGE_NAME, exists: false };
      let container: ContainerInspectResult = { name: CONTAINER_NAME, exists: false, running: false };
      if (inspectRuntime) {
        [image, container] = await Promise.all([
          inspectImageByName(inspectRuntime, IMAGE_NAME),
          inspectContainerByName(inspectRuntime, CONTAINER_NAME),
        ]);
      }
    
      return {
        status: "success",
        ready: !!selected && runtimes.some((r) => r.name === selected && r.operational),
        runtime: { selected, recommended, cached, cacheStale },
        inspectedWithRuntime: inspectRuntime,
        runtimes,
        image,
        container,
      };
    }
    
    // ── Container lifecycle ──
    
    function getProjectRoot(): string {
      const thisFile = fileURLToPath(import.meta.url);
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