mcp-access-oauth
Servidor Model Context Protocol (MCP) + Access OAuth
Este es un servidor de Model Context Protocol (MCP) que admite conexiones MCP remotas, con Access OAuth integrado.
Puedes desplegarlo en tu propia cuenta de Cloudflare y, una vez que crees tu propia aplicación Access for SaaS OIDC, tendrás un servidor MCP remoto totalmente funcional a partir del cual podrás construir. Los usuarios podrán conectarse a tu servidor MCP iniciando sesión con tu proveedor de identidad Access conectado.
El servidor MCP (con la tecnología de 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 Access for SaaS OIDC:
Para la URL de devolución de llamada de autorización, especifica
https://mcp-access-oauth.<your-subdomain>.workers.dev/callbackyhttp://localhost:8788/callbacksi estás desarrollando en local.Anota tu ID de cliente y secreto de cliente.
Configura 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 32Configura 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
Despliegue y pruebas
Despliega el servidor MCP para que esté disponible en tu dominio workers.dev
wrangler deploy
Prueba el servidor remoto con Inspector:
npx @modelcontextprotocol/inspector@latestIntroduce https://mcp-access-oauth.<your-subdomain>.workers.dev/mcp y haz clic en 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 usa 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 figuran en la configuración ALLOWED_USERNAMES:
// Add user emails for image generation access
const ALLOWED_EMAILS = new Set(["employee1@mycompany.com", "teammate1@mycompany.com"]);Accede al servidor MCP remoto desde Claude Desktop
Abre Claude Desktop y navega a Settings -> Developer -> Edit Config. 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 que mostrará 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 el acceso, las herramientas estarán disponibles para que las uses.
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-access-oauth.<your-subdomain>.workers.dev/mcp"
]
}
}
}Cuando las herramientas (en 🔨) 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 el desarrollo local
Si quieres iterar y probar tu servidor MCP, puedes hacerlo en el desarrollo local.
Para la URL de la página de inicio, especifica
http://localhost:8788Para la URL de devolución de llamada de autorización, especifica
http://localhost:8788/callbackAnota tu ID de cliente y genera un secreto de cliente.
Crea un archivo
.dev.varsen 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_KEYDesarrollo y pruebas
Ejecuta el servidor en local para que esté disponible en http://localhost:8788
wrangler dev
Para probar el servidor local, introduce http://localhost:8788/mcp en Inspector y haz clic en conectar. Cuando sigas las indicaciones, podrás usar "List Tools".
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 Type: "Command" y, en el campo Command, combina los campos command y args en uno solo (p. ej., 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, añadiendo el mismo JSON que se usó para la configuración de Claude y reiniciando el cliente MCP.
¿Cómo funciona?
OAuth Provider
La biblioteca OAuth Provider sirve como una implementación completa de servidor OAuth 2.1 para Cloudflare Workers. Gestiona las complejidades del flujo OAuth, incluida la emisión, validación y gestión de tokens. En este proyecto, desempeña una doble función:
Autenticar a los clientes MCP que se conectan a tu servidor
Gestionar la conexión con los servicios OAuth de Access
Almacenar de forma segura los tokens y el estado de autenticación en el almacenamiento KV
Durable MCP
Durable MCP amplía la funcionalidad base de MCP con los Durable Objects de Cloudflare, lo que proporciona:
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.propsCompatibilidad con la 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 de comunicación entre los clientes y tu servidor
Proporciona una forma estructurada de definir herramientas
Gestiona la serialización y deserialización de solicitudes y respuestas
Mantiene la conexión Server-Sent Events (SSE) entre los clientes y tu servidor
This server cannot be installed
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
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Cloudflare Workers MCP server: email-validator
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/vorticmateja/mcp-access-oauth'
If you have feedback or need assistance with the MCP directory API, please join our Discord server