Skip to main content
Glama
enricojam-maker

mcp-google-oauth

Model Context Protocol (MCP) Server + Google OAuth

Dies ist ein Model Context Protocol (MCP)-Server, der Remote-MCP-Verbindungen unterstützt und Google OAuth integriert hat.

Sie können ihn in Ihrem eigenen Cloudflare-Konto bereitstellen. Nachdem Sie Ihre eigene Google Cloud OAuth-Client-App erstellt haben, verfügen Sie über einen voll funktionsfähigen Remote-MCP-Server, auf dem Sie aufbauen können. Benutzer können sich mit ihrem Google-Konto anmelden, um eine Verbindung zu Ihrem MCP-Server herzustellen.

Sie können dies als Referenzbeispiel verwenden, um andere OAuth-Anbieter in einen auf Cloudflare bereitgestellten MCP-Server zu integrieren, mithilfe der workers-oauth-provider-Bibliothek.

Der MCP-Server (unterstützt durch Cloudflare Workers):

  • fungiert als OAuth-Server für Ihre MCP-Clients

  • fungiert als OAuth-Client für Ihren echten OAuth-Server (in diesem Fall Google)

[!WARNUNG] Dies ist eine Demo-Vorlage, die Ihnen den schnellen Einstieg erleichtern soll. Obwohl wir mehrere Sicherheitskontrollen implementiert haben, müssen Sie vor der Bereitstellung in der Produktion alle präventiven und defensiven Sicherheitsmaßnahmen implementieren. Bitte lesen Sie unseren umfassenden Sicherheitsleitfaden: Sichern von MCP-Servern

Erste Schritte

Klonen Sie das Repository und installieren Sie die Abhängigkeiten: npm install

Für die Produktion

Erstellen Sie eine neue Google Cloud OAuth-App:

  • Geben Sie für die Homepage-URL https://mcp-google-oauth.<your-subdomain>.workers.dev an

  • Geben Sie für die Autorisierungs-Callback-URL https://mcp-google-oauth.<your-subdomain>.workers.dev/callback an

  • Notieren Sie sich Ihre Client-ID und generieren Sie ein Client-Geheimnis.

  • Legen Sie die Geheimnisse über Wrangler fest

wrangler secret put GOOGLE_CLIENT_ID
wrangler secret put GOOGLE_CLIENT_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY # add any random string here e.g. openssl rand -hex 32
wrangler secret put HOSTED_DOMAIN # optional: use this when restrict google account domain

Einrichten eines KV-Namespace

  • Erstellen Sie den KV-Namespace: wrangler kv:namespace create "OAUTH_KV"

  • Aktualisieren Sie die Wrangler-Datei mit der KV-ID

Bereitstellen und Testen

Stellen Sie den MCP-Server bereit, um ihn auf Ihrer workers.dev-Domain verfügbar zu machen wrangler deploy

Testen Sie den Remote-Server mit Inspector:

npx @modelcontextprotocol/inspector@latest

Geben Sie https://mcp-google-oauth.<your-subdomain>.workers.dev/mcp ein und klicken Sie auf Verbinden. Sobald Sie den Authentifizierungsablauf durchlaufen haben, sehen Sie die Tools in Aktion:

Sie haben jetzt einen Remote-MCP-Server bereitgestellt!

Zugriffskontrolle

Dieser MCP-Server verwendet Google Cloud OAuth zur Authentifizierung. Alle authentifizierten Google-Benutzer können auf grundlegende Tools wie "add" zugreifen. Wenn Sie Benutzer mit einer gehosteten Domain einschränken, setzen Sie die Umgebungsvariable HOSTED_DOMAIN.

Zugriff auf den Remote-MCP-Server von Claude Desktop

Öffnen Sie Claude Desktop und navigieren Sie zu Einstellungen -> Entwickler -> Konfiguration bearbeiten. Dadurch wird die Konfigurationsdatei geöffnet, die steuert, auf welche MCP-Server Claude zugreifen kann.

Ersetzen Sie den Inhalt durch die folgende Konfiguration. Nachdem Sie Claude Desktop neu gestartet haben, öffnet sich ein Browserfenster mit Ihrer OAuth-Anmeldeseite. Schließen Sie den Authentifizierungsablauf ab, um Claude Zugriff auf Ihren MCP-Server zu gewähren. Nachdem Sie den Zugriff gewährt haben, stehen Ihnen die Tools zur Verfügung.

{
  "mcpServers": {
    "math": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-google-oauth.<your-subdomain>.workers.dev/mcp"
      ]
    }
  }
}

Sobald die Tools (unter 🔨) in der Oberfläche erscheinen, können Sie Claude bitten, sie zu verwenden. Zum Beispiel: "Könntest du das Mathe-Tool verwenden, um 23 und 19 zu addieren?". Claude sollte das Tool aufrufen und das vom MCP-Server generierte Ergebnis anzeigen.

Für die lokale Entwicklung

