OIDC认证服务器

基于fastmcp库构建的MCP服务器,实现OpenID Connect (OIDC)认证,支持OAuth/OIDC授权和MCN API调用。

  • by purpleratchet
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 purpleratchet/mcn-mcp-py

使用说明

MCN MCP Server

Этот проект содержит MCP-сервер, построенный на базе библиотеки fastmcp, который реализует авторизацию по протоколу OpenID Connect (OIDC) для сервисов MCN. Сервер выполняет следующие задачи:

  • Конфигурируется через переменные окружения (см. mcn_mcp_server/config.py).
  • Осуществляет OAuth/OIDC-авторизацию с использованием PKCE и, при наличии, клиентского секрета.
  • Предоставляет асинхронный клиент McnApiClient, готовый к вызовам API магазина MCN после авторизации.
  • Экспортирует MCP-приложение app, которое может быть запущено с помощью fastmcp и предоставляет OAuth-точки входа для ChatGPT.

Конфигурация

Необходимые переменные окружения с префиксом MCN_:

  • CLIENT_ID – идентификатор зарегистрированного OIDC-клиента.
  • CLIENT_SECRET – секрет клиента (может быть опущен для публичных клиентов).
  • REDIRECT_URI – разрешённый redirect URI клиента.
  • SCOPE – список требуемых скоупов (по умолчанию openid profile offline_access).
  • OIDC_ISSUER – URL издателя OIDC (по умолчанию https://base.mcn.ru).
  • TOKEN_AUDIENCE – необязательная аудитория для токена.

После настройки переменных окружения сервер можно запустить стандартным способом для fastmcp, например:

python -m fastmcp run mcn_mcp_server:app

После успешной авторизации станет доступен инструмент get_profile, который возвращает профиль текущего пользователя из магазина MCN. Следующим шагом можно расширить клиент для получения каталога товаров и других данных.