Skip to main content
Glama

MCP Gateway

PyPI version Python License

Ein eigenständiges CLI-Gateway, das mehrere MCP-Server (Model Context Protocol) hinter einem einzigen HTTP/SSE-Endpunkt mit Code Mode bündelt – wodurch der LLM-Eingabe-Tokenverbrauch bei Verwendung mehrerer MCP-Server um bis zu 92 % reduziert wird.

Features

  • Multi-Server Aggregation — Verbinden Sie sich mit mehreren MCP-Servern (HTTP, SSE, Stdio, Streamable HTTP) und stellen Sie sie über einen einzigen Endpunkt bereit

  • Code Mode — 4 Meta-Tools, die es LLMs ermöglichen, Tools dynamisch zu entdecken und zu verwenden, ohne alle Schemas im Voraus zu laden

  • OAuth 2.0 Support — Integrierter OAuth-Ablauf mit dynamischer Client-Registrierung (RFC 7591) und Token-Speicherung

  • Hermetic Sandbox — Starlark-basierte Sandbox für sichere Code-Ausführung

  • MCP Protocol Compliant — Funktioniert mit Claude Desktop, Cursor und jedem MCP-kompatiblen Client

Related MCP server: ToolMux

Installation

pip install mcp-gway

Oder mit mise:

mise install
uv sync

Schnellstart

# Add an MCP server
mcp-gway add youtube --type http --url http://localhost:3001/mcp

# Add a stdio server
mcp-gway add filesystem --type stdio --command npx --args '["-y", "@anthropic/mcp-filesystem"]'

# Add a server requiring OAuth
mcp-gway add supabase --type streamable-http --url https://mcp.supabase.com/mcp

# List all servers
mcp-gway list

# Start the gateway
mcp-gway serve --port 8080

Verbinden von Claude Desktop

Fügen Sie zu Ihrer Claude-Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "gateway": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

Befehle

Befehl

Beschreibung

mcp-gway add

Einen MCP-Server hinzufügen und .pyi-Stub generieren

mcp-gway remove

Einen MCP-Server entfernen

mcp-gway update

Tools für einen Server aktualisieren

mcp-gway list

Alle verbundenen Server auflisten

mcp-gway inspect

Tool-Signaturen für einen Server anzeigen

mcp-gway refresh

Verbindung aktualisieren und Tools neu entdecken

mcp-gway serve

Gateway-Server starten

Code Mode

Wenn verbunden, stellt das Gateway 4 Meta-Tools bereit:

Tool

Beschreibung

listToolFiles

Alle verfügbaren .pyi-Stub-Dateien auflisten

readToolFile

Funktionssignaturen aus einem Stub lesen

getToolDocs

Detaillierte Dokumentation für ein Tool abrufen

executeToolCode

Code in einem Sandbox-Starlark-Interpreter ausführen

OAuth-Authentifizierung

Für Server, die OAuth erfordern (z. B. Supabase):

# Trigger OAuth flow
mcp-gway refresh supabase --auth

# Or store token manually
mkdir -p ~/.config/mcp-gway/tokens
echo '{"access_token": "YOUR_TOKEN"}' > ~/.config/mcp-gway/tokens/supabase.json

Entwicklung

# Install dependencies
mise install
uv sync

# Run tests
uv run pytest -v

# Lint and format
uv run ruff check src/ tests/
uv run ruff format src/ tests/

Architektur

┌─────────────────────────────────────────────────────────┐
│                    MCP Gateway                          │
├─────────────────────────────────────────────────────────┤
│  CLI (click)     │  HTTP/SSE Server (Starlette)        │
│  - add           │  - POST /mcp (JSON-RPC)             │
│  - remove        │  - GET /mcp (SSE stream)            │
│  - list          │  - POST /mcp/messages               │
│  - refresh       │                                     │
├─────────────────────────────────────────────────────────┤
│  Code Mode (4 meta-tools)     │  Starlark Sandbox      │
│  - listToolFiles               │  - Hermetic execution  │
│  - readToolFile                │  - Server injection    │
│  - getToolDocs                 │                        │
│  - executeToolCode             │                        │
├─────────────────────────────────────────────────────────┤
│  Registry (.pyi files)        │  OAuth2 (RFC 7591)     │
│  - servers/*.pyi               │  - Dynamic registration│
│  - Tool signatures             │  - Token storage       │
└─────────────────────────────────────────────────────────┘
         │                │                │
    ┌────┴────┐      ┌────┴────┐      ┌────┴────┐
    │ Server1 │      │ Server2 │      │ Server3 │
    │ (HTTP)  │      │ (SSE)   │      │ (Stdio) │
    └─────────┘      └─────────┘      └─────────┘

Lizenz

MIT

Maintenance

ActivityNo data
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Aggregates multiple MCP servers into a single endpoint, enabling LLM clients to access tools, resources, and prompts from various backends through one connection.
    9 npm
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Aggregates multiple MCP servers via a single interface with token optimization and multiple operating modes (Gateway, Meta, Proxy, Search, Code).
    7
    8
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Centralizes management and routing of multiple MCP servers, exposing them to AI clients via HTTP/SSE endpoints with configurable visibility, sharing, and smart routing.
    1,706 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Centralized management and routing of multiple MCP servers via unified Streamable HTTP/SSE endpoints, with granular group visibility, smart routing, and authentication.
    1,706 npm
    Apache 2.0