SuperAPI AI 工具集

strava-mcp

strava-mcp 是一个基于 Cloudflare Workers 构建的 Model Context Protocol(MCP)服务器,内置 Strava OAuth 集成。它让用户通过 Strava 账号登录,从而安全地连接 MCP 客户端(如 Claude 和 Cursor),并访问运动追踪应用 Strava 的数据。该项目既作为 MCP 客户端的 OAuth 服务器,又作为 Strava OAuth 服务的 OAuth 客户端,适合希望将 Strava 认证与 AI 工具集成的开发者。

访问官网

工具介绍

strava-mcp 是一个支持远程 MCP 连接的 Model Context Protocol(MCP)服务器,内置 Strava OAuth,基于 Cloudflare Workers 构建。用户可以通过 Strava 账号登录,安全地连接 MCP 客户端,并访问 Strava 的运动追踪数据。

用途

该 MCP 服务器承担两个角色:一是作为 MCP 客户端的 OAuth 服务器,二是作为 Strava OAuth 服务的 OAuth 客户端。项目可作为将 OAuth 提供商与部署到 Cloudflare 的 MCP 服务器集成的参考示例,使用了 workers-oauth-provider 库。它适合希望将 Strava 认证与 AI 工具(如 Claude、Cursor)集成的开发者。

主要能力

  • 通过 Strava 登录实现安全的 OAuth 认证与工具访问。
  • 支持远程 MCP 连接。
  • OAuth Provider 库处理 OAuth 2.1 服务器实现、令牌签发与验证、KV 中的安全令牌存储、Strava OAuth 集成、持久状态管理、通过 this.props 访问用户信息、条件化工具可用性。
  • 处理客户端-服务器通信、工具定义与管理、请求/响应序列化、SSE 连接维护。

使用方式

前置条件:一个 Strava 账号、一个 Cloudflare 账号、已安装 Node.js 和 npm、已安装 Wrangler CLI(npm install -g wrangler)。

部署步骤:

  1. 克隆仓库:git clone https://github.com/kw510/strava-mcp.git,cd strava-mcp,npm install。
  2. 设置 Strava API 凭证(见下文)。
  3. 设置 Cloudflare KV 命名空间:wrangler kv:namespace create "OAUTH_KV",并用生成的 KV ID 更新 wrangler.toml 文件。
  4. 部署到 Cloudflare:wrangler deploy。

设置 Strava API 凭证:前往 Strava 的 API 设置创建新应用,配置:应用名称、类别、网站 URL、应用描述、授权回调域(mcp-strava-oauth.<your-subdomain>.workers.dev)、授权回调 URL(https://mcp-strava-oauth.<your-subdomain>.workers.dev/callback)。然后设置生产环境变量:wrangler secret put STRAVA_CLIENT_ID 和 wrangler secret put STRAVA_CLIENT_SECRET。

开发环境:创建一个单独的 Strava API 应用用于开发,配置授权回调域为 localhost,授权回调 URL 为 http://localhost:8788/callback。在项目根目录创建 .dev.vars 文件,包含 STRAVA_CLIENT_ID 和 STRAVA_CLIENT_SECRET。

测试 MCP 服务器:

  • 使用 Inspector:安装 npx @modelcontextprotocol/inspector@latest;连接服务器:生产环境为 https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse,开发环境为 http://localhost:8788/sse。
  • 使用 Claude Desktop:打开设置 -> 开发者 -> 编辑配置,添加 MCP 服务器配置:{"mcpServers": {"strava": {"command": "npx", "args": ["mcp-remote", "https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse"]}}}。重启 Claude Desktop 并完成 OAuth 流程。

本地开发:运行 wrangler dev,服务器将在 http://localhost:8788 可用。

适用场景

适合需要将 Strava 运动数据接入 AI 工具(如 Claude、Cursor)的开发者,或作为在 Cloudflare 上集成 OAuth 提供商的 MCP 服务器参考示例。

限制

Strava API 有速率限制:每 15 分钟 200 次请求,每天 2000 次请求。故障排除:若 Claude Desktop 出现错误,悬停 🔨 图标验证连接;Cursor 集成请使用 "Command" 类型并将命令和参数合并为一个字符串;确保回调 URL 与 Strava 应用配置完全一致。