Strava MCP logo

Strava MCP

by r-huijts

Connects AI clients to Strava for activity analysis, statistics, routes, segments, photos, laps, and athlete data.

Install Strava MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "r-huijts-strava-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@r-huijts/strava-mcp-server"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

The r-huijts/strava-mcp MCP server connects MCP-compatible AI clients to the Strava API through a local stdio process. It supports athlete profiles and statistics, activity history and details, time-series streams, laps, photos, routes, segments, clubs, and training zones. Account linking opens a browser for Strava authorization, while credentials and tokens are stored locally. Reach for it when an agent needs to retrieve, analyze, manage, or export data from an authenticated Strava account.

Use cases

  • Analyze heart-rate, power, pace, elevation, or GPS streams
  • Compare activity totals across recent, yearly, or all-time periods
  • Find and manage nearby or starred Strava segments
  • Export saved routes as GPX or TCX files
  • Review laps, photos, and detailed activity records

Key features

  • Strava activity and athlete data access
  • Time-series streams with statistics and downsampling
  • Segment discovery, efforts, and starring
  • Route listing and GPX or TCX export
  • Browser-based account connection
  • Compact and verbose response formats

Tools24

What Strava MCP lets your agent do. Expand a tool for its parameters.

Verified live~3.9k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

20/21 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · @r-huijts/strava-mcp-server (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars502Stargazers on the source repository.
npm downloads1.9kPackage downloads in the last 30 days.
Last commit4mo agoMost recent push to the default branch.
Tools exposed24Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Strava MCP works

What r-huijts/strava-mcp MCP server does

The r-huijts/strava-mcp MCP server exposes Strava account and activity data as MCP tools for an AI client. It can retrieve the authenticated athlete's profile, recent or filtered activity history, statistics, configured heart-rate and power zones, clubs, routes, and starred segments. Activity-focused tools provide detailed records, laps, photos, and time-series streams such as heart rate, power, speed, GPS coordinates, pace, and elevation.

The server also supports segment discovery and management. Agents can search for popular segments in a geographic area, inspect segment and effort details, list an athlete's efforts, and star or unstar segments. Route tools list created routes, retrieve route details, and export routes as GPX or TCX files to a configured local directory.

How it works

The package runs as a standard stdio MCP server. A client starts it with npx, a globally installed executable, or a locally built Node.js entry point. After the server is available, the connect-strava tool opens a browser-based setup flow. The user enters Strava API application credentials, authorizes access on Strava, and returns to the client. Connection status and disconnection are handled through separate tools.

Activity stream retrieval is designed for large datasets. The caller can select a resolution with max_points; large results are downsampled and divided into messages of about 50 KB. Responses include activity metadata, available streams, units, and statistics such as minimum, maximum, and average values where applicable. Compact output uses smaller arrays and minified JSON, while verbose output provides more readable objects. Stream availability depends on the activity and its recorded data.

Setup and configuration

The documented quick-start configuration uses Claude Desktop with npx -y @r-huijts/strava-mcp-server. Claude Code can add the same stdio server with claude mcp add --transport stdio. The package can also be installed globally with npm or built from the GitHub source using npm install and npm run build.

The r-huijts/strava-mcp MCP server requires a Strava API application with a localhost authorization callback domain. Client ID and client secret are entered through the browser setup flow rather than supplied as documented environment variables. Configuration and saved credentials are stored locally at ~/.config/strava-mcp/config.json.

Use check-strava-connection to inspect the current status, connect-strava to authenticate or reconnect, and disconnect-strava to remove the stored connection.

Tools and capabilities

  • Retrieve athlete profiles, stats, zones, clubs, and complete or recent activity lists.
  • Fetch activity details, laps, photos, and detailed time-series streams.
  • Analyze stream data in compact or verbose formats with statistics and downsampling.
  • List, inspect, search, star, and unstar Strava segments and review segment efforts.
  • List routes, inspect route details, and export routes as GPX or TCX files.
  • Connect, inspect, and disconnect the Strava account.
  • Return the server version and related metadata.

Limitations and notes

The r-huijts/strava-mcp MCP server depends on the permissions granted by Strava. Activity streams require the activity:read scope. Lap and photo access for private activities requires activity:read_all; public or follower-visible data can use activity:read as documented. Older activities may contain fewer streams, and not every activity provides every metric.

The athlete statistics tool requires the numeric athlete ID returned by the profile tool. Large activity responses are automatically chunked, and callers can use max_points to control data density. Route exports are saved locally, so the client environment must provide the configured destination.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Strava MCP

r-huijts/strava-mcp is an MCP server that connects AI clients to the Strava API. Its main tools retrieve athlete profiles, activities, stats, laps, photos, routes, segments, efforts, clubs, zones, and activity streams, while also supporting Strava authentication, connection checks, disconnection, and route export.

Install it by configuring your MCP client to run `npx -y @r-huijts/strava-mcp-server`. You can also install the package globally with npm or clone the repository, install dependencies, build it, and run the generated Node.js server.

Connect Strava by invoking `connect-strava`, which opens a browser setup page. Enter your Strava API client ID and secret, authorize the application on Strava, and return to the client. Credentials and tokens are saved locally in `~/.config/strava-mcp/config.json`.

Yes, it can export a Strava route as GPX or TCX and save the result to a pre-configured local directory. First use the route-listing or route-detail tools to identify the route, then call the corresponding export tool.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewStrava MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/r-huijts-strava-mcp?style=directory)](https://allmcps.com/mcp/r-huijts-strava-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/r-huijts-strava-mcp"><img src="https://allmcps.com/api/badge/r-huijts-strava-mcp?style=directory" alt="Strava MCP on AllMCPs" /></a>