Other MCP Server · MODEL CONTEXT PROTOCOL
yorrickjansen strava mcp
An MCP server to interact with Strava
连接能力
yorrickjansen strava mcp 为 AI Agent 提供什么
来源目录未提供结构化功能列表,请在使用前阅读源仓库文档。
安全
MCP 收录不等于安全审核
MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。
README
仓库文档
A Model Context Protocol (MCP) server for interacting with the Strava API.
You can easily install Strava MCP with uvx:
uvx strava-mcp-
Create a Strava API Application:
- Go to https://www.strava.com/settings/api
- Create a new application to obtain your Client ID and Client Secret
- For "Authorization Callback Domain", enter
localhost
-
Configure Your Credentials: Create a credentials file (e.g.,
~/.ssh/strava.sh):export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
-
Configure Claude Desktop: Add the following to your Claude configuration (
/Users/<username>/Library/Application Support/Claude/claude_desktop_config.json):"strava": { "command": "bash", "args": [ "-c", "source ~/.ssh/strava.sh && uvx strava-mcp" ] }
The first time you use the Strava MCP tools:
- An authentication flow will automatically start
- Your browser will open to the Strava authorization page
- After authorizing, you'll be redirected back to a local page
- Your refresh token will be saved automatically for future use
Retrieves activities for the authenticated user.
Parameters:
before(optional): Epoch timestamp for filteringafter(optional): Epoch timestamp for filteringpage(optional): Page number (default: 1)per_page(optional): Number of items per page (default: 30)
Gets detailed information about a specific activity.
Parameters:
activity_id: The ID of the activityinclude_all_efforts(optional): Include segment efforts (default: false)
Retrieves segments from a specific activity.
Parameters:
activity_id: The ID of the activity
Gets the leaderboard for a specific segment.
Parameters:
segment_id: The ID of the segment- Various optional filters (gender, age group, etc.)
-
Clone the repository:
git clone <repository-url> cd strava
-
Install dependencies:
uv install
-
Set up environment variables:
export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
Alternatively, create a
.envfile with these variables.
Run the server with MCP CLI:
mcp dev strava_mcp/main.pyYou can get a refresh token manually by running:
python get_token.pystrava_mcp/: Main package directory__init__.py: Package initializationconfig.py: Configuration settings using pydantic-settingsmodels.py: Pydantic models for Strava API entitiesapi.py: Low-level API client for Stravaauth.py: Strava OAuth authentication implementationoauth_server.py: Standalone OAuth server implementationservice.py: Service layer for business logicserver.py: MCP server implementation
tests/: Unit testsstrava_mcp/main.py: Main entry point to run the serverget_token.py: Utility script to get a refresh token manually
pytest# Build both sdist and wheel
uv build# Publish to Test PyPI first
uv publish --index testpypi
# Publish to PyPI
uv publish社区