Skip to main content
Glama
rodolfostoicus

mcp-access-oauth

Servidor Model Context Protocol (MCP) + Access OAuth

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

Puedes desplegarlo en tu propia cuenta de Cloudflare y, tras crear tu propia aplicación OIDC de Access for SaaS, tendrás un servidor MCP remoto completamente funcional sobre el que construir. Los usuarios podrán conectarse a tu servidor MCP iniciando sesión con tu proveedor de identidad de Access conectado.

El servidor MCP (impulsado por Cloudflare Workers):

  • Actúa como servidor OAuth para tus clientes MCP

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

Primeros pasos

Clona el repositorio e instala las dependencias: npm install

Para producción

Crea una nueva aplicación OIDC de Access for SaaS:

  • Para la URL de devolución de llamada de autorización, especifica https://mcp-access-oauth.<tu-subdominio>.workers.dev/callback y http://localhost:8788/callback si estás desarrollando localmente.

  • Anota tu ID de cliente y secreto de cliente.

  • Establece los secretos mediante Wrangler

wrangler secret put ACCESS_CLIENT_ID
wrangler secret put ACCESS_CLIENT_SECRET
wrangler secret put ACCESS_TOKEN_URL
wrangler secret put ACCESS_AUTHORIZATION_URL
wrangler secret put ACCESS_JWKS_URL
wrangler secret put COOKIE_ENCRYPTION_KEY # add any random string here e.g. openssl rand -hex 32

Configurar 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

Desplegar y probar

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

Prueba el servidor remoto usando Inspector:

npx @modelcontextprotocol/inspector@latest

Introduce https://mcp-access-oauth.<tu-subdominio>.workers.dev/mcp y pulsa conectar. Una vez que completes el flujo de autenticación, verás las herramientas funcionando:

¡Ya tienes un servidor MCP remoto desplegado!

Control de acceso

Este servidor MCP utiliza Access para la autenticación. Todos los usuarios autenticados de Access pueden acceder a herramientas básicas como "add".

La herramienta "generateImage" está restringida a usuarios específicos de Access que aparecen en la configuración ALLOWED_USERNAMES:

// Add user emails for image generation access
const ALLOWED_EMAILS = new Set(["employee1@mycompany.com", "teammate1@mycompany.com"]);

Acceder 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. Al reiniciar Claude Desktop, se abrirá una ventana del navegador mostrando tu página de inicio de sesión OAuth. Completa el flujo de autenticación para conceder a Claude acceso a tu servidor MCP. Después de conceder acceso, las herramientas estarán disponibles para su uso.

{
  "mcpServers": {
    "math": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-access-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 matemática 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.

  • 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:

ACCESS_CLIENT_ID=<your client id>
ACCESS_CLIENT_SECRET=<your client secret>
ACCESS_TOKEN_URL=<your Access for SaaS token url>
ACCESS_AUTHORIZATION_URL=<your Access for SaaS authorization url>
ACCESS_JWKS_URL=<your Access for SaaS JWKS url>
COOKIE_ENCRYPTION_KEY=COOKIE_ENCRYPTION_KEY

Desarrollar y probar

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

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

Usar 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 icono 🔨 en la esquina inferior derecha de la interfaz de Claude. Deberías ver tus herramientas disponibles allí.

Usar Cursor y otros clientes MCP

Para conectar Cursor con tu servidor MCP, elige Tipo: "Comando" y en el campo Comando, combina el comando y los argumentos en uno solo (por ejemplo, npx mcp-remote https://<nombre-de-tu-worker>.<tu-subdominio>.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, añadiendo el mismo JSON que se usó para la configuración de Claude y reiniciando el cliente MCP.

Related MCP server: MCP Access OAuth Server

¿Cómo funciona?

Proveedor OAuth

La librería del proveedor OAuth funciona como una implementación completa de servidor OAuth 2.1 para Cloudflare Workers. Maneja las complejidades del flujo OAuth, incluyendo la emisión, validación y gestión de tokens. En este proyecto, desempeña un doble rol:

  • Autenticar clientes MCP que se conectan a tu servidor

  • Gestionar la conexión con los servicios OAuth de Access

  • 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 objetos duraderos 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 a través de this.props

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

MCP Remoto

La librería MCP Remoto 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

  • Mantiene la conexión de Eventos enviados por el servidor (SSE) entre clientes y tu servidor

F
license - not found
-
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 Servers

  • F
    license
    -
    quality
    D
    maintenance
    A reference MCP server for Cloudflare Workers that provides remote connection support with integrated GitHub OAuth authentication. It enables developers to build and deploy authenticated remote tools with user-specific access controls and persistent state management.
  • F
    license
    -
    quality
    C
    maintenance
    A Cloudflare Workers-based MCP server that enables secure remote connections using built-in OAuth authentication via Cloudflare Access. It provides identity-based access control for MCP tools and supports persistent state management through Durable Objects and SSE.
  • F
    license
    -
    quality
    C
    maintenance
    Remote MCP server with built-in OAuth authentication via Cloudflare Access, enabling secure tool access and user identity-based restrictions.

View all related MCP servers

Related MCP Connectors

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/rodolfostoicus/mcp-access-oauth'

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