Skip to content

Remote MCP: Support RFC 7591 DCR & OIDC refresh tokens for Google Gemini Web/Mobile Custom Apps (with stateless Cloud Run workaround) #3519

Open

Description

@wihl

Problem Description

When connecting the hosted remote GitHub MCP endpoint to MCP clients that rely on the standard MCP Authorization specification—specifically Google Gemini Web & Mobile Custom Apps and Gemini CLI—connections either fail during initial setup or silently drop after ~24 hours:

  1. Missing Dynamic Client Registration (RFC 7591): Clients attempting automated registration against /.well-known/oauth-authorization-server / /register fail, forcing users to manually create and manage a custom GitHub OAuth App with a static Client ID and Client Secret.
  2. Discovery Path & Token Refresh Quirks: Standard GitHub OAuth Apps do not issue non-expiring OIDC refresh tokens by default, and token endpoint exchanges without explicit Accept: application/json return application/x-www-form-urlencoded payloads. When mobile/web MCP clients attempt background validation or token refresh across sessions, the connector is silently disabled.

Workaround / Community Reference Implementation

Until native RFC 7591 DCR (or CIMD) and seamless refresh token support are available on the hosted remote MCP endpoint, I built an open-source, stateless Cloud Run OAuth 2.1 + DCR proxy that sits in front of the hosted GitHub MCP server:

👉 https://github.com/wihl/gemini-github-connector

  • Full RFC 9728, RFC 8414, and RFC 7591 (/register) support: Gemini Web & iOS Mobile connect immediately without manual OAuth Client ID/Secret entry.
  • Stateless HMAC-SHA256 signed JWTs (Zero Database): Backed by GCP Secret Manager so Cloud Run scale-to-zero events and background refreshes never invalidate the session.
  • Strict application/json token responses: Proxies Streamable HTTP /mcp traffic upstream using your Secret Manager GitHub PAT.

Deploys to Cloud Run free tier in ~2 minutes via ./scripts/deploy.sh. Sharing this here both as a feature request for seamless Gemini Web/Mobile compatibility and as a drop-in workaround for anyone trying to use github-mcp-server from Gemini Mobile/Web today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions