喜欢开放式API–MCP服务器
MCP(模型上下文协议)服务器,将My Likes开放式API公开为LLM客户端(例如Cursor、其他MCP消费者)的工具。
新增功能(v1.2.4)
- 添加
get_period_report_json工具GET /api/reporter/generatejson-sync - 为自学/辅导学员添加了明确的许可说明
game_id会员资格检查 - 更新了包描述,以包括周期报告功能
工具
| 工具 | 说明 |
|---|---|
list_activities | 活动列表(30天范围;可选 user_id 教练询问学员;速率限制1个要求/1分钟) |
get_health | 二次分析的健康数据(每日 hrv +睡眠相关每日总结 sleep).支持可选 user_id (单用户)或 user_ids (逗号分隔的批次学员)。查询其他人需要每个目标的教练许可。最大范围31天。 |
list_plans | 日历计划(从开始日期开始,42天) |
list_feedback | 培训反馈(需要开始/结束,最多7天)。可选的 user_ids (逗号分隔)以获得多个学员的反馈(仅当你是每个学员的教练时)。每行包括 plan_title, plan_content, activity (将锻炼概述与系统链接 score), coach_comment. |
add_feedback_comment | 教练在学员的培训反馈中添加评论。参数: content, feedback_id. |
push_plans | 将培训计划推送到日历(批量)。响应包括 id 每个结果(与delete一起使用)。可选的 game_id + user_ids 为教练批量推送学员。 |
get_game | 获取训练营(游戏)的详细信息和成员。需要 game_id;只有当你是营地的编辑或教练时。 |
list_my_games | 列出你担任编辑或教练的营地(分页,默认每页10个,最多10个)。 |
get_running_ability | 跑步能力:通过跑步力量(0-99)获得预测的时间和配速区(E/M/T/A/I/R);或者根据比赛时间(时间5km、时间10km、时间h、时间f、时间3km、时间mi)估算跑步力。时间格式:秒或M:SS或H:MM:SS。 |
get_period_report_json | 生成期间报告JSON(/api/reporter/generatejson-sync).需要 user_id;支持 range_unit, start_time, end_time, game_id.许可:自学或辅导学员;当 game_id 传递后,调用者必须是阵营的编辑/教练,目标用户必须是阵营成员。 |
设置
cd likes-mcp-server
npm install
npm run build配置
环境变量:
BASE_URL–API基础(例如。https://my.likes.com.cn).违约:https://my.likes.com.cnAPI_KEY–您的开放式API密钥(X-API-key)。所有工具都需要。
跑
# After build
npm start
# Or with env
BASE_URL=https://my.likes.com.cn API_KEY=your-key node dist/index.js开发(无构建):
BASE_URL=https://my.likes.com.cn API_KEY=your-key npm run dev光标集成
将服务器添加到游标MCP(例如。 设置→ MCP 或 .cursor/mcp.json):
{
"mcpServers": {
"likes-open-api": {
"command": "node",
"args": ["/Library/WebServer/Documents/likes-mcp-server/dist/index.js"],
"env": {
"BASE_URL": "https://my.likes.com.cn",
"API_KEY": "YOUR_API_KEY"
}
}
}
}使用绝对路径 likes-mcp-server/dist/index.js.确保 npm run build 已先运行。
API 参考
See the in-app docs (设置 → API 文档) or the open API routes:
GET /api/open/activity–活动列表(可选user_id教练)GET /api/open/health–健康数据(hrv+睡眠相关摘要),可选user_id(单一)或user_ids(逗号分隔的批次),最多31天;查询其他人需要每个目标的教练权限GET /api/open/plans–计划列表GET /api/open/feedback–反馈(开始、结束;最多7天;可选用户ID逗号分隔);响应行包括coach_commentPOST /api/open/feedback/comment–教练对反馈的评论(正文:content,feedback_id;会话中的user_id/uid)POST /api/open/plans/push–推动计划(正文:plans,可选game_id,user_ids).响应results[].id是要删除的计划id。DELETE /api/open/plan/:id–删除单个计划(推送响应中的id;仅当由当前关键用户创建时)。GET /api/open/game?game_id=–营地细节和成员(需要所有权)GET /api/open/games–列出我的营地(页数,限制)GET /api/open/ability–运行能力:查询方式runforce(0–99)+可选celsius,或按比赛时间(time_5km,time_10km,time_hm,time_fm,time_3km,time_mile).返回跑步力量、配速区、预测时间或按距离跑步力量。GET /api/reporter/generatejson-sync–周期报告JSON生成(需要X-API-Key,user_id;可选range_unit,start_time,end_time,game_id;包括教练/会员权限检查)。
