Token导航 LogoToken导航TokenDH.com
Intervalsicumcp logo
AI代理stdio官方级别未说明来源级核验

Intervalsicumcp

MCP Server

一个与intervals.icu API交互的HTTP MCP服务器,提供运动员、训练和活动数据的检索与操作功能,支持耐力运动训练的集成与自动化场景。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
数据集成C#API集成自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

colinnuk

提供方

colinnuk

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --env-file .env -p 5000:5000 intervals-icu-mcp

详细介绍

IntervalsIcuMcp HTTP MCP服务器

该项目是一个HTTP MCP服务器,旨在与 intervals.icu API它为检索和操纵运动员、锻炼和活动数据提供了端点,支持耐力运动训练的集成和自动化场景。

特性

  • 模型上下文协议(MCP)服务器:将Intervals.icu功能暴露给GitHub Copilot等AI代理
  • ASP。NET核心Web API目标。净值10
  • intervals.icu数据的传统REST API端点
  • 可扩展的服务和插件架构
  • 运动员档案、锻炼、活动和健康模型
  • 用于高效数据处理的缓存和估计服务
  • 通过TSS计算生成锻炼计划

入门指南

先决条件

  • .NET 10 SDK (用于地方发展)
  • 码头工人 (用于集装箱化部署)
  • Intervals.icu API密钥运动员ID (参见 intervals.icu 详情)

环境变量

运行应用程序需要以下环境变量:

变量描述示例
INTERVALS_ICU_API_KEY您的Intervals.icu API密钥abc123def456ghi789
INTERVALS_ICU_ATHLETE_ID您的Intervals.icu运动员ID12345

地方发展

  1. 克隆存储库:
   git clone https://github.com/colinnuk/IntervalsIcuMcp.git
   cd IntervalsIcuMcp
  1. 还原NuGet包:
   dotnet restore
  1. 设置环境变量:
   # Linux/macOS
   export INTERVALS_ICU_API_KEY="your-api-key"
   export INTERVALS_ICU_ATHLETE_ID="your-athlete-id"

   # Windows PowerShell
   $env:INTERVALS_ICU_API_KEY="your-api-key"
   $env:INTERVALS_ICU_ATHLETE_ID="your-athlete-id"
  1. 构建并运行项目:
   dotnet build
   dotnet run --project IntervalsIcuMcp/IntervalsIcuMcp.csproj
  1. 访问API:

- REST端点: http://localhost:5000/McpTool/* - MCP服务器: http://localhost:5000/api/mcp - Swagger用户界面: http://localhost:5000/swagger

Docker设置

该项目包括一个使用Alpine Linux的多阶段Dockerfile,以实现最小的映像大小和跨平台兼容性。

使用Docker构建和运行

使用a .env 文件:

创建一个 .env 项目根目录中的文件:

INTERVALS_ICU_API_KEY=your-api-key-here
INTERVALS_ICU_ATHLETE_ID=your-athlete-id-here

构建并运行Docker镜像:

# Build the image
docker build -t intervals-icu-mcp .

# Run the container with environment file
docker run --env-file .env -p 5000:5000 intervals-icu-mcp

直接使用环境变量:

docker run \
  -e INTERVALS_ICU_API_KEY="your-api-key" \
  -e INTERVALS_ICU_ATHLETE_ID="your-athlete-id" \
  -p 5000:5000 \
  intervals-icu-mcp

使用Docker Compose:

创建一个 docker-compose.yml 文件:

version: '3.8'

services:
  intervals-icu-mcp:
    build: .
    container_name: intervals-icu-mcp
    ports:
      - "5000:5000"
    environment:
      INTERVALS_ICU_API_KEY: ${INTERVALS_ICU_API_KEY}
      INTERVALS_ICU_ATHLETE_ID: ${INTERVALS_ICU_ATHLETE_ID}
    restart: unless-stopped

然后运行:

docker-compose up -d

MCP服务器

该项目实现了一个MCP服务器,允许AI代理使用自然语言与您的Intervals.icu数据进行交互。MCP服务器公开了以下工具:

  • 查询运动员资料、活动、健康数据和即将举行的活动
  • 生成具有适当区域定位的结构化训练

MCP_SERVER.md 有关详细的设置和使用说明。

项目结构

  • Controllers/ -API端点
  • McpServer/ -MCP工具实现
  • Services/ -业务逻辑与API集成
  • Models/ -intervals.icu实体的数据模型
  • LlmPlugins/ -自定义逻辑的可扩展插件
  • Extensions/ -助手扩展

测试

该项目包括使用以下工具进行重点单元测试 单元测试,瞄准。网10。

测试框架:NUnit 4.3.2

测试套件提供了基本的覆盖范围 10次核心测试 围绕关键功能进行组织:

EstimateTss测试(6个测试):

  • 自行车和跑步运动计算
  • 不支持运动处理(返回null)
  • 边缘情况(空/零/负持续时间)
  • 缺失的运动员数据将恢复为默认值
  • 多区间可加性

估计强度因子测试(4次测试):

  • 使用夹紧进行循环和运行计算
  • 空/无支撑的运动边箱
  • 持续时间加权强度计算

真实世界场景(3个测试):

  • 典型的耐力骑行(90分钟,稳定Z2)
  • 高强度间歇训练(Z6努力的HIIT)
  • 用持续的努力奔跑

运行测试

# Run all tests
dotnet test

# Run tests with verbose output
dotnet test --verbosity detailed

# Run specific test class
dotnet test --filter "ClassName=WorkoutTssCalculatorTests"

# Run with code coverage
dotnet test /p:CollectCoverageMetrics=true

测试覆盖说明

测试套件整合了相关场景,以保持清晰度,同时减少冗余:

  • 通过参数化测试涵盖多种运动类型测试(例如,在一次测试中包含多种不受支持的运动 [TestCase])
  • 在单个综合测试中测试缺失数据场景(无FTP、无区域、零值)
  • 通过真实场景而不是孤立区域测试来测试区域变化
  • 所有边缘情况都用真实的数据范围进行了验证

贡献

欢迎提交请求和问题。请遵循标准C#和。NET编码规范。

许可证

麻省理工学院

目录标签

目录标签

数据集成C#API集成自动化运动训练本地部署RESTAPIMCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP