Skip to main content
Glama
enricojam-maker

mcp-google-oauth

Servidor Model Context Protocol (MCP) + Google OAuth

Este es un servidor Model Context Protocol (MCP) que admite conexiones MCP remotas, con Google OAuth integrado.

Puedes implementarlo en tu propia cuenta de Cloudflare y, después de crear tu propia aplicación de cliente OAuth de Google Cloud, tendrás un servidor MCP remoto completamente funcional sobre el que podrás construir. Los usuarios podrán conectarse a tu servidor MCP iniciando sesión con su cuenta de Google.

Puedes usar esto como ejemplo de referencia para integrar otros proveedores de OAuth con un servidor MCP implementado en Cloudflare, utilizando la biblioteca workers-oauth-provider.

El servidor MCP (impulsado por Cloudflare Workers):

  • Actúa como servidor OAuth Server para tus clientes MCP

  • Actúa como cliente OAuth Client para tu servidor OAuth real (en este caso, Google)

[!WARNING] Esta es una plantilla de demostración diseñada para ayudarte a comenzar rápidamente. Si bien hemos implementado varios controles de seguridad, debes implementar todas las medidas de seguridad preventivas y de defensa en profundidad antes de implementar en producción. Revisa nuestra guía de seguridad integral: Asegurando servidores MCP

Comenzando

Clona el repositorio e instala las dependencias: npm install

Para producción

Crea una nueva aplicación OAuth de Google Cloud:

  • Para la URL de la página de inicio, especifica https://mcp-google-oauth.<your-subdomain>.workers.dev

  • Para la URL de devolución de llamada de autorización, especifica https://mcp-google-oauth.<your-subdomain>.workers.dev/callback

  • Anota tu ID de cliente y genera un secreto de cliente.

  • Establece los secretos mediante Wrangler

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

Configura un espacio de nombres KV

  • Crea el espacio de nombres KV: wrangler kv:namespace create "OAUTH_KV"

  • Actualiza el archivo de Wrangler con el ID de KV

Implementa y prueba

Implementa el servidor MCP para que esté disponible en tu dominio workers.dev wrangler deploy

Prueba el servidor remoto usando Inspector:

npx @modelcontextprotocol/inspector@latest

Ingresa https://mcp-google-oauth.<your-subdomain>.workers.dev/mcp y presiona conectar. Una vez que completes el flujo de autenticación, verás las herramientas funcionando:

¡Ahora tienes un servidor MCP remoto implementado!

Control de acceso

Este servidor MCP utiliza Google Cloud OAuth para la autenticación. Todos los usuarios de Google autenticados pueden acceder a herramientas básicas como "add". Cuando restrinjas usuarios con dominio alojado, establece la variable de entorno HOSTED_DOMAIN.

Accede al servidor MCP remoto desde Claude Desktop

Abre Claude Desktop y navega a Configuración -> Desarrollador -> Editar configuración. Esto abre el archivo de configuración que controla a qué servidores MCP puede acceder Claude.

Reemplaza el contenido con la siguiente configuración. Una vez que reinicies Claude Desktop, se abrirá una ventana del navegador mostrando tu página de inicio de sesión de OAuth. Completa el flujo de autenticación para otorgar a Claude acceso a tu servidor MCP. Después de otorgar acceso, las herramientas estarán disponibles para que las uses.

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

Una vez que las herramientas (bajo 🔨) aparezcan en la interfaz, puedes pedirle a Claude que las use. Por ejemplo: "¿Podrías usar la herramienta de matemáticas para sumar 23 y 19?". Claude debería invocar la herramienta y mostrar el resultado generado por el servidor MCP.

Para desarrollo local

Si deseas iterar y probar tu servidor MCP, puedes hacerlo en desarrollo local. Esto requerirá que crees otra aplicación OAuth en Google Cloud:

  • Para la URL de la página de inicio, especifica http://localhost:8788

  • Para la URL de devolución de llamada de autorización, especifica http://localhost:8788/callback

  • Anota tu ID de cliente y genera un secreto de cliente.

  • Crea un archivo .dev.vars en la raíz de tu proyecto con:

GOOGLE_CLIENT_ID=your_development_google_cloud_oauth_client_id
GOOGLE_CLIENT_SECRET=your_development_google_cloud_oauth_client_secret

Desarrolla y prueba

Ejecuta el servidor localmente para que esté disponible en http://localhost:8788 wrangler dev

Para probar el servidor local, ingresa http://localhost:8788/mcp en Inspector y presiona conectar. Una vez que sigas las indicaciones, podrás "Listar herramientas".

Usando Claude y otros clientes MCP

Al usar Claude para conectarte a tu servidor MCP remoto, es posible que veas algunos mensajes de error. Esto se debe a que Claude Desktop aún no admite servidores MCP remotos, por lo que a veces se confunde. Para verificar si el servidor MCP está conectado, pasa el cursor sobre el ícono 🔨 en la esquina inferior derecha de la interfaz de Claude. Deberías ver tus herramientas disponibles allí.

Usando Cursor y otros clientes MCP

Para conectar Cursor con tu servidor MCP, elige Type: "Command" y en el campo Command, combina los campos de comando y argumentos en uno solo (por ejemplo, npx mcp-remote https://<your-worker-name>.<your-subdomain>.workers.dev/mcp).

Ten en cuenta que, aunque Cursor admite servidores HTTP+SSE, no admite autenticación, por lo que aún necesitas usar mcp-remote (y usar un servidor STDIO, no uno HTTP).

Puedes conectar tu servidor MCP a otros clientes MCP como Windsurf abriendo el archivo de configuración del cliente, agregando el mismo JSON que se usó para la configuración de Claude y reiniciando el cliente MCP.

¿Cómo funciona?

Proveedor OAuth

La biblioteca del proveedor OAuth sirve como una implementación completa del servidor OAuth 2.1 para Cloudflare Workers. Maneja las complejidades del flujo OAuth, incluida la emisión, validación y gestión de tokens. En este proyecto, desempeña el doble papel de:

  • Autenticar clientes MCP que se conectan a tu servidor

  • Gestionar la conexión con los servicios OAuth de Google Cloud

  • Almacenar de forma segura tokens y estado de autenticación en el almacenamiento KV

Durable MCP

Durable MCP extiende la funcionalidad base de MCP con los Durable Objects de Cloudflare, proporcionando:

  • Gestión de estado persistente para tu servidor MCP

  • Almacenamiento seguro del contexto de autenticación entre solicitudes

  • Acceso a la información del usuario autenticado mediante this.props

  • Soporte para disponibilidad condicional de herramientas según la identidad del usuario

MCP Remote

La biblioteca MCP Remote permite que tu servidor exponga herramientas que pueden ser invocadas por clientes MCP como Inspector. Esta:

  • Define el protocolo para la comunicación entre clientes y tu servidor

  • Proporciona una forma estructurada de definir herramientas

  • Maneja la serialización y deserialización de solicitudes y respuestas

  • Admite tanto el protocolo Streamable HTTP (recomendado) como el de Server-Sent Events (SSE) para la comunicación con el cliente

Migración del protocolo de transporte

Este ejemplo se ha actualizado para admitir el nuevo protocolo de transporte Streamable HTTP, que reemplaza al protocolo obsoleto Server-Sent Events (SSE). El servidor ahora expone ambos endpoints:

  • /mcp - Recomendado: Usa el nuevo protocolo Streamable HTTP

  • /sse - Obsoleto: Protocolo SSE heredado (mantenido para compatibilidad con versiones anteriores)

Todas las integraciones nuevas deben usar el endpoint /mcp. El endpoint SSE se eliminará en una versión futura.

-
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