Back to MCP Servers
🔌

r-huijts/strava-mcp

MITAPI key required

📇 ☁️ - A Model Context Protocol (MCP) server that connects to Strava API, providing tools to access Strava data through LLMs

TypeScriptAPIs

Install

npx -y @r-huijts/strava-mcp-server

Required environment variables

STRAVA_CLIENT_SECRETSet in your MCP config
STRAVA_ACCESS_TOKENSet in your MCP config
STRAVA_REFRESH_TOKENSet in your MCP config

claude_desktop_config.json

claude_desktop_config.json
{
  "mcpServers": {
    "r-huijts-strava-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@r-huijts/strava-mcp-server"
      ],
      "env": {
        "STRAVA_CLIENT_SECRET": "<YOUR_STRAVA_CLIENT_SECRET>",
        "STRAVA_ACCESS_TOKEN": "<YOUR_STRAVA_ACCESS_TOKEN>",
        "STRAVA_REFRESH_TOKEN": "<YOUR_STRAVA_REFRESH_TOKEN>"
      }
    }
  }
}

Add this to your Claude Desktop config file. Find it at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS.

What this does

r-huijts/strava-mcp exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation. That makes it useful when you want Claude to reach into external HTTP APIs without copy-pasting context every turn.

Requirements

This server needs the following environment variables to be set before it can run:

STRAVA_CLIENT_SECRET
STRAVA_ACCESS_TOKEN
STRAVA_REFRESH_TOKEN

Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).

Common use cases

  • Call REST or GraphQL endpoints against an authenticated upstream service
  • Translate between Claude's natural-language requests and a structured API
  • Compose several API calls in a single Claude turn (read user → fetch order → annotate)