home / mcp / strava mcp server

Strava MCP Server

Provides Strava activity data via an MCP server using sample data with a path to real Strava integration.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "beefsupreme21-mcp-hackathon": {
      "command": "python",
      "args": [
        "/Users/dylanmelotik/Code/melotik/mcp-hackathon/strava_mcp.py"
      ]
    }
  }
}

This MCP server provides Strava activity data to Cursor AI by exposing a small, easily extensible Python process. It currently serves sample data and can be extended to connect to the real Strava API, enabling you to fetch and format activity details inside your Cursor workflows.

How to use

Once this MCP server is running, you can ask Cursor to show your recent Strava activities. Cursor will query the MCP server and return formatted activity data, including the activity name, type, distance, time, date, and description.

To run a local instance, start the server through your MCP client configuration. If you already have the cursor MCP setup, it will discover the Strava MCP server automatically and start serving requests.

How to install

Prerequisites: Python (and pip) must be installed on your system.

pip install -r requirements.txt

Test the MCP server locally by running the Strava MCP script. This uses sample data for now.

python strava_mcp.py

Additional setup and manual configuration

If you need to configure the MCP server manually for Cursor, add or replace the MCP entry in your Cursor settings as shown below.

{
  "mcpServers": {
    "strava": {
      "command": "python",
      "args": ["/Users/dylanmelotik/Code/melotik/mcp-hackathon/strava_mcp.py"],
      "env": {}
    }
  }
}

Notes on real Strava integration

To connect to the actual Strava API, you would replace the sample activity logic with real API calls and handle authentication. This involves registering an API client with Strava, obtaining an access token, and updating the get_strava_activities function to fetch live data.

Available tools

get_strava_activities

Fetches recent Strava activities (sample data) with a configurable limit parameter (default 10)