Skip to main content
Glama
codezerowork

mcp-oauth2-token-provider

by codezerowork

mcp-oauth2-token-provider

Универсальный MCP-сервер (Model Context Protocol), который выступает в роли аутентифицированного прокси между AI IDE и удалёнными MCP-эндпоинтами. Обрабатывает генерацию токенов OAuth2 client_credentials внутри себя и прозрачно внедряет bearer-токены во все проксируемые запросы.

Возможности

  • Прозрачный OAuth2-прокси — получает, кэширует и автоматически обновляет токены

  • Динамическое обнаружение инструментов — без жёстко заданных схем инструментов; обнаруживает инструменты с удалённого MCP-эндпоинта

  • Автоповтор при 401 — если токен истёк в середине сессии, обновляет его и повторяет запрос один раз

  • Проверка работоспособности при запуске — проверяет доступность удалённого MCP до подключения; при сбое быстро завершает работу с понятным сообщением об ошибке

  • Персистентность токенов — сохраняет токены на диск в ~/.oauth2-token-provider/token.json, чтобы переживать перезапуски процесса

  • Ноль конфигурации в коде — все настройки через переменные окружения

  • Поддержка SSE и JSON-ответов — обрабатывает как Streamable HTTP, так и обычный JSON-RPC от удалённого сервера

Related MCP server: MCP OAuth Proxy

Установка

npx mcp-oauth2-token-provider

Или установите глобально:

npm install -g mcp-oauth2-token-provider

Использование с Kiro / VS Code MCP

Добавьте в .kiro/settings/mcp.json (или аналогичный файл):

{
  "mcpServers": {
    "my-remote-server": {
      "command": "npx",
      "args": ["mcp-oauth2-token-provider"],
      "env": {
        "REMOTE_MCP_URL": "https://your-server.com/mcp",
        "OAUTH2_TOKEN_URL": "https://your-sso.com/token.oauth2",
        "OAUTH2_CLIENT_ID": "your-client-id",
        "OAUTH2_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Переменные окружения

Переменная

Обязательно

Описание

REMOTE_MCP_URL

Да

URL удалённого MCP-эндпоинта для проксирования

OAUTH2_TOKEN_URL

Да

Эндпоинт токена OAuth2 (грант client_credentials)

OAUTH2_CLIENT_ID

Да

Идентификатор клиента OAuth2

OAUTH2_CLIENT_SECRET

Да

Секрет клиента OAuth2

OAUTH2_BASIC_USERNAME

Нет

Имя пользователя для Basic-аутентификации (для SSO с двойными учётными данными)

OAUTH2_BASIC_PASSWORD

Нет

Пароль для Basic-аутентификации (для SSO с двойными учётными данными)

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

AI IDE ←stdio→ [mcp-oauth2-token-provider] ←HTTP+Bearer→ [Remote MCP Server]
                         │
                         ├─ Acquires OAuth2 token (client_credentials)
                         ├─ Caches in memory + ~/.oauth2-token-provider/token.json
                         ├─ Injects Bearer header on every request
                         ├─ Auto-refreshes on expiry (60s safety margin)
                         └─ Retries once on 401 with fresh token
  1. При запуске проверяет доступность удалённого MCP-эндпоинта (отправляет MCP initialize)

  2. Если удалённый сервер недоступен, завершает работу с ошибкой (IDE показывает статус «Сбой»)

  3. Если всё в порядке, подключается к IDE через stdio и обнаруживает инструменты с удалённого сервера

  4. Все вызовы инструментов прозрачно проксируются с bearer-токеном

Кэширование токенов

Токены кэшируются на двух уровнях:

  • В памяти — самый быстрый, теряется при перезапуске процесса

  • На диске~/.oauth2-token-provider/token.json, переживает перезапуски

Токен обновляется, когда:

  • До его истечения осталось менее 60 секунд

  • Получен ответ 401 от удалённого сервера

SSO с двойными учётными данными (необязательно)

Некоторые SSO-провайдеры требуют оба варианта:

  • client_id + client_secret в теле запроса

  • Заголовок Basic Auth с учётными данными сервисного аккаунта

Установите OAUTH2_BASIC_USERNAME и OAUTH2_BASIC_PASSWORD, чтобы включить этот режим.

Лицензия

MIT

A
license - permissive license
-
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

View all related MCP servers

Related MCP Connectors

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.

  • MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration

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/codezerowork/mcp-oauth2-token-provider'

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