Skip to main content
Glama
tayden-b

strava-mcp

by tayden-b

Strava MCP Server

An open-source Model Context Protocol (MCP) server that connects AI agents to your Strava data.

Features

  • Headless Adapter: No UI, just pure MCP tools and resources.

  • Privacy First: Tokens stored locally (~/.config/strava-mcp/), never sent to 3rd parties.

  • Resilient: Built-in rate limiting (handles 429s) and SQLite caching.

  • Educational: Clean, readable Python 3.11+ code with type hints.

Related MCP server: Strava MCP Server

Prerequisites

  • Python 3.11 or higher

  • Strava Account (for API credentials)

Quick Start (Dry Run)

You can test the server immediately without Strava credentials using the mock data mode.

# Install dependencies
python3 -m pip install -e .

# Run the smoke test (verifies MCP protocol via stdio)
python3 scripts/smoke_test.py

Setup (Real Data)

1. Get Strava Credentials

  1. Go to Strava API Settings.

  2. Create an application.

    • Callback Domain: localhost

2. Authorization

Run the local helper script to perform the OAuth handshake. This will open your browser.

export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret
python3 scripts/strava_auth.py

Tokens are saved to ~/.config/strava-mcp/credentials.json.

3. Usage with Claude Code

Configure claude to use this server.

File: ~/.config/claude/config.json (or equivalent MCP manager config)

{
  "mcpServers": {
    "strava": {
      "command": "python3",
      "args": ["-m", "strava_mcp.server"],
      "env": {
        "PYTHONPATH": "/path/to/strava-mcp/src" 
      }
    }
  }
}

Or run directly if installed in your environment:

{
  "mcpServers": {
    "strava": {
      "command": "uv",
      "args": ["run", "python", "-m", "strava_mcp.server"]
    }
  }
}

Tools Available

Tool

Description

get_athlete_profile

Returns your profile stats.

list_activities

Fetch recent activities (supports date filtering).

get_activity

Detailed view of a single activity.

weekly_summary

Aggregated stats (distance, elevation) for a given week.

Resources

  • strava://athlete/profile: Direct read of profile.

  • strava://activities/recent: Most recent 10 activities.

Architecture

  • Tech Stack: Python, FastMCP, Httpx, SQLite, Pydantic.

  • Caching: GET requests are cached in SQLite with a TTL (default 5 mins for lists).

  • Rate Limiting: Respects X-RateLimit-* headers to prevent API bans.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    Integrates with the Strava API to allow AI assistants to access fitness data including athlete profiles, activity history, and segment statistics. It enables users to query detailed performance metrics and explore geographic segment data through natural language commands.
    8
    36
    MIT

View all related MCP servers

Related MCP Connectors

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.

  • Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.

View all MCP Connectors

Latest Blog Posts

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/tayden-b/strava-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server