项目简介

此项目是一个基于Model Context Protocol (MCP) 的AI跑步教练服务器。它旨在将用户的Strava跑步数据、实时天气信息和智能路线规划功能集成到AI助手中。通过标准化接口,该服务器能够响应LLM(大型语言模型)客户端的请求,提供个性化的跑步建议、训练分析和路线推荐,从而帮助用户优化跑步体验。

主要功能点

  • Strava数据访问与分析: 获取用户的Strava运动统计、最新跑步活动详情,包括距离、配速、心率、速度等,支持AI进行训练表现分析。
  • 智能路线规划: 根据用户指定的起点和期望的跑步距离,自动生成环形跑步路线,并提供Google Maps导航链接。
  • 天气预测集成: 提供指定地点的未来天气预报,包括温度、体感温度、湿度、风速、降雨概率等,帮助用户根据天气条件规划跑步。
  • 心率与速度数据: 提取跑步活动的心率和速度数据,为深入分析提供原始数据。
  • 标准化MCP接口: 通过JSON-RPC协议与LLM客户端通信,确保数据和功能的可靠交互。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/colinfrisch/chathletique-mcp
    cd chathletique-mcp
  2. 安装Python依赖:
    pip install -e .
  3. 获取API密钥:
    • Strava API Token: 访问Strava API Settings,创建一个应用,并获取访问令牌。
    • OpenWeatherMap API Key: 注册OpenWeatherMap,订阅免费的5天/3小时预报API,获取API密钥。
    • OpenRouteService API Key: 注册OpenRouteService,从控制台获取免费API密钥。
  4. 配置环境变量: 在项目根目录创建 '.env' 文件,并填入您的API密钥:
    STRAVA_ACCESS_TOKEN=您的Strava访问令牌
    WEATHER_API_KEY=您的OpenWeatherMap API密钥
    ORS_KEY=您的OpenRouteService API密钥
  5. 运行服务器:
    python -m src.chathletique_mcp.main
    服务器将在默认端口 '3000' 启动,并监听来自MCP客户端的请求。

服务器配置 (Server Configuration for MCP Client)

MCP客户端需要以下配置信息来连接和使用此服务器:

{
  "name": "Strava AI跑步教练",
  "command": "python",
  "args": ["-m", "src.chathletique_mcp.main"],
  "env": {
    "STRAVA_ACCESS_TOKEN": "<!-- 请替换为您的Strava访问令牌 -->",
    "WEATHER_API_KEY": "<!-- 请替换为您的OpenWeatherMap API密钥 -->",
    "ORS_KEY": "<!-- 请替换为您的OpenRouteService API密钥 -->"
  },
  "transport": "streamable-http"
}
  • name: 服务器在客户端中显示的名称。
  • command: 启动MCP服务器的主命令。
  • args: 传递给命令的参数,用于指定服务器的启动模块。
  • env: 服务器运行所需的环境变量,特别是API密钥。
  • transport: 服务器使用的通信协议,此处为 'streamable-http'。

基本使用方法

一旦服务器运行,任何兼容MCP协议的LLM客户端都可以连接并调用服务器提供的工具。例如,LLM可以调用 'get_user_stats' 工具获取用户的Strava统计数据,调用 'get_weather_prediction' 工具查询跑步地点天气,或者调用 'create_itinerary' 工具生成跑步路线。AI助手将利用这些工具提供的上下文信息,为用户提供智能、个性化的跑步指导。

信息

分类

网页与API