strava
A Model Context Protocol (MCP) server with Strava OAuth integration, built on Cloudflare Workers. Enables secure authentication and tool access for MCP clients like Claude and Cursor through Strava login. Perfect for developers looking to integrate Strava authentication with AI tools.
claude mcp add --transport stdio kw510-strava-mcp npm start \ --env CF_KV_NAMESPACE="OAUTH_KV (Cloudflare KV namespace ID)" \ --env STRAVA_CLIENT_ID="Your Strava client id" \ --env STRAVA_CLIENT_SECRET="Your Strava client secret"
How to use
This MCP server provides an OAuth 2.1 provider that authenticates MCP clients using Strava as the external identity provider. It acts as the OAuth authorization server for your MCP clients while also delegating user authentication to Strava. Once deployed (to Cloudflare Workers), clients can connect to this MCP server to obtain access tokens and user context via Strava-authenticated sessions. The included workflow supports issuing tokens, validating them, and securely storing session data in KV, making it suitable for integrating Strava-powered user data into MCP-powered tools and workflows.
To use the tooling, deploy the server to Cloudflare, configure your Strava application and environment variables (client id/secret), and then connect MCP clients (like Claude Desktop or other MCP-enabled tools) to the server's OAuth endpoints. For development and testing, you can use the Inspector tool to monitor authentication flows and the Claude Desktop integration to manage OAuth flows from your desktop environment. The README’s example shows how to reference this MCP server from Claude Desktop by supplying the server URL endpoint and letting the MCP framework handle the rest of the OAuth dance with Strava as the provider.
How to install
Prerequisites:
- Strava account and Strava API credentials (client ID and client secret)
- Cloudflare account and Wrangler CLI installed (npm i -g wrangler)
- Node.js and npm installed
Installation steps:
-
Clone the repository and install dependencies: git clone https://github.com/kw510/strava-mcp.git cd strava-mcp npm install
-
Set up Strava API credentials (production):
- In Strava Settings, create an application and configure the callback domains/URLs as described in the README.
- Set environment secrets for production: wrangler secret put STRAVA_CLIENT_ID wrangler secret put STRAVA_CLIENT_SECRET
-
Configure the Cloudflare KV namespace (production): wrangler kv:namespace create "OAUTH_KV" Update wrangler.toml with the generated KV ID.
-
Start development server locally (for testing): wrangler dev The server will be available at http://localhost:8788
-
Deploy to Cloudflare Workers (production): wrangler publish
Note: The exact entry point for running locally in this setup is handled by the Wrangler/Cloudflare Worker environment. The npm start script should boot the local development server as described in the repository.
Additional notes
Tips and common considerations:
- Ensure the Strava OAuth callback URLs in your Strava application match exactly what is configured in your environment (production vs development).
- For development, you can create a separate Strava app and use localhost callbacks as outlined in the README.
- Environment variables to configure include STRAVA_CLIENT_ID and STRAVA_CLIENT_SECRET; these should be kept secret and loaded as secrets in Cloudflare/Wrangler.
- The MCP remote capabilities rely on the mcp-remote compatibility; when configuring clients (like Claude Desktop), point them to the server’s OAuth endpoints and the provided SSE stream for token refresh and session management.
- Rate limits for Strava API: 200 requests per 15 minutes and 2,000 requests per day; plan your integration accordingly to avoid hitting limits.
Related MCP Servers
CanvasMCPClient
Canvas MCP Client is an open-source, self-hostable dashboard application built around an infinite, zoomable, and pannable canvas. It provides a unified interface for interacting with multiple MCP (Model Context Protocol) servers through a flexible, widget-based system.
1xn-vmcp
vMCP - Virtual Model Context Protocol
keycloak-model-context-protocol
MCP server implementation for Keycloak user management. Enables AI-powered administration of Keycloak users and realms through the Model Context Protocol (MCP). Seamlessly integrates with Claude Desktop and other MCP clients for automated user operations.
mcp-stytch-consumer-todo-list
Workers + Stytch TODO App MCP Server
mcp-auth s
🔒 Reference MCP servers that demo how authentication works with the current Model Context Protocol spec.
whoop -claude
Model Context Protocol server for WHOOP API integration. Connect your WHOOP fitness data to Claude Desktop with full OAuth authentication and 18+ API endpoints.