Strava MCP服务器
 
用于与Strava API交互的模型上下文协议(MCP)服务器。
用户指南
安装
您可以轻松安装Strava MCP uvx:
uvx strava-mcp设置Strava凭据
- 创建Strava API应用程序:
- 首选 https://www.strava.com/settings/api - 创建新应用程序以获取您的客户端ID和客户端密码 - 对于“授权回调域”,输入 localhost
- 配置您的凭据:
创建凭证文件(例如。, ~/.ssh/strava.sh):
export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret- 配置Claude桌面:
将以下内容添加到您的Claude配置中(/Users//Library/Application Support/Claude/claude_desktop_config.json):
"strava": {
"command": "bash",
"args": [
"-c",
"source ~/.ssh/strava.sh && uvx strava-mcp"
]
}认证
首次使用Strava MCP工具时:
- 身份验证流程将自动启动
- 您的浏览器将打开Strava授权页面
- 授权后,您将被重定向回本地页面
- 您的刷新令牌将自动保存以供将来使用
可用工具
获取用户活动
检索已验证用户的活动。
参数:
before(可选):用于过滤的纪元时间戳after(可选):用于过滤的纪元时间戳page(可选):页码(默认:1)per_page(可选):每页项目数(默认值:30)
获取活动
获取特定活动的详细信息。
参数:
activity_id:活动的IDinclude_all_efforts(可选):包括分段努力(默认值:false)
获取活动细分
从特定活动中检索分段。
参数:
activity_id:活动的ID
获取细分市场排行榜
获取特定细分市场的排行榜。
参数:
segment_id:段的ID- 各种可选过滤器(性别、年龄组等)
开发者指南
项目设置
- 克隆存储库:
git clone
cd strava- 安装依赖项:
uv install- 设置环境变量:
export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret或者,创建一个 .env 包含这些变量的文件。
以开发模式运行
使用MCP CLI运行服务器:
mcp dev strava_mcp/main.py手动认证
您可以通过运行以下命令手动获取刷新令牌:
python get_token.py项目结构
strava_mcp/:主包目录
- __init__.py:包初始化 - config.py:使用pydantic设置的配置设置 - models.py:Strava API实体的Pydantic模型 - api.py:Strava的低级API客户 - auth.py:Strava OAuth身份验证实现 - oauth_server.py:独立OAuth服务器实现 - service.py:业务逻辑服务层 - server.py:MCP服务器实现
tests/:单元测试strava_mcp/main.py:运行服务器的主要入口点get_token.py:手动获取刷新令牌的实用程序脚本
运行测试
pytest发布到PyPI
构建包
# Build both sdist and wheel
uv build发布到PyPI
# Publish to Test PyPI first
uv publish --index testpypi
# Publish to PyPI
uv publish