Gosar
Gosar MCP Server
MCP-сервер, который позволяет Claude вызывать Gosar API от имени пользователя, с аутентификацией через OAuth 2.0 + PKCE от Gosar.
Он действует как мост:
Для Claude (MCP-клиента) он ведёт себя как полноценный OAuth-сервер авторизации — обрабатывает динамическую регистрацию клиентов и выдаёт собственные кратковременные токены.
Для Gosar он является единственным предварительно зарегистрированным OAuth-клиентом (публичным, только с PKCE), который выполняет реальный обмен Authorization Code + PKCE, описанный в руководстве по интеграции Gosar.
Предварительные требования
Python 3.11+
OAuth-клиент Gosar, зарегистрированный в команде Gosar (см. «Что нам нужно от вас» в руководстве по интеграции) — вам нужны
client_idи одобренный redirect URI.ngrok (или аналогичный инструмент), если вы хотите тестировать с реальным Gosar API — redirect URI Gosar должен быть HTTPS и точно совпадать, а Claude также нужен HTTPS-URL для подключения удалённого MCP-сервера.
Related MCP server: lighthouse-mcp-oauth
1. Установка зависимостей
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt2. Настройка .env
Скопируйте имеющиеся значения в .env в корне проекта:
# Real values from the Gosar team
GOSAR_API_BASE_URL=https://api.gosar.example
GOSAR_CLIENT_ID=your-registered-client-id
GOSAR_SCOPES=applications.read applications.write
# Your server's own public HTTPS URL (e.g. your ngrok URL). Gosar's registered
# redirect_uri must be exactly this + GOSAR_REDIRECT_PATH.
MCP_PUBLIC_BASE_URL=https://your-tunnel.ngrok-free.app
GOSAR_REDIRECT_PATH=/gosar/callback
MCP_HOST=0.0.0.0
MCP_PORT=8000
# Generate once and keep stable — see below
JWT_SIGNING_KEY=Сгенерируйте ключ подписи (Gosar — публичный клиент без секрета, поэтому его нельзя получить автоматически — он обязателен):
python -c "import secrets; print(secrets.token_urlsafe(32))"Вставьте вывод в JWT_SIGNING_KEY. Держите его одинаковым между перезапусками, иначе каждый подключённый пользователь будет выходить из системы.
3. Откройте ваш сервер через HTTPS (для реального тестирования Gosar)
Claude и Gosar оба требуют HTTPS. В отдельном терминале:
ngrok http 8000Скопируйте URL https://...ngrok-free.app в MCP_PUBLIC_BASE_URL в .env и отправьте {MCP_PUBLIC_BASE_URL}/gosar/callback команде Gosar как ваш зарегистрированный redirect URI.
4. Запуск сервера
source .venv/bin/activate
python main.pyВы должны увидеть:
Starting MCP server 'Gosar' with transport 'http' on http://0.0.0.0:8000/mcp
Uvicorn running on http://0.0.0.0:8000Автоперезагрузка при изменении кода
python main.py не перезагружается — mcp.run() блокирует выполнение и владеет собственным процессом uvicorn, который нельзя передать файловому наблюдателю для перезагрузки. Для разработки запускайте ASGI-приложение в gosar_mcp/asgi.py напрямую под uvicorn:
uvicorn gosar_mcp.asgi:app --reload --reload-include ".env" --host 0.0.0.0 --port 8000--reloadперезапускает рабочий процесс при изменении любого файла.py.--reload-include ".env"также перезапускает его при редактировании.env(uvicorn по умолчанию следит только за Python-файлами, а переменные окружения читаются только один раз при запуске процесса, поэтому без этого флага изменение.envпотребует ручного перезапуска).Держите порт в соответствии с тем, куда указывает ваш ngrok-туннель.
5. Проверка OAuth-связки
При запущенном сервере убедитесь, что метаданные обнаружения обслуживаются:
curl -s http://127.0.0.1:8000/.well-known/oauth-authorization-server | python3 -m json.toolВы должны увидеть applications.read/applications.write в scopes_supported и S256 как единственный метод PKCE.
6. Подключение к Claude
В настройках коннектора Claude добавьте удалённый MCP-сервер, указав:
https://your-tunnel.ngrok-free.app/mcpClaude зарегистрируется как OAuth-клиент на этом сервере, перенаправит пользователя через согласие, затем через реальный вход Google + экран согласия Gosar, и вернётся сюда с активным подключением. Попросите Claude вызвать инструмент whoami, чтобы подтвердить, что он аутентифицирован как ожидаемая учётная запись Gosar.
Примечания
Хранилище токенов (регистрации клиентов + зашифрованные вышестоящие токены Gosar) по умолчанию использует подходящее для ОС зашифрованное файловое хранилище на диске — дополнительная настройка для локальной разработки не требуется. См.
gosar_mcp/auth.py, чтобы указать другой бэкенд в продакшене.Пути конечных точек
/applicationsвgosar_mcp/tools.py— заглушки: руководство по интеграции определяет только уровень OAuth, а не форму REST API приложений. Уточните реальные пути/полезные нагрузки у команды Gosar и скорректируйте их там.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI agents to Filepad workspaces through OAuth MCP.
OAuth MCP for Google, Meta, X, LinkedIn, Reddit, TikTok, GSC, GA4, WordPress and GHL.
Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
OAuth 2.1 short-link tools for AI agents with scoped tokens, approvals, audit logs, and revocation.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop and other MCP clients to interact with any OAuth2-authenticated OpenAPI-based API through automatic tool generation from OpenAPI specifications, with built-in token management and authentication handling.7 npm3MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude.ai to connect to a Hermes MCP server via OAuth 2.1 authorization code flow with PKCE, acting as a reverse proxy and single-user authorization gateway.-
- FlicenseNot gradedqualityCmaintenanceEnables claude.ai to connect to GitHub MCP using OAuth, providing full toolset for repository, issue, PR, Actions, and gist operations.-
- FlicenseNot gradedqualityCmaintenanceEnables Claude to connect to Livepeer's raw MCP tools over streamable HTTP, with OAuth authorization and dynamic client registration.5 npm1-