Token导航 LogoToken导航TokenDH.com
Training API logo
数据服务stdio官方级别未说明来源级核验

Training API

MCP Server

一个自托管的训练跟踪API,支持存储训练历史、查询分析数据以及通过Apple Watch同步结构化训练计划。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
PythonClaude数据分析Claude DesktopClaude

安装说明

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

作者 / 组织

aderaaij

提供方

aderaaij

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

uv run start

详细介绍

API培训

一个自我托管的锻炼跟踪API与苹果手表培训队列。存储锻炼历史记录、查询分析和队列结构化锻炼,以便通过workout Kit交付给Apple Watch。

使用FastAPI、PostgreSQL和SQLAlchemy构建。包括用于AI助手集成的可选MCP(模型上下文协议)服务器。

特性

  • 锻炼存储 -CRUD API,用于包含活动类型、距离、持续时间、心率、拆分和任意JSONB数据的训练
  • 分析 --按周、月或年汇总终点
  • 培训队列 --通过iOS配套应用程序将结构化锻炼(间歇训练、热身/冷却、速度提醒)排队同步到Apple Watch
  • 锻炼动作 --编辑或删除已通过待处理操作队列同步到Apple Watch的训练
  • 设备清单 --追踪用户Apple Watch上当前正在进行的锻炼
  • 错过的锻炼反馈 --当用户错过预定的锻炼时,记录和查询反馈,并进行模式检测以进行指导
  • 培训计划 --创建和管理训练计划,将目标、护栏、阶段和运动员上下文存储为灵活的JSONB元数据
  • 健康指标 --批量更新每日HealthKit指标(睡眠、心率、心率变异性、体重、最大摄氧量、步数、身体成分),并基于日期进行更新
  • 计划锻炼链接 --将排队的训练链接到计划(plan_id)并将训练记录到计划中的对应部分(plan_workout_id)计划与实际分析
  • 仪表盘 --内置网络仪表板 /dashboard 包含概览统计数据、计划进度、运行状况指标和API密钥管理
  • MCP服务器 --让AI助手查询您的训练数据,创建锻炼和计划,并通过自然语言关联健康指标

快速开始

先决条件

  • Docker和Docker Compose

1.克隆和配置

git clone https://github.com/YOUR_USERNAME/training-api.git
cd training-api
cp backend/config/.env.example backend/config/.env

编辑 backend/config/.env 并设置一个随机 API_KEY:

DATABASE_URL=postgresql+psycopg://training-api:training-api@db:5432/training-api
API_KEY=your-secret-api-key-here
ENVIRONMENT=LOCAL

2.开始

make up        # or: docker compose up -d

API将于 http://localhost:8001数据库迁移在启动时自动运行。网络仪表板可在 http://localhost:8001/dashboard.

3.验证

curl http://localhost:8001/api/health

API

所有端点(健康状况除外)都需要 Bearer 令牌在 Authorization 标题匹配 API_KEY 您已配置。

锻炼

方法端点描述
POST/api/workouts创建或更新锻炼计划
GET/api/workouts列出锻炼(过滤器: activity_type, start_after, start_before, plan_workout_id, limit, offset)
GET/api/workouts/summary按时段汇总的统计数据(week/month/year)活动类型
GET/api/workouts/{id}获取锻炼细节
GET/api/workouts/{id}/splits获取每次拆分明细
GET/api/workouts/{id}/heartrate获取心率样本
DELETE/api/workouts/{id}删除训练

训练队列

方法端点描述
POST/api/queue排队进行结构化锻炼
GET/api/queue列出队列项(按以下条件筛选 status)
GET/api/queue/pending列出待处理项目
PATCH/api/queue/{id}/status更新项目状态(pending / fetched / synced / completed)
DELETE/api/queue/{id}删除队列项
GET/api/workouts/queue面向应用程序:将待定的训练作为Workout Kit组合
DELETE/api/workouts/queue/{id}面向应用程序:将项目标记为已同步(保留记录)

锻炼动作

方法端点描述
GET/api/workouts/actions列出待编辑/删除操作
POST/api/workouts/actions创建编辑或删除操作
POST/api/workouts/actions/batch一次创建多个操作
DELETE/api/workouts/actions/{id}确认已处理的操作

设备清单

方法端点描述
PUT/api/workouts/inventory同步设备上的完整锻炼快照(幂等替换)
GET/api/workouts/inventory获取存储的库存

错过的锻炼反馈

方法端点描述
POST/api/workouts/feedback记录错过锻炼的反馈(由 workoutId)
GET/api/workouts/feedback检索反馈历史记录(过滤器: since, limit, action)

培训计划

方法端点描述
POST/api/plans制定培训计划
GET/api/plans列出计划(筛选器: status, activity_type)
GET/api/plans/{id}使用元数据获取计划
PATCH/api/plans/{id}更新计划字段
DELETE/api/plans/{id}删除计划(保留队列项目 plan_id 设置为null)
GET/api/plans/{id}/workouts获取所有排队的锻炼计划

健康指标

方法端点描述
POST/api/health/metrics批量追加销售每日健康指标(保留空字段)
GET/api/health/metrics查询指标(必填: start_date,可选: end_date)

仪表盘

端点描述
/dashboard概述——统计数据、计划进度、最近的锻炼、健康指标
/dashboard/plan活动计划细节——阶段、目标、护栏、锻炼清单
/dashboard/settingsAPI密钥(显示/复制)、数据库信息、端点引用

MCP服务器(可选)

mcp/ 目录包含 FastMCP 将训练数据暴露给AI助手(例如Claude)的服务器。

设置

cd mcp
cp config/.env.example config/.env

编辑 mcp/config/.env --set TRAINING_API_KEY 以匹配后端 API_KEY:

TRAINING_API_URL=http://localhost:8001
TRAINING_API_KEY=your-secret-api-key-here

uv run start

或者在MCP客户端(例如Claude Desktop)中将其配置为stdio传输。

发展

make up       # Start containers
make down     # Stop containers
make build    # Rebuild images
make logs     # Tail container logs
make migrate  # Run database migrations manually

# Create a new migration after changing models
make create_migration m="add new column"

项目结构

├── docker-compose.yml          # PostgreSQL + API orchestration
├── Makefile                    # Dev shortcuts
├── backend/
│   ├── Dockerfile              # Multi-stage Python 3.13 build
│   ├── pyproject.toml          # Dependencies (uv/hatch)
│   ├── config/.env.example     # Environment template
│   ├── app/
│   │   ├── main.py             # FastAPI app
│   │   ├── config.py           # Settings (pydantic-settings)
│   │   ├── auth.py             # Bearer token auth
│   │   ├── database.py         # SQLAlchemy setup
│   │   ├── models/             # ORM models
│   │   ├── routes/             # API endpoints
│   │   ├── schemas/            # Pydantic request/response models
│   │   └── templates/          # Jinja2 dashboard templates
│   └── migrations/             # Alembic migrations
└── mcp/
    ├── pyproject.toml          # MCP dependencies
    ├── config/.env.example     # MCP environment template
    └── app/
        ├── main.py             # FastMCP server
        ├── tools/              # MCP tool definitions
        └── services/           # API client

许可证

麻省理工学院

目录标签

目录标签

PythonClaude数据分析训练跟踪本地部署健康数据管理AppleWatch集成AI助手支持

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP