Gosar
Gosar MCP Server
Un servidor MCP que permite a Claude llamar a la API de Gosar en nombre de un usuario, autenticado mediante el flujo OAuth 2.0 + PKCE de Gosar.
Actúa como puente:
Para Claude (el cliente MCP), se comporta como un servidor de autorización OAuth completo: gestiona el registro dinámico de clientes y emite sus propios tokens de corta duración.
Para Gosar, es el único cliente OAuth pre-registrado (público, solo PKCE) que realiza el intercambio real de Código de Autorización + PKCE descrito en la guía de integración de Gosar.
Requisitos previos
Python 3.11+
Un cliente OAuth de Gosar registrado con el equipo de Gosar (consulta "Qué necesitamos de ti" en la guía de integración): necesitas un
client_idy una URI de redirección aprobada.ngrok (o similar) si quieres probar contra la API real de Gosar: la URI de redirección de Gosar debe ser HTTPS y coincidir exactamente, y Claude también necesita una URL HTTPS para conectar un servidor MCP remoto.
Related MCP server: Strava MCP Server
1. Instalar dependencias
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt2. Configurar .env
Copia los valores que tengas en .env en la raíz del proyecto:
# 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=Genera una clave de firma (Gosar es un cliente público sin secreto, por lo que no se puede derivar automáticamente; es obligatorio):
python -c "import secrets; print(secrets.token_urlsafe(32))"Pega la salida en JWT_SIGNING_KEY. Mantenla igual entre reinicios, o todos los usuarios conectados se desconectarán.
3. Exponer tu servidor a través de HTTPS (para pruebas reales con Gosar)
Tanto Claude como Gosar requieren HTTPS. En una terminal separada:
ngrok http 8000Copia la URL https://...ngrok-free.app en MCP_PUBLIC_BASE_URL en .env, y envía {MCP_PUBLIC_BASE_URL}/gosar/callback al equipo de Gosar como tu URI de redirección registrada.
4. Ejecutar el servidor
source .venv/bin/activate
python main.pyDeberías ver:
Starting MCP server 'Gosar' with transport 'http' on http://0.0.0.0:8000/mcp
Uvicorn running on http://0.0.0.0:8000Recarga automática en cambios de código
python main.py no se recarga: mcp.run() bloquea y posee su propio proceso de uvicorn, que no se puede entregar a un recargador que vigile archivos. Para desarrollo, ejecuta la aplicación ASGI en gosar_mcp/asgi.py directamente bajo uvicorn:
uvicorn gosar_mcp.asgi:app --reload --reload-include ".env" --host 0.0.0.0 --port 8000--reloadreinicia el proceso del worker cada vez que cambia un archivo.py.--reload-include ".env"también lo reinicia cuando editas.env(uvicorn solo vigila archivos Python por defecto, y las variables de entorno solo se leen una vez al iniciar el proceso, por lo que sin esta bandera, una edición de.envrequiere un reinicio manual).Mantén el puerto sincronizado con lo que apunte tu túnel de ngrok.
5. Verificar la configuración de OAuth
Con el servidor en ejecución, confirma que se sirven los metadatos de descubrimiento:
curl -s http://127.0.0.1:8000/.well-known/oauth-authorization-server | python3 -m json.toolDeberías ver applications.read/applications.write en scopes_supported y S256 como único método PKCE.
6. Conectarlo a Claude
En la configuración del conector de Claude, añade un servidor MCP remoto que apunte a:
https://your-tunnel.ngrok-free.app/mcpClaude se registrará como cliente OAuth contra este servidor, redirigirá al usuario a través del consentimiento, luego a la pantalla real de inicio de sesión de Google + consentimiento de Gosar, y volverá aquí con una conexión activa. Pide a Claude que llame a la herramienta whoami para confirmar que está autenticado como la cuenta de Gosar esperada.
Notas
El almacenamiento de tokens (registros de clientes + tokens de Gosar cifrados) por defecto es un almacén de archivos cifrado apropiado para el sistema operativo en disco: no se necesita configuración adicional para el desarrollo local. Consulta
gosar_mcp/auth.pypara saber dónde apuntar a un backend diferente en producción.Las rutas de endpoint
/applicationsdegosar_mcp/tools.pyson marcadores de posición: la guía de integración solo especifica la capa OAuth, no la forma de la API REST de Applications. Confirma las rutas/cargas útiles reales con el equipo de Gosar y ajústalas allí.
This server cannot be installed
Maintenance
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
- 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.83MIT
- FlicenseBqualityDmaintenanceConnects Claude or any MCP client to the Strava API v3, enabling access to fitness data such as activities, athletes, clubs, segments, routes, and streams.37
- FlicenseNot gradedqualityBmaintenanceEnables 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.
- AlicenseNot gradedqualityDmaintenanceEnables Claude to interact with Basecamp API for project and to-do management via OAuth authentication.60MIT
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/feranmiemmanuel/gosar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server