README
🚀 Strava MCP 服务器
Strava MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,它提供了对 Strava API 的访问能力。借助该服务器,语言模型能够与 Strava 数据进行交互,涵盖活动、运动员信息等多个方面。
🚀 快速开始
Strava MCP 服务器允许语言模型与 Strava 数据交互。以下是快速开始使用该服务器的步骤:
安装
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
python -m venv venv
source venv/bin/activate # 在 Windows 中:.\venv\Scripts\activate
pip install -r requirements.txt
配置
创建 config/.env 文件并添加您的 Strava API 凭证:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
获取 Strava API 凭证,您可以访问 Strava API 设置页面,创建一个新的应用,记录下客户端 ID 和客户端密钥,并使用 OAuth 2.0 获取访问令牌。
使用
作为 MCP 服务器
from strava_mcp_server import connect_to_strava
connection = connect_to_strava("path/to/credentials.json")
response = connection.send_query("获取最近活动")
print(response)
作为 HTTP 服务器
python -m strava_mcp_server --port 5000
curl http://localhost:5000/api/recent_activities
✨ 主要特性
- 🏃♂️ 活动跟踪与分析:对 Strava 中的活动数据进行跟踪和深入分析。
- 📊 运动员统计数据:提供运动员的各项统计信息。
- 🗺️ 路线可视化:实现路线的可视化展示。
- 🏆 成就追踪:追踪运动员所取得的成就。
- 🤝 社交功能(点赞、评论):支持社交互动,如点赞和评论。
📦 安装指南
先决条件
- Python 3.12+
- Strava API 凭证
- pip(Python 包安装工具)
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/strava_mcp.git
cd strava_mcp
- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # 在 Windows 中:.\venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
💻 使用示例
作为 MCP 服务器
基础用法
from strava_mcp_server import connect_to_strava
connection = connect_to_strava("path/to/credentials.json")
高级用法
response = connection.send_query("获取最近活动")
print(response)
作为 HTTP 服务器
基础用法
python -m strava_mcp_server --port 5000
高级用法
curl http://localhost:5000/api/recent_activities
📚 详细文档
配置
创建 config/.env 文件并添加您的 Strava API 凭证:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
STRAVA_REFRESH_TOKEN=your_refresh_token
获取 Strava API 凭证的方法:
- 访问 Strava API 设置页面
- 创建一个新的应用
- 记录下客户端 ID 和客户端密钥
- 使用 OAuth 2.0 获取访问令牌
开发部分
项目结构
strava_mcp_server/: 包含服务器实现和相关模块。config/: 存放配置文件,如.env。
贡献指南
- 叉取仓库:
git clone https://github.com/yourusername/strava_mcp.git
- 创建功能分支:
git checkout -b feature/new_functionality
- 提交更改:
git add .
git commit -m "添加新功能"
git push origin feature/new_functionality
- 创建拉取请求。
🔧 技术细节
安全注意事项
- 避免提交包含敏感信息的文件,如
.env和 API 凭证。 - 已在
.gitignore中配置,防止敏感数据被提交到版本控制系统中。 - 使用环境变量管理所有敏感配置信息。
📄 许可证
此项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
致谢
感谢以下资源和支持:
- Strava API 文档
- Model Context Protocol (MCP) 规范
- 所有贡献者和维护人员
Scan to join WeChat group