使用说明
Strava MCP服务器
一个MCP(模型上下文协议)服务器,将Claude连接到您的Strava数据。直接从Claude Desktop或任何兼容MCP的客户端查询您的活动、统计数据和运动员资料。
特性
- OAuth身份验证:通过自动令牌刷新进行安全身份验证
- 活动数据:获取最近的活动、详细的活动信息、统计数据和更新说明
- 运动员简介:访问您的Strava个人资料和统计数据
- 路段和路线:按位置探索跑步路段,查看路线详细信息
- 俱乐部和社区:浏览您的俱乐部、会员和俱乐部活动
- 社交:查看荣誉、评论、KOM和星级片段
安装
先决条件
- Python 3.10+ 安装
- Strava API应用程序:创建一个https://www.strava.com/settings/api
- 将“授权回调域”设置为
127.0.0.1
- 将“授权回调域”设置为
从GitHub安装
pip install git+https://github.com/bronteee/strava-mcp.git
或者使用紫外线:
uv pip install git+https://github.com/bronteee/strava-mcp.git
配置Claude桌面
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"strava": {
"command": "strava-mcp",
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret"
}
}
}
}
如果安装了紫外线,请使用:
{
"mcpServers": {
"strava": {
"command": "uvx",
"args": ["--from", "git+https://github.com/bronteee/strava-mcp.git", "strava-mcp"],
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret"
}
}
}
}
用法
认证
- 问克劳德:“连接到我的Strava帐户”
- Claude将提供一个授权URL
- 在浏览器中打开URL并授权应用程序
- 您已连接到当前会话
备注:令牌仅存储在内存中。每次Claude Desktop重新启动时,您都需要重新进行身份验证。
可用工具
认证
| 工具 | 说明 |
|---|---|
get_auth_status |
检查您是否经过身份验证 |
get_auth_url |
获取Strava授权URL |
authenticate |
令牌的交换身份验证码(通常是自动的) |
logout |
删除存储的令牌 |
活动与运动员
| 工具 | 说明 |
|---|---|
get_activities |
使用可选日期筛选器获取最近的活动 |
get_activity_details |
获取特定活动的详细信息 |
update_activity_notes |
更新活动的注释/描述 |
get_athlete |
获取您的运动员资料 |
get_athlete_stats |
获取您的跑步/骑自行车/游泳统计数据 |
路段和路线
| 工具 | 说明 |
|---|---|
geocode_location |
将位置名称转换为坐标以进行分段搜索 |
explore_running_segments |
查找某个区域中的跑步路段 |
get_segment |
使用折线获取详细的线段信息 |
get_my_routes |
列出您创建的路线 |
get_route |
通过嵌入的路段获取详细的路线信息 |
俱乐部和社区
| 工具 | 说明 |
|---|---|
get_my_clubs |
列出你所加入的俱乐部 |
get_club |
获取俱乐部详细信息 |
get_club_members |
列出俱乐部成员 |
get_club_activities |
获取俱乐部成员最近的活动 |
社交与参与
| 工具 | 说明 |
|---|---|
get_activity_kudos |
看看谁对某项活动表示赞扬 |
get_activity_comments |
获取活动评论 |
get_my_koms |
获取您的KOMs(山之王/女王) |
get_starred_segments |
获取您的星级片段 |
示例提示
- “向我展示我最近的5个Strava活动”
- “我今年的跑步数据是什么?”
- “获取我最近骑行的详细信息”
- “更新我上次活动的笔记,说‘早上跑得真棒!’”
- “上个月我跑了多少英里?”
- “查找中央公园附近的跑步路段”
- “我加入了哪些俱乐部?”
- “让我看看上次跑步时谁给了我荣誉”
- “我的KOM是什么?”
发展
设置
git clone https://github.com/bronteee/strava-mcp.git
cd strava-mcp
uv sync --dev
运行测试
uv run pytest
类型检查
uv run ty check src
手动运行服务器
# Set environment variables
export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret
# Run the server
strava-mcp
安全
- 令牌仅存储在内存中,并在服务器停止时清除
- 客户端凭据通过环境变量传递,从不存储在文件中
- OAuth流使用localhost回调-不涉及外部服务器
许可证
麻省理工学院