Wenn Sie Ihren MCP-Server iterieren und testen möchten, können Sie dies in der lokalen Entwicklung tun. Dazu müssen Sie eine weitere OAuth-App in Google Cloud erstellen:

  • Geben Sie für die Homepage-URL http://localhost:8788 an

  • Geben Sie für die Autorisierungs-Callback-URL http://localhost:8788/callback an

  • Notieren Sie sich Ihre Client-ID und generieren Sie ein Client-Geheimnis.

  • Erstellen Sie eine .dev.vars-Datei im Projektstamm mit:

GOOGLE_CLIENT_ID=your_development_google_cloud_oauth_client_id
GOOGLE_CLIENT_SECRET=your_development_google_cloud_oauth_client_secret

Entwickeln und Testen

Führen Sie den Server lokal aus, um ihn unter http://localhost:8788 verfügbar zu machen wrangler dev

Um den lokalen Server zu testen, geben Sie http://localhost:8788/mcp in Inspector ein und klicken Sie auf Verbinden. Sobald Sie den Anweisungen folgen, können Sie "Tools auflisten".

Verwenden von Claude und anderen MCP-Clients

Wenn Sie Claude verwenden, um eine Verbindung zu Ihrem Remote-MCP-Server herzustellen, werden möglicherweise einige Fehlermeldungen angezeigt. Dies liegt daran, dass Claude Desktop Remote-MCP-Server noch nicht unterstützt und daher manchmal verwirrt wird. Um zu überprüfen, ob der MCP-Server verbunden ist, fahren Sie mit der Maus über das 🔨-Symbol in der unteren rechten Ecke der Claude-Oberfläche. Sie sollten Ihre Tools dort verfügbar sehen.

Verwenden von Cursor und anderen MCP-Clients

Um Cursor mit Ihrem MCP-Server zu verbinden, wählen Sie Typ: "Befehl" und kombinieren Sie im Feld Befehl die Befehls- und Argumentfelder zu einem (z. B. npx mcp-remote https://<your-worker-name>.<your-subdomain>.workers.dev/mcp).

Beachten Sie, dass Cursor zwar HTTP+SSE-Server unterstützt, aber keine Authentifizierung. Sie müssen daher weiterhin mcp-remote verwenden (und einen STDIO-Server, keinen HTTP-Server).

Sie können Ihren MCP-Server mit anderen MCP-Clients wie Windsurf verbinden, indem Sie die Konfigurationsdatei des Clients öffnen, dasselbe JSON hinzufügen, das für die Claude-Einrichtung verwendet wurde, und den MCP-Client neu starten.

Wie funktioniert es?

OAuth-Anbieter

Die OAuth-Anbieter-Bibliothek dient als vollständige OAuth-2.1-Serverimplementierung für Cloudflare Workers. Sie übernimmt die Komplexität des OAuth-Ablaufs, einschließlich Token-Ausstellung, -Validierung und -Verwaltung. In diesem Projekt spielt sie eine doppelte Rolle:

  • Authentifizierung von MCP-Clients, die eine Verbindung zu Ihrem Server herstellen

  • Verwaltung der Verbindung zu den OAuth-Diensten von Google Cloud

  • Sichere Speicherung von Tokens und Authentifizierungsstatus im KV-Speicher

Durable MCP

Durable MCP erweitert die Basis-MCP-Funktionalität um Cloudflare Durable Objects und bietet:

  • Persistente Zustandsverwaltung für Ihren MCP-Server

  • Sichere Speicherung des Authentifizierungskontexts zwischen Anfragen

  • Zugriff auf authentifizierte Benutzerinformationen über this.props

  • Unterstützung für bedingte Tool-Verfügbarkeit basierend auf der Benutzeridentität

MCP Remote

Die MCP-Remote-Bibliothek ermöglicht es Ihrem Server, Tools bereitzustellen, die von MCP-Clients wie Inspector aufgerufen werden können. Sie:

  • Definiert das Protokoll für die Kommunikation zwischen Clients und Ihrem Server

  • Bietet eine strukturierte Möglichkeit, Tools zu definieren

  • Übernimmt die Serialisierung und Deserialisierung von Anfragen und Antworten

  • Unterstützt sowohl Streamable HTTP (empfohlen) als auch Server-Sent Events (SSE) für die Client-Kommunikation

Transportprotokoll-Migration

Dieses Beispiel wurde aktualisiert, um das neue Streamable HTTP-Transportprotokoll zu unterstützen, das das veraltete Server-Sent Events (SSE)-Protokoll ersetzt. Der Server stellt jetzt beide Endpunkte bereit:

  • /mcp - Empfohlen: Verwendet das neue Streamable HTTP-Protokoll

  • /sse - Veraltet: Legacy-SSE-Protokoll (für Abwärtskompatibilität beibehalten)

Alle neuen Integrationen sollten den /mcp-Endpunkt verwenden. Der SSE-Endpunkt wird in einer zukünftigen Version entfernt.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.

  • An authenticated remote MCP server for user-owned devices and one-shot capability invocation.

  • MCP server for Google Veo AI video generation

View all MCP Connectors

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/enricojam-maker/mcp-google-oauth'

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