AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Strava Mcp

mcp-yorrickjansen-strava-mcp · by yorrickjansen

An MCP server to interact with Strava

No reviews yet
0 installs
35 views
0.0% view→install

Install

$ agentstack add mcp-yorrickjansen-strava-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-yorrickjansen-strava-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
stale · 1y ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Strava Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Strava MCP Server

[](https://github.com/yorrickjansen/strava-mcp/actions/workflows/ci.yml) [](https://codecov.io/gh/yorrickjansen/strava-mcp)

A Model Context Protocol (MCP) server for interacting with the Strava API.

User Guide

Installation

You can easily install Strava MCP with uvx:

uvx strava-mcp

Setting Up Strava Credentials

  1. Create a Strava API Application:
  1. Configure Your Credentials:

Create a credentials file (e.g., ~/.ssh/strava.sh):

``bash export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret ``

  1. Configure Claude Desktop:

Add the following to your Claude configuration (/Users//Library/Application Support/Claude/claude_desktop_config.json):

``json "strava": { "command": "bash", "args": [ "-c", "source ~/.ssh/strava.sh && uvx strava-mcp" ] } ``

Authentication

The first time you use the Strava MCP tools:

  1. An authentication flow will automatically start
  2. Your browser will open to the Strava authorization page
  3. After authorizing, you'll be redirected back to a local page
  4. Your refresh token will be saved automatically for future use

Available Tools

Get User Activities

Retrieves activities for the authenticated user.

Parameters:

  • before (optional): Epoch timestamp for filtering
  • after (optional): Epoch timestamp for filtering
  • page (optional): Page number (default: 1)
  • per_page (optional): Number of items per page (default: 30)
Get Activity

Gets detailed information about a specific activity.

Parameters:

  • activity_id: The ID of the activity
  • include_all_efforts (optional): Include segment efforts (default: false)
Get Activity Segments

Retrieves segments from a specific activity.

Parameters:

  • activity_id: The ID of the activity
Get Segment Leaderboard

Gets the leaderboard for a specific segment.

Parameters:

  • segment_id: The ID of the segment
  • Various optional filters (gender, age group, etc.)

Developer Guide

Project Setup

  1. Clone the repository:

``bash git clone cd strava ``

  1. Install dependencies:

``bash uv install ``

  1. Set up environment variables:

``bash export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret ` Alternatively, create a .env` file with these variables.

Running in Development Mode

Run the server with MCP CLI:

mcp dev strava_mcp/main.py

Manual Authentication

You can get a refresh token manually by running:

python get_token.py

Project Structure

  • strava_mcp/: Main package directory
  • __init__.py: Package initialization
  • config.py: Configuration settings using pydantic-settings
  • models.py: Pydantic models for Strava API entities
  • api.py: Low-level API client for Strava
  • auth.py: Strava OAuth authentication implementation
  • oauth_server.py: Standalone OAuth server implementation
  • service.py: Service layer for business logic
  • server.py: MCP server implementation
  • tests/: Unit tests
  • strava_mcp/main.py: Main entry point to run the server
  • get_token.py: Utility script to get a refresh token manually

Running Tests

pytest

Publishing to PyPI

Building the package
# Build both sdist and wheel
uv build
Publishing to PyPI
# Publish to Test PyPI first
uv publish --index testpypi

# Publish to PyPI
uv publish

License

[MIT License](LICENSE)

Acknowledgements

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.