# Strava MCP Server: Query Your Strava Data Through Claude in Plain English

> The Strava MCP server is a Model Context Protocol server that connects Claude Desktop or Claude Code to a user's Strava account, letting them ask questions about activities, segments, stats, and routes in natural language without writing any code. It is built for athletes who already use Claude and want their Strava data accessible through the same interface.

**r-huijts/strava-mcp** — A Model Context Protocol (MCP) server that connects to Strava API, providing tools to access Strava data through LLMs

- Repository: https://github.com/r-huijts/strava-mcp
- Stars: 492 · Forks: 92
- Language: TypeScript
- License: MIT
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/r-huijts-strava-mcp

## What the Strava MCP Server Does and Who It Is For

The Strava MCP server implements the Model Context Protocol to expose Strava activity data as tools that Claude can call. Once connected, a user can ask Claude questions in plain English: "How many kilometers did I run this month?", "Analyze my last ride", or "Export my Sunday morning route as a GPX file." Claude translates those questions into Strava API calls and formats the results conversationally.

The server is designed for athletes who already use Claude Desktop or Claude Code as a primary work interface and want Strava data accessible through the same conversation. It is not a standalone app or a web dashboard. It requires an active Strava account and a free Strava API application registered at strava.com/settings/api.

The README positions the use case around four main activities: tracking progress (distances, comparisons over time), analyzing workouts (power, heart rate, cadence, laps), exploring routes and segments, and getting coaching insights such as training load summaries.

## How to Add the Strava MCP Server to Claude Desktop

The quickest setup requires only adding a JSON block to the Claude Desktop configuration file. On macOS, that file is at ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows, it is at %APPDATA%/Claude/claude_desktop_config.json.

```json
{
  "mcpServers": {
    "strava": {
      "command": "npx",
      "args": ["-y", "@r-huijts/strava-mcp-server"]
    }
  }
}
```

After saving the file, restart Claude Desktop. The npx command downloads and runs the package without a separate install step. To add it to Claude Code instead:

```bash
claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server
```

To verify the connection in Claude Code:

```bash
claude mcp list
```

The output should show strava listed with a Connected status. After the server is running, tell Claude "Connect my Strava account." A browser window opens, the user enters their Strava API Client ID and Client Secret, authorizes the app on Strava's website, and the credentials are saved locally at ~/.config/strava-mcp/config.json.

## Available Tools and What They Cover

The README documents the available tools in several categories. Account tools handle connection management, profile retrieval, gear (shoes) listings, and training zone lookups. Activity tools list recent activities, fetch activities by date filter, retrieve lap data, pull heart-rate and power time-series streams in a compact format, and show activity photos. Stats tools show athlete summaries and personal records.

Route tools include segment exploration by location, starred segment management, and GPX or TCX file exports. The route export writes the file to the path set in the ROUTE_EXPORT_PATH environment variable, which can be configured in an .env file alongside the server. The .env.example in the repository shows two variables:

```bash
STRAVA_ACCESS_TOKEN=YOUR_STRAVA_ACCESS_TOKEN_HERE
ROUTE_EXPORT_PATH=./strava-exports
```

The activity stream tool uses an optimized compact format, according to the README, which presumably reduces token consumption when querying large workout streams with many data points.

## Installation Options Beyond npx

The README documents three installation paths. The recommended approach uses npx with the Claude Desktop config snippet and requires no separate install. For users who prefer a permanent global install:

```bash
npm install -g @r-huijts/strava-mcp-server
```

Then update the Claude Desktop config to use the command strava-mcp-server directly, without npx. The README notes that despite the npm package name @r-huijts/strava-mcp-server, the executable is named strava-mcp-server for backward compatibility.

For developers who want to modify the server, the build-from-source path clones the repository, runs npm install and npm run build, and then points Claude's config at the local dist/server.js file. The repository is written in TypeScript and compiled with tsc. Runtime dependencies are minimal: @modelcontextprotocol/sdk, axios, dotenv, open, and zod.

The server requires Node.js 18 or newer, as specified in package.json.

## A Real Limitation: Strava API Credentials Are Required

Using this server requires creating a free Strava API application at strava.com/settings/api. This is a one-time step, but it involves filling out a form on Strava's developer portal and setting the Authorization Callback Domain to localhost. Users who have never created an API application may find the step unfamiliar.

The credentials (Client ID and Client Secret) are stored locally at ~/.config/strava-mcp/config.json after the first authorization. If that file is deleted or the user switches machines, the authorization flow must be repeated. The README documents how to reconnect by saying "Connect my Strava account" with force: true, and how to disconnect by saying "Disconnect my Strava account."

The server does not work with Strava's free tier limitations or data export restrictions. Any data Strava's API exposes is accessible; anything Strava gates behind a premium plan or restricts in its API terms is not available through this server.

## How This Compares to the Strava API Directly

The direct alternative is building a Python or JavaScript script that calls the Strava API with requests or axios. The Strava REST API exposes the same activity, segment, and athlete endpoints that this MCP server wraps. A direct script gives full control over query parameters, pagination, and output format, but requires writing code for each query and handling OAuth token refresh manually.

The MCP server trades query flexibility for convenience. A user who wants to ask an ad-hoc question without writing code benefits from the natural language interface. A developer who needs to build a batch export or automated report would be better served by a direct API script, since the MCP server is designed for interactive conversation rather than bulk data processing.

Maintenance note: the last push to this repository was on 2026-06-13. The MIT license applies to the CLI code; use of Strava data is subject to Strava's API agreement.

## Conclusion

The Strava MCP server is the right tool for a Claude user who wants natural-language access to their Strava activity data without building a custom integration. The zero-install path via npx means no version management is needed. Anyone working with Claude Code should check the repository on GitHub before adopting it for long-term use, since the last push was on 2026-06-13 and there are no GitHub releases to pin against.

## FAQ

### How do you use the Strava MCP server with Claude?

Add the MCP server to Claude Desktop by editing the claude_desktop_config.json file to include the strava server entry using npx, restart Claude Desktop, and then tell Claude to connect your Strava account. A browser window opens for OAuth authorization using your Strava API credentials.

### How do you add the Strava MCP server to Claude Code?

Run claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server in your terminal. Confirm the connection with claude mcp list, which should show strava as Connected.

### What is the Strava MCP server?

It is a Model Context Protocol server that connects Claude Desktop or Claude Code to your Strava account, allowing you to query activity data, analyze workouts, and export routes using plain-English questions to Claude.

### Is the Strava MCP server free to use?

The server code is MIT licensed and free to use. Running it requires a free Strava API application (registered at strava.com/settings/api) and a Claude account. The npx install path has no additional cost beyond normal npm usage.

## Sources

- [Issues](https://github.com/r-huijts/strava-mcp/issues)
- [License: MIT](https://github.com/r-huijts/strava-mcp/blob/main/LICENSE)
- [README](https://github.com/r-huijts/strava-mcp/blob/main/README.md)
- [r-huijts/strava-mcp on GitHub](https://github.com/r-huijts/strava-mcp)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/r-huijts-strava-mcp
