合唱团MCP服务器
MCP服务器通过模型上下文协议访问COROS训练中心数据。
建筑
coros_mcp/
├── __init__.py # Main entry, FastMCP server
├── coros_client.py # COROS API client (ported from coros-connect)
├── coros_platform.py # Login function with LoginResult
├── client_factory.py # get_client(ctx), token serialization
├── auth_tool.py # coros_login, set_coros_session, coros_logout
│ # + get_user_name, get_available_features
└── activities.py # Activity tools (list, details, download)API区域支持
COROS为不同地区提供了独立的API端点:
- 欧盟 (欧洲):
https://teameuapi.coros.com-默认值 - 全球 (美国):
https://teamapi.coros.com - 中国 中国
https://teamapi.coros.com.cn
重要提示: 身份验证令牌是特定于区域的。如果你在欧洲,你必须使用欧盟端点。从全球API获得的令牌将不适用于欧盟API。
客户端默认为欧盟地区,因为大多数用户都在欧洲。该区域在客户端初始化期间设置:
# Default (EU region)
client = CorosClient(email=email, password=password)
# Explicit region selection
client = CorosClient(email=email, password=password, region="eu") # Europe
client = CorosClient(email=email, password=password, region="global") # US/Rest of World
client = CorosClient(email=email, password=password, region="cn") # China会话模式
使用FastMCP上下文进行基于会话的身份验证:
from mcp.server.fastmcp import Context
from coros_mcp.client_factory import get_client
@app.tool()
async def get_activities(ctx: Context, days: int = 7) -> str:
"""Get recent activities."""
client = await get_client(ctx) # Gets client from session
return json.dumps(client.get_activities_list())可用工具
认证
coros_login_tool-使用COROS凭据登录set_coros_session-从令牌还原会话coros_logout-清除会话
用户信息
get_user_name-获取显示名称和用户IDget_available_features-列出可用数据特征
活动
get_activities-使用日期过滤器列出活动get_activity_details-详细的活动数据get_activity_download_url-FIT/TCX/GPX/CSV的下载URLget_activities_summary-N天内的汇总统计数据
局限性
与Garmin相比,COROS培训中心API有限:
- 无睡眠数据
- 无HRV/压力/身体电池数据
- 无每日健康指标
对于这些指标,请使用Garmin MCP或向COROS支持请求数据导出。
安装
cd mcp-servers/coros_mcp
uv pip install -e .用法
coros-mcp或者在Python中:
from coros_mcp import main
main()学分
基于 coros连接 TypeScript库。
注: 这使用了来自COROS培训中心的非公共API,该API可能随时中断。
