Strava

v1.0.0APIsstable

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 S

authenticationcloudflare-workersmcpmodel-context-protocoloauth
Share:
26
Stars
0
Downloads
0
Weekly
0/5

What is Strava?

Strava is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to 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 logi...

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 S

This server falls under the APIs category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • A Model Context Protocol (MCP) server with Strava OAuth inte

Use Cases

Secure OAuth authentication
Fitness data integration
Workout tracking
rbctmz

Maintainer

LicenseMIT License
Languagetypescript
Versionv1.0.0
UpdatedApr 14, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

NPM

npx -y strava

Manual Installation

npx -y strava

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use Strava

The Strava MCP server integrates AI assistants with the Strava fitness platform via OAuth authentication, enabling Claude and other MCP clients to read activity data, analyze training loads, and retrieve performance zones directly from your Strava account. Built with Python and deployed on Cloudflare Workers or locally via uv, it exposes resources and tools for activity retrieval, individual workout analysis, cumulative load assessment, and personalized training recommendations — making it a powerful companion for data-driven athletes.

Prerequisites

  • Python 3.10 or later and the uv package manager (astral.sh/uv)
  • A Strava account and a registered Strava API application at strava.com/settings/api
  • STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET, and STRAVA_REFRESH_TOKEN from your Strava API app
  • An MCP-compatible client such as Claude Desktop or Cursor
1

Clone the repository and install uv

Download the server source and install the uv Python package manager if it is not already present.

git clone https://github.com/rbctmz/mcp-server-strava.git
cd mcp-server-strava
curl -LsSf https://astral.sh/uv/install.sh | sh
2

Install the package and its dependencies

Use uv to install the server and the MCP CLI dependency.

uv pip install -e ".[dev]"
uv add "mcp[cli]"
3

Configure your Strava API credentials

Copy the environment template and fill in your Strava client ID, secret, and refresh token obtained from your Strava API app settings.

cp .env-template .env
# Edit .env and set:
# STRAVA_CLIENT_ID=your_client_id
# STRAVA_CLIENT_SECRET=your_client_secret
# STRAVA_REFRESH_TOKEN=your_refresh_token
4

Run the OAuth authentication script

Execute the auth script to exchange your credentials for an access token and verify connectivity.

python scripts/auth.py
5

Add the server to your Claude Desktop config

Register the MCP server so Claude Desktop can invoke the Strava tools.

{
  "mcpServers": {
    "strava": {
      "command": "uv",
      "args": ["run", "python", "-m", "mcp_server_strava"],
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret",
        "STRAVA_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}
6

Restart Claude Desktop and verify the connection

Restart the client and ask Claude to list your recent Strava activities to confirm the server is working.

Strava Examples

Client configuration

claude_desktop_config.json entry for the Strava MCP server with environment credentials injected.

{
  "mcpServers": {
    "strava": {
      "command": "uv",
      "args": ["run", "python", "-m", "mcp_server_strava"],
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret",
        "STRAVA_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

Prompts to try

Example prompts that exercise activity analysis, training load, and zone data.

- "Show me my last 10 Strava activities with pace and distance"
- "Analyze my training load over the past two weeks and tell me if I'm overreaching"
- "What are my current heart rate training zones?"
- "Give me personalized training recommendations based on my recent runs"
- "Analyze activity 12345678 and summarize my effort and pace"

Troubleshooting Strava

OAuth token refresh fails with 'invalid_grant' error

Strava refresh tokens expire if unused or if the app authorization is revoked. Re-run 'python scripts/auth.py' to generate a fresh refresh token and update your .env file.

Server cannot find STRAVA_CLIENT_ID at runtime

Claude Desktop does not inherit shell environment variables. Set all three Strava credentials in the 'env' block of your claude_desktop_config.json rather than relying on your shell profile.

'uv' command not found when Claude Desktop tries to start the server

Install uv globally with 'curl -LsSf https://astral.sh/uv/install.sh | sh' and ensure ~/.cargo/bin or ~/.local/bin is in the PATH that Claude Desktop uses. You may need to specify the full path to uv in the 'command' field.

Frequently Asked Questions about Strava

What is Strava?

Strava is a Model Context Protocol (MCP) server that 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 s It connects AI assistants to external tools and data sources through a standardized interface.

How do I install Strava?

Install via npm with the command: npx -y strava. Then add the server configuration to your AI client's JSON config file (e.g., claude_desktop_config.json or .cursor/mcp.json).

Which AI clients work with Strava?

Strava works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is Strava free to use?

Yes, Strava is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.

Browse More APIs MCP Servers

Explore all apis servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "strava": { "command": "npx", "args": ["-y", "strava"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use Strava?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides