Strava MCP Server

Strava MCP Server

一个模型上下文协议服务器,使语言模型能够与 Strava 数据进行交互,包括活动、运动员统计数据、路线、成就和社交功能。

健康与保健
位置服务
Python
访问服务器

README

Strava MCP 服务器

一个模型上下文协议 (MCP) 服务器,提供对 Strava API 的访问。该服务器使语言模型能够与 Strava 数据进行交互,包括活动、运动员信息等。

功能

  • 🏃‍♂️ 活动跟踪和分析
  • 📊 运动员统计
  • 🗺️ 路线可视化
  • 🏆 成就跟踪
  • 🤝 社交功能(赞、评论)

前提条件

  • Python 3.12+
  • Strava API 凭据
  • pip (Python 包安装程序)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
  1. 创建一个虚拟环境:
python -m venv venv
source venv/bin/activate  # 在 Windows 上: .\venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt

配置

  1. 创建一个包含您的 Strava API 凭据的 config/.env 文件:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
  1. 获取 Strava API 凭据:
    • 转到 https://www.strava.com/settings/api
    • 创建一个新的应用程序
    • 记下客户端 ID 和客户端密钥
    • 按照 OAuth 2.0 流程获取您的刷新令牌

用法

与 Claude 一起使用

连接后,您可以通过多种方式与 Claude 交互您的 Strava 数据:

活动查询

  • "显示我最近的活动"
  • "获取关于我上次跑步的详细信息"
  • "这个月我最长的骑行是什么?"
  • "显示我创造个人记录的活动"
  • "显示我最新活动的路线图"

性能分析

  • "我今年的平均跑步配速是多少?"
  • "比较我上个月和这个月的骑行表现"
  • "显示我昨天锻炼的心率区间"
  • "我所有活动的总海拔增益是多少?"
  • "计算我每周的跑步里程"

社交互动

  • "谁赞了我的最新活动?"
  • "显示我对马拉松跑步的评论"
  • "列出我所有的俱乐部活动"
  • "查找我和朋友一起做的活动"

成就跟踪

  • "列出我所有的赛段成就"
  • "显示我在本地赛段上的个人记录"
  • "我这周获得了哪些成就?"
  • "显示我在年度目标上的进展"

通过 Claude 提供的数据

  1. 活动详情:

    • 距离、持续时间、配速
    • 路线图和海拔剖面
    • 心率、功率和踏频数据
    • 分段和圈数信息
    • 活动期间的天气状况
  2. 运动员统计:

    • 年初至今和历史总计
    • 个人记录和成就
    • 训练负荷和健身趋势
    • 设备使用和维护
  3. 社交数据:

    • 赞和评论
    • 俱乐部活动和排行榜
    • 朋友活动和挑战
    • 赛段努力和排名
  4. 路线信息:

    • 带有海拔数据的详细地图
    • 赛段分析
    • 热门路线和赛段
    • 路线规划和分析

作为 MCP 服务器

更新您的 Claude Desktop 配置:

{
    "mcpServers": {
        "Strava": {
            "command": "python",
            "args": ["src/strava_server.py"],
            "cwd": "/path/to/strava_mcp",
            "env": {
                "STRAVA_CLIENT_ID": "your_client_id",
                "STRAVA_CLIENT_SECRET": "your_client_secret",
                "STRAVA_REFRESH_TOKEN": "your_refresh_token"
            }
        }
    }
}

作为 HTTP 服务器

  1. 启动服务器:
./run_server.sh
  1. http://localhost:8000 访问 API

可用端点:

  • GET /activities/recent - 列出最近的活动
  • GET /activities/{id} - 获取活动详情
  • GET /activities/{id}/map - 获取活动地图可视化
  • GET /athlete/stats - 获取运动员统计

开发

项目结构

strava_mcp/
├── src/
│   ├── strava_server.py      # MCP 服务器实现
│   ├── strava_http_server.py # HTTP API 服务器
│   ├── map_utils.py          # 地图可视化实用程序
│   └── templates.py          # HTML 模板
├── config/
│   └── .env                  # 环境变量(不在 git 中)
├── requirements.txt          # Python 依赖项
└── run_server.sh            # 服务器启动脚本

贡献

  1. Fork 存储库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建一个 Pull Request

安全

  • 永远不要提交 .env 文件或 API 凭据
  • .gitignore 文件已配置为防止提交敏感数据
  • 对所有敏感配置使用环境变量

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

致谢

  • Strava API 文档
  • 模型上下文协议 (MCP) 规范
  • 贡献者和维护者

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
Tavily MCP Server

Tavily MCP Server

使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。

精选
Python
Brev

Brev

在云端运行、构建、训练和部署机器学习模型。

官方
本地
Python
Crawlab MCP Server

Crawlab MCP Server

官方
Python
Story Protocol SDK MCP

Story Protocol SDK MCP

This server provides MCP (Model Context Protocol) tools for interacting with Story's Python SDK. Features Get license terms Mint and register IP Asset with PIL Terms Mint license tokens Send $IP to a wallet Upload image to ipfs via Pinata [External] Upload ip and nft metadata via Pinata [External]

官方
Python
Appwrite MCP Server

Appwrite MCP Server

一个模型上下文协议服务器,允许 AI 助手与 Appwrite 的 API 交互,从而提供管理 Appwrite 项目中数据库、用户、函数、团队和其他资源的工具。

官方
Python
MCP2Lambda

MCP2Lambda

通过 MCP 协议,人工智能模型能够与 AWS Lambda 函数交互,从而在安全的环境中访问私有资源、实时数据和自定义计算。

官方
Python
ScrapeGraph MCP Server

ScrapeGraph MCP Server

一个生产就绪的模型上下文协议服务器,使语言模型能够利用 AI 驱动的网络抓取功能,提供将网页转换为 Markdown、提取结构化数据和执行 AI 驱动的网络搜索的工具。

官方
Python