Skip to main content
Glama
danrthompson

Remote MCP Server with GitHub OAuth

by danrthompson

Сервер протокола контекста модели (MCP) + Github OAuth

Это сервер Model Context Protocol (MCP) , который поддерживает удаленные MCP-подключения со встроенным Github OAuth.

Вы можете развернуть его в своей учетной записи Cloudflare, и после того, как вы создадите свое собственное клиентское приложение Github OAuth, у вас будет полностью функциональный удаленный сервер MCP, который вы можете построить. Пользователи смогут подключаться к вашему серверу MCP, войдя в свою учетную запись GitHub.

Вы можете использовать это в качестве справочного примера интеграции других поставщиков OAuth с сервером MCP, развернутым в Cloudflare, с помощью библиотеки workers-oauth-provider .

Сервер MCP (на базе Cloudflare Workers ):

  • Действует как сервер OAuth для ваших клиентов MCP

  • Действует как OAuth -клиент для вашего реального сервера OAuth (в данном случае GitHub)

Начиная

Клонируйте репозиторий напрямую и установите зависимости: npm install .

Кроме того, вы можете использовать командную строку ниже, чтобы создать удаленный сервер MCP на локальном компьютере:

npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-github-oauth

Для производства

Создайте новое приложение GitHub OAuth :

  • В качестве URL-адреса домашней страницы укажите https://mcp-github-oauth.<your-subdomain>.workers.dev

  • Для URL-адреса обратного вызова авторизации укажите https://mcp-github-oauth.<your-subdomain>.workers.dev/callback

  • Запишите свой идентификатор клиента и сгенерируйте секретный код клиента.

  • Установить секреты через Wrangler

wrangler secret put GITHUB_CLIENT_ID
wrangler secret put GITHUB_CLIENT_SECRET
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, указав идентификатор KV.

Развертывание и тестирование

Разверните сервер MCP, чтобы сделать его доступным на вашем домене workers.dev. wrangler deploy

Протестируйте удаленный сервер с помощью Inspector :

npx @modelcontextprotocol/inspector@latest

Введите https://mcp-github-oauth.<your-subdomain>.workers.dev/sse и нажмите connect. После того, как вы пройдете процесс аутентификации, вы увидите, что инструменты работают:

Теперь у вас развернут удаленный сервер MCP!

Контроль доступа

Этот сервер MCP использует GitHub OAuth для аутентификации. Все аутентифицированные пользователи GitHub могут получить доступ к базовым инструментам, таким как «add» и «userInfoOctokit».

Инструмент «generateImage» доступен только определенным пользователям GitHub, перечисленным в конфигурации ALLOWED_USERNAMES :

// Add GitHub usernames for image generation access
const ALLOWED_USERNAMES = new Set([
  'yourusername',
  'teammate1'
]);

Доступ к удаленному серверу 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-github-oauth.<your-subdomain>.workers.dev/sse"
      ]
    }
  }
}

Как только в интерфейсе появятся инструменты (под 🔨), вы можете попросить Клода использовать их. Например: «Не могли бы вы использовать математический инструмент, чтобы сложить 23 и 19?». Клод должен вызвать инструмент и показать результат, сгенерированный сервером MCP.

Для местного развития

Если вы хотите итерировать и тестировать свой сервер MCP, вы можете сделать это в локальной разработке. Для этого вам потребуется создать еще одно приложение OAuth на GitHub:

  • В качестве URL-адреса домашней страницы укажите http://localhost:8788

  • Для URL обратного вызова авторизации укажите http://localhost:8788/callback

  • Запишите свой идентификатор клиента и сгенерируйте секретный код клиента.

  • Создайте файл .dev.vars в корневом каталоге проекта с помощью:

GITHUB_CLIENT_ID=your_development_github_client_id
GITHUB_CLIENT_SECRET=your_development_github_client_secret

Разработка и тестирование

Запустите сервер локально, чтобы сделать его доступным по http://localhost:8788 wrangler dev

Чтобы протестировать локальный сервер, введите http://localhost:8788/sse в Inspector и нажмите connect. После того, как вы выполните подсказки, вы сможете "List Tools".

Использование Claude и других клиентов MCP

При использовании Claude для подключения к удаленному серверу MCP вы можете увидеть некоторые сообщения об ошибках. Это связано с тем, что Claude Desktop пока не поддерживает удаленные серверы MCP, поэтому иногда он путается. Чтобы проверить, подключен ли сервер MCP, наведите курсор на значок 🔨 в правом нижнем углу интерфейса Claude. Вы должны увидеть там свои инструменты.

Использование Cursor и других MCP-клиентов

Чтобы подключить Cursor к вашему серверу MCP, выберите Type : «Команда» и в поле Command объедините поля команда и аргументы в одно (например npx mcp-remote https://<your-worker-name>.<your-subdomain>.workers.dev/sse ).

Обратите внимание, что хотя Cursor поддерживает серверы HTTP+SSE, он не поддерживает аутентификацию, поэтому вам все равно придется использовать mcp-remote (и использовать сервер STDIO, а не HTTP).

Вы можете подключить свой сервер MCP к другим клиентам MCP, таким как Windsurf, открыв файл конфигурации клиента, добавив тот же JSON, который использовался для настройки Клода, и перезапустив клиент MCP.

Related MCP server: Remote MCP Server on Cloudflare

Как это работает?

Поставщик OAuth

Библиотека OAuth Provider служит в качестве полной реализации сервера OAuth 2.1 для Cloudflare Workers. Она обрабатывает сложности потока OAuth, включая выпуск токенов, проверку и управление. В этом проекте она играет двойную роль:

  • Аутентификация клиентов MCP, подключающихся к вашему серверу

  • Управление подключением к сервисам OAuth GitHub

  • Безопасное хранение токенов и состояния аутентификации в хранилище KV

Прочный МКП

Durable MCP расширяет базовую функциональность MCP с помощью Durable Objects от Cloudflare, обеспечивая:

  • Постоянное управление состоянием вашего сервера MCP

  • Безопасное хранение контекста аутентификации между запросами

  • Доступ к аутентифицированной информации пользователя через this.props

  • Поддержка условной доступности инструмента на основе личности пользователя

МКП удаленный

Библиотека MCP Remote позволяет вашему серверу предоставлять инструменты, которые могут вызываться клиентами MCP, такими как Inspector. Она:

  • Определяет протокол для связи между клиентами и вашим сервером.

  • Предоставляет структурированный способ определения инструментов

  • Выполняет сериализацию и десериализацию запросов и ответов.

  • Поддерживает соединение Server-Sent Events (SSE) между клиентами и вашим сервером.

F
license - not found
Not graded
quality - not tested
D
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
    B
    quality
    D
    maintenance
    A Model Context Protocol server that runs on Cloudflare Workers with OAuth login, allowing clients like Claude Desktop to connect to it for tool-augmented AI interactions.
    1
    14
  • -
    license
    C
    quality
    Not graded
    maintenance
    A Model Context Protocol server with GitHub API integration that enables interaction with repositories, issues, pull requests, and file management through a standardized interface.
    1

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • An MCP server that gives your AI access to the source code and docs of all public github repos

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/danrthompson/remote-mcps'

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