mcp-access-oauth
Сервер Model Context Protocol (MCP) + Access OAuth
Это сервер Model Context Protocol (MCP), поддерживающий удалённые MCP-подключения со встроенной аутентификацией Access OAuth.
Вы можете развернуть его в своей учётной записи Cloudflare, и после создания собственного OIDC-приложения Access for SaaS у вас будет полнофункциональный удалённый MCP-сервер, который можно дорабатывать. Пользователи смогут подключаться к вашему MCP-серверу, входя в систему через подключённого поставщика удостоверений Access.
MCP-сервер (работающий на базе Cloudflare Workers):
Выступает в роли OAuth-сервера для ваших MCP-клиентов
Выступает в роли OAuth-клиента для вашего настоящего OAuth-сервера (в данном случае — Access)
Начало работы
Клонируйте репозиторий и установите зависимости: npm install
Для продакшена
Создайте новое OIDC-приложение Access for SaaS:
В поле URL обратного вызова авторизации укажите
https://mcp-access-oauth.<ваш-поддомен>.workers.dev/callbackиhttp://localhost:8788/callback(если разрабатываете локально).Запомните ваш Client ID и Client secret.
Установите секреты через 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Настройте пространство имён KV
Создайте пространство имён KV:
wrangler kv:namespace create "OAUTH_KV"Обновите файл Wrangler, указав ID KV
Развёртывание и тестирование
Разверните MCP-сервер, чтобы он стал доступен в вашем домене workers.dev:
wrangler deploy
Протестируйте удалённый сервер с помощью Inspector:
npx @modelcontextprotocol/inspector@latestВведите https://mcp-access-oauth.<ваш-поддомен>.workers.dev/mcp и нажмите «Подключиться». После прохождения аутентификации вы увидите работающие инструменты:
Теперь у вас развёрнут удалённый MCP-сервер!
Управление доступом
Этот MCP-сервер использует Access для аутентификации. Все аутентифицированные пользователи Access могут использовать базовые инструменты, например «add».
Инструмент «generateImage» ограничен для определённых пользователей Access, перечисленных в конфигурации ALLOWED_USERNAMES:
// Add user emails for image generation access
const ALLOWED_EMAILS = new Set(["employee1@mycompany.com", "teammate1@mycompany.com"]);Подключение удалённого MCP-сервера к Claude Desktop
Откройте Claude Desktop и перейдите в Settings -> Developer -> Edit Config. Откроется файл конфигурации, управляющий тем, к каким MCP-серверам может обращаться Claude.
Замените содержимое следующей конфигурацией. После перезапуска Claude Desktop откроется окно браузера со страницей входа OAuth. Завершите процесс аутентификации, чтобы предоставить Claude доступ к вашему MCP-серверу. После предоставления доступа инструменты станут доступны для использования.
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-access-oauth.<your-subdomain>.workers.dev/mcp"
]
}
}
}Когда инструменты (под 🔨) появятся в интерфейсе, вы можете попросить Claude их использовать. Например: «Не могли бы вы использовать математический инструмент, чтобы сложить 23 и 19?». Claude должен вызвать инструмент и показать результат, сгенерированный MCP-сервером.
Для локальной разработки
Если вы хотите вносить изменения и тестировать MCP-сервер локально, это можно сделать в режиме локальной разработки.
В поле URL домашней страницы укажите
http://localhost:8788В поле URL обратного вызова авторизации укажите
http://localhost:8788/callbackЗапомните ваш Client ID и сгенерируйте Client secret.
Создайте файл
.dev.varsв корне проекта со следующим содержимым:
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Разработка и тестирование
Запустите сервер локально, чтобы он был доступен по адресу http://localhost:8788:
wrangler dev
Чтобы протестировать локальный сервер, введите http://localhost:8788/mcp в Inspector и нажмите «Подключиться». После выполнения инструкций вы сможете «List Tools».
Использование Claude и других MCP-клиентов
При подключении Claude к вашему удалённому MCP-серверу могут появляться сообщения об ошибках. Это связано с тем, что Claude Desktop пока не поддерживает удалённые MCP-серверы, поэтому иногда он путается. Чтобы проверить, подключён ли MCP-сервер, наведите курсор на значок 🔨 в правом нижнем углу интерфейса Claude. Вы должны увидеть доступные инструменты.
Использование Cursor и других MCP-клиентов
Чтобы подключить Cursor к вашему MCP-серверу, выберите Type: «Command» и в поле Command объедините команду и аргументы в одну строку (например, npx mcp-remote https://<имя-вашего-воркера>.<ваш-поддомен>.workers.dev/mcp).
Обратите внимание: хотя Cursor поддерживает серверы HTTP+SSE, он не поддерживает аутентификацию, поэтому вам всё равно нужно использовать mcp-remote (и использовать STDIO-сервер, а не HTTP).
Вы можете подключить свой MCP-сервер к другим MCP-клиентам, например Windsurf, открыв файл конфигурации клиента, добавив тот же JSON, который использовался для настройки Claude, и перезапустив MCP-клиент.
Related MCP server: MCP Access OAuth Server
Как это работает?
OAuth-провайдер
Библиотека OAuth Provider представляет собой полноценную реализацию сервера OAuth 2.1 для Cloudflare Workers. Она берёт на себя все сложности OAuth-потока, включая выпуск, проверку и управление токенами. В этом проекте она выполняет двойную роль:
Аутентификация MCP-клиентов, подключающихся к вашему серверу
Управление подключением к OAuth-сервисам Access
Безопасное хранение токенов и состояния аутентификации в KV-хранилище
Durable MCP
Durable MCP расширяет базовую функциональность MCP с помощью Durable Objects от Cloudflare, обеспечивая:
Постоянное управление состоянием вашего MCP-сервера
Безопасное хранение контекста аутентификации между запросами
Доступ к информации об аутентифицированном пользователе через
this.propsПоддержку условной доступности инструментов в зависимости от личности пользователя
MCP Remote
Библиотека MCP Remote позволяет вашему серверу предоставлять инструменты, которые могут вызывать MCP-клиенты, такие как Inspector. Она:
Определяет протокол связи между клиентами и вашим сервером
Предоставляет структурированный способ определения инструментов
Обрабатывает сериализацию и десериализацию запросов и ответов
Поддерживает соединение Server-Sent Events (SSE) между клиентами и вашим сервером
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
- Flicense-qualityDmaintenanceA 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.
- Flicense-qualityCmaintenanceA 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.
- Flicense-qualityDmaintenanceDeployable MCP server with Google OAuth for remote connections, enabling authenticated tool access via Cloudflare Workers.
- Flicense-qualityCmaintenanceRemote MCP server with built-in OAuth authentication via Cloudflare Access, enabling secure tool access and user identity-based restrictions.
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Cloudflare Workers MCP server: email-validator
Cloud-hosted MCP server for durable AI memory
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/rodolfostoicus/mcp-access-oauth'
If you have feedback or need assistance with the MCP directory API, please join our Discord server