Gosar
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gosarshow me my applications"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gosar MCP Server
An MCP server that lets Claude call the Gosar API on a user's behalf, authenticated via Gosar's OAuth 2.0 + PKCE flow.
It acts as a bridge:
To Claude (the MCP client), it behaves like a full OAuth authorization server — handling dynamic client registration and issuing its own short-lived tokens.
To Gosar, it is the single, pre-registered OAuth client (public, PKCE-only) that performs the real Authorization Code + PKCE exchange described in Gosar's integration guide.
Prerequisites
Python 3.11+
A Gosar OAuth client registered with the Gosar team (see "What we need from you" in the integration guide) — you need a
client_idand an approved redirect URI.ngrok (or similar) if you want to test against the real Gosar API — Gosar's redirect URI must be HTTPS and match exactly, and Claude also needs an HTTPS URL to connect a remote MCP server to.
Related MCP server: Strava MCP Server
1. Install dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt2. Configure .env
Copy the values you have into .env at the project root:
# 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=Generate a signing key (Gosar is a public client with no secret, so this can't be derived automatically — it's required):
python -c "import secrets; print(secrets.token_urlsafe(32))"Paste the output into JWT_SIGNING_KEY. Keep it the same across restarts, or every
connected user gets logged out.
3. Expose your server over HTTPS (for real Gosar testing)
Claude and Gosar both require HTTPS. In a separate terminal:
ngrok http 8000Copy the https://...ngrok-free.app URL into MCP_PUBLIC_BASE_URL in .env, and send
{MCP_PUBLIC_BASE_URL}/gosar/callback to the Gosar team as your registered redirect
URI.
4. Run the server
source .venv/bin/activate
python main.pyYou should see:
Starting MCP server 'Gosar' with transport 'http' on http://0.0.0.0:8000/mcp
Uvicorn running on http://0.0.0.0:8000Auto-reload on code changes
python main.py does not reload — mcp.run() blocks and owns its own uvicorn
process, which can't be handed to a file-watching reloader. For development, run the
ASGI app in gosar_mcp/asgi.py under uvicorn directly instead:
uvicorn gosar_mcp.asgi:app --reload --reload-include ".env" --host 0.0.0.0 --port 8000--reloadrestarts the worker process whenever a.pyfile changes.--reload-include ".env"also restarts it when you edit.env(uvicorn only watches Python files by default, and env vars are only read once at process startup, so without this flag a.envedit needs a manual restart).Keep the port in sync with whatever your ngrok tunnel points at.
5. Sanity-check the OAuth wiring
With the server running, confirm discovery metadata is served:
curl -s http://127.0.0.1:8000/.well-known/oauth-authorization-server | python3 -m json.toolYou should see applications.read/applications.write in scopes_supported and
S256 as the only PKCE method.
6. Connect it to Claude
In Claude's connector settings, add a remote MCP server pointing at:
https://your-tunnel.ngrok-free.app/mcpClaude will register itself as an OAuth client against this server, redirect the user
through consent, then through Gosar's real Google sign-in + consent screen, and land
back here with an active connection. Ask Claude to call the whoami tool to confirm
it's authenticated as the expected Gosar account.
Notes
Token storage (client registrations + encrypted upstream Gosar tokens) defaults to an OS-appropriate encrypted file store on disk — no extra setup needed for local dev. See
gosar_mcp/auth.pyfor where to point this at a different backend in production.gosar_mcp/tools.py's/applicationsendpoint paths are placeholders — the integration guide only specifies the OAuth layer, not the Applications REST API shape. Confirm the real paths/payloads with the Gosar team and adjust there.
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