Skip to main content
Glama
thargy
by thargy

Universal MCP Gateway (mcp-gateway)

Un servicio de proxy inverso y gateway de alto rendimiento y multi-tenant para el Model Context Protocol (MCP), construido sobre @thargy/mcp-server-core.


¿Por qué mcp-gateway?

La mayoría de los servidores MCP de terceros (como github-mcp-server, Brave Search, SQLite y PostgreSQL) están diseñados principalmente para la ejecución local en escritorio mediante stdio. Cuando se exponen a través de HTTP o de túneles de Cloudflare Zero Trust, suelen carecer de:

  1. Preparación del flujo SSE de Cloudflare: comentarios : heartbeat\n\n inmediatos para omitir el almacenamiento en búfer del proxy inverso.

  2. Compatibilidad moderna con el handshake de MCP: soporte para subscriptions/listen, server/discover y despacho JSON-RPC sin estado.

  3. Gestión del ciclo de vida de las sesiones: seguimiento correcto de la cabecera Mcp-Session-Id y autenticación mediante token.

mcp-gateway actúa como un único adaptador multi-tenant situado entre los clientes MCP remotos (como Antigravity IDE, Cloudflare Zero Trust y Cursor) y uno o más backends MCP de terceros ascendentes (contenedores, APIs HTTP o herramientas CLI de stdio).


Related MCP server: Shared MCP Gateway

Arquitectura

graph TD
    subgraph Clients ["MCP Clients"]
        AG["Antigravity IDE / Agents"]
        CFPortal["Cloudflare Zero Trust MCP Portal"]
    end

    subgraph Ingress ["Cloudflare Tunnel (mcp.thargy.com)"]
        Tunnel["cloudflared (HA Server)"]
    end

    subgraph Gateway ["mcp-gateway Container (:3007 -> :3008)"]
        App["@thargy/mcp-server-core Router"]
        GHRoute["/gh/mcp -> HttpProxyAdapter"]
        BraveRoute["/brave/mcp -> StdioProxyAdapter"]
    end

    subgraph Backends ["3rd-Party Backends"]
        GHContainer["github-mcp-backend (:8082)"]
        BraveCLI["@modelcontextprotocol/server-brave-search"]
    end

    Clients --> Ingress
    Ingress --> Gateway
    App --> GHRoute --> GHContainer
    App --> BraveRoute --> BraveCLI

Configuración (config.yaml)

port: 3008

routes:
  gh:
    type: http
    name: "github-mcp-server"
    description: "GitHub Model Context Protocol Server (repositories, commits, issues, PRs)"
    targetUrl: "http://github-mcp-backend:8082"
    authHeaderEnv: "GITHUB_PERSONAL_ACCESS_TOKEN"

  # brave:
  #   type: stdio
  #   name: "brave-search"
  #   description: "Brave Search MCP Server"
  #   command: "npx"
  #   args: ["-y", "@modelcontextprotocol/server-brave-search"]
  #   env:
  #     BRAVE_API_KEY: "${BRAVE_API_KEY}"

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Aggregates multiple shared MCP servers into a single HTTP gateway, providing a unified, observable, and reusable MCP access layer for multiple AI clients like Codex, OpenCode, and OpenClaw. It centralizes configuration management, logging, health checks, and circuit breaking to simplify multi-client MCP deployments.
    5
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A universal MCP server that acts as a unified gateway for dynamically connecting and managing multiple MCP servers via a single HTTP endpoint.
    6 npm
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A universal MCP gateway that aggregates multiple MCP servers into a single endpoint, providing features like hot-reload, auto-healing, and a hook system for request/response mutation.
    1
    MIT