Google Calendar MCP OAuth Proxy
Google Calendar MCP OAuth Proxy
Dieser Worker fungiert als OAuth-Grenze zwischen einem MCP-Client wie Codex und dem offiziellen Google Calendar MCP.
Codex / MCP client
|
| OAuth to this Worker
v
Cloudflare OAuth Provider
|
| Google OAuth (client ID + client secret)
v
Google OAuth
|
| Google access token
v
Google Calendar MCP
https://calendarmcp.googleapis.com/mcp/v1Der Client erhält niemals das Google-OAuth-Clientgeheimnis. Google-Zugriffs- und Refresh-Tokens werden in den verschlüsselten OAuth-Grant-Eigenschaften gespeichert, die vom Cloudflare-OAuth-Anbieter verwaltet werden. Der geschützte /mcp-Handler ersetzt das lokale Bearer-Token des Clients durch das Google-Zugriffstoken des Benutzers, bevor er den MCP-Datenverkehr an den Upstream weiterleitet.
Google-Scopes
wrangler.jsonc definiert die Google Calendar-Scopes in GOOGLE_OAUTH_SCOPES:
https://www.googleapis.com/auth/calendar.calendarlist.readonly
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.calendarsDer Worker fügt automatisch email profile hinzu, weil der Callback den user-info-Endpunkt von Google verwendet, um den autorisierten Benutzer zu identifizieren.
Die Google-Autorisierungsanfrage verwendet außerdem access_type=offline und prompt=consent, damit Google ein Refresh-Token zurückgibt.
Related MCP server: google-mcp-server
Lokale Geheimnisse
Kopieren Sie die Beispieldatei:
cp .dev.vars.example .dev.varsLegen Sie fest:
GOOGLE_CLIENT_ID=<Google OAuth web client ID>
GOOGLE_CLIENT_SECRET=<Google OAuth client secret>
COOKIE_ENCRYPTION_KEY=<strong random secret>
HOSTED_DOMAIN=<optional Google Workspace domain restriction>GOOGLE_OAUTH_SCOPES und GOOGLE_MCP_URL sind nicht geheime Worker-Variablen in wrangler.jsonc.
Google Cloud OAuth-Client
Verwenden Sie einen Google-OAuth-Client für Webanwendungen.
Der autorisierte Redirect-URI muss der öffentliche Hostname dieses Workers oder Tunnels plus /callback sein:
https://mcp-auth.example.com/callbackFügen Sie die oben aufgeführten Calendar-Scopes zur Konfiguration für Einwilligung/Datenzugriff der Google Auth-Plattform hinzu.
Lokal ausführen
Installieren Sie die Abhängigkeiten und generieren Sie die Worker-Typen:
npm install
npm run cf-typegenStarten Sie Wrangler lokal auf Port 5555:
npm run devDer lokale Endpunkt ist:
http://localhost:5555/mcpOAuth erfordert einen öffentlichen HTTPS-Callback. Verwenden Sie für lokale End-to-End-Tests einen Cloudflare Tunnel.
Stieder benannter Tunnel
Ein stabiler Hostname ist vorzuziehen, weil derselbe Callback in Google Cloud registriert werden muss.
npx wrangler dev --tunnel-name=mcp-google-auth --tunnelKonfigurieren Sie den Hostnamen des benannten Tunnels so, dass er Anfragen an den Wrangler-Entwicklungsserver weiterleitet. Zum Beispiel:
https://mcp-auth.example.com -> local Wrangler dev serverRegistrieren Sie dann:
https://mcp-auth.example.com/callbackals Google-OAuth-Redirect-URI.
Die für Codex bereitgestellte MCP-URL lautet:
https://mcp-auth.example.com/mcpCodex-Konfiguration
Da dieser Worker für Codex der OAuth-Autorisierungsserver ist, benötigt Codex weder die Google-Client-ID noch das Google-Clientgeheimnis.
[mcp_servers.google_calendar_proxy]
enabled = true
url = "https://mcp-auth.example.com/mcp"
auth = "oauth"Dann authentifizieren Sie sich:
codex mcp login google_calendar_proxyDer erwartete Ablauf ist:
Codex entdeckt die OAuth-Endpunkte dieses Workers.
Codex registriert/authentifiziert sich bei diesem Worker.
Der Worker sendet den Browser an Google.
Google leitet zum
/callbackauf dem Worker/Tunnel zurück.Der Worker tauscht den Google-Autorisierungscode mithilfe von
GOOGLE_CLIENT_SECRETaus.Codex erhält ein vom Worker ausgestelltes OAuth-Token.
Aufrufe an
/mcpwerden an den offiziellen Google Calendar MCP weitergeleitet, wobei das Google-Zugriffstoken des Benutzers verwendet wird.
Verhalten bei der Token-Aktualisierung
Googles Refresh-Token wird in den verschlüsselten OAuth-Grant-Eigenschaften aufbewahrt. Der Proxy unterhält einen begrenzten, auf die jeweilige Isolate beschränkten LRU-Cache für Google-Zugriffstokens, entfernt Einträge, sobald sie das Aktualisierungsfenster erreichen, und begrenzt den Cache auf 100 Benutzer. Wenn das gespeicherte Zugriffstoken abgelaufen ist oder Googles MCP 401 zurückgibt, verwendet der Worker das Google-Refresh-Token sowie das Worker-seitige Clientgeheimnis, um ein neues Google-Zugriffstoken zu erzeugen, und wiederholt den Aufruf einmal.
Der In-Memory-Cache ist nur eine Optimierung. Eine neue Worker-Isolate kann jederzeit die Tokens aus den verschlüsselten Grant-Eigenschaften aktualisieren.
Legacy grants
Legacy-Grants, die vor der Unterstützung von Refresh-Tokens erstellt wurden, enthalten nur das ursprüngliche Google-Zugriffstoken sowie Benutzermetadaten. Der Proxy erkennt diese Grants und verwendet weiterhin ihr vorhandenes Zugriffstoken, solange Google es akzeptiert. Sobald Google dieses Token ablehnt, gibt der Worker 401 invalid_token zurück, damit die MCP-Verbindung neu autorisiert werden kann, anstatt eine Aktualisierung mit fehlenden Anmeldedaten zu versuchen.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables authentication and authorization with Google's OAuth2 API, allowing users to securely authenticate and access Google services through natural language interactions.
- AlicenseNot gradedqualityDmaintenanceMCP Server for Google Services, with the ability to define your own scopes and bring your own oauth key.3MIT
- FlicenseNot gradedqualityDmaintenanceEnables seamless Google Calendar integration with MCP-compatible clients, allowing creation, viewing, updating, and deletion of calendar events via OAuth 2.0 authentication.
- AlicenseNot gradedqualityCmaintenanceEnables access to Google Workspace services (Calendar, Gmail, Drive, Tasks) via an MCP server deployed on Vercel.1,226MIT
Related MCP Connectors
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/REVREBEL/cloudflare-mcp-google-auth'
If you have feedback or need assistance with the MCP directory API, please join our Discord server