使用说明
Strava MCP服务器(Cloudflare Workers)
Strava的模型上下文协议(MCP)服务器,基于Cloudflare Workers构建,具有适当的MCP OAuth。用户通过Strava使用标准的“与Strava连接”流程进行身份验证,而不是手动复制会话ID。
特性
- 8 Strava工具:
get_athlete_profile:全面的用户元数据。get_activities:具有丰富字段的可筛选活动列表。get_activity_details:深入了解具体活动。create_activity:记录手动活动。update_activity:编辑现有活动。get_athlete_stats:所有时间和年初至今总计,包括游泳总计。get_segments:使用半径和活动类型过滤探索附近的细分市场。get_segment_efforts:查看运动员在某段比赛中的表现。
- 丰富的有效载荷:将Strava API响应转换为具有额外字段的LLM友好对象,如
average_speed,average_heartrate,suffer_score以及更多。 - 自动认证:MCP OAuth集成允许客户端通过Strava获得身份验证令牌,而无需手动交换凭据。
- 速率限制:使用响应标头反馈尊重Strava速率限制。
- Cloudflare员工:在具有MCP持久对象和OAuth状态KV存储的Workers上运行。
设置
1.Strada API应用程序
- 首选 Strava设置->我的应用程序.
- 创建应用程序或更新现有应用程序。
- 设置 授权回调域 到您的工作域(例如
https://your-worker-url.workers.dev或http://localhost:8788在开发过程中)。
2.Cloudflare配置
- 克隆此仓库。
- 跑
npm install. - 创建一个名为的KV命名空间
OAUTH_KV:wrangler kv:namespace create "OAUTH_KV" - 复制返回的命名空间ID。
- 更新
wrangler.toml或wrangler.jsonc说完这个OAUTH_KV身份证件。 - 在Cloudflare secrets中设置Strava凭据:
wrangler secret put STRAVA_CLIENT_ID wrangler secret put STRAVA_CLIENT_SECRET
3.地方发展
- 复制本地vars文件:
cp .dev.vars.example .dev.vars - 更新
.dev.vars和你一起STRAVA_CLIENT_ID,STRAVA_CLIENT_SECRET,以及AUTH_CALLBACK_DOMAIN. - 在本地运行:
npm run dev
4.部署
npm run deploy
来自Claude的连接
在Claude或其他支持MCP的客户端中使用工作者的Streamable HTTP端点。连接器URL应为:
https://your-worker-url.workers.dev/sse
用户第一次与连接器交互时,Strava OAuth将重定向他们登录并授权访问。
开发人员说明
AUTH_CALLBACK_DOMAIN必须为您的回调URL进行配置。.dev.vars仅用于本地开发,Git会忽略它。- 该项目使用
wrangler.jsonc以及Cloudflare Workers特定的持久对象和KV绑定。
技术细节
- 运行时:Cloudflare员工
- 认证:
@cloudflare/workers-oauth-provider+MCP OAuth流程 - 状态:Cloudflare KV用于OAuth状态和会话令牌
- 代理:
McpAgent从agents - 端点:
/sse,/authorize,/callback,/token,/register