Skip to main content
Glama
rodolfostoicus

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) между клиентами и вашим сервером

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