使用说明

项目简介

strava-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,它集成了 Strava OAuth 认证,旨在为大型语言模型 (LLM) 客户端提供访问 Strava 运动数据的工具。该项目使用 Cloudflare Workers 部署,可以作为集成其他 OAuth 提供商的 MCP 服务器的参考示例。用户可以通过 Strava 账户连接到此 MCP 服务器,从而安全地将 Strava 数据与 LLM 应用结合使用。

主要功能点

  • 资源访问 (Resources): 通过 Strava API 提供访问用户运动数据的能力,例如活动、俱乐部、路线、运动员信息等。
  • 工具注册 (Tools): 预置了一系列工具,允许 LLM 客户端调用 Strava API 的各种功能,例如获取运动员信息、创建活动、查询路线等。
  • OAuth 认证: 使用 Strava OAuth 2.0 进行用户身份验证和授权,确保数据访问的安全性。
  • 远程 MCP 连接: 支持通过 Server-Sent Events (SSE) 协议进行远程 MCP 连接,方便 LLM 客户端与服务器通信。
  • Cloudflare Workers 部署: 基于 Cloudflare Workers 平台构建,易于部署和扩展。

安装步骤

  1. 克隆仓库并安装依赖:

    git clone https://github.com/kw510/strava-mcp.git
    cd strava-mcp
    npm install
  2. 创建 Strava API 应用程序:

    • 访问 Strava API Applications 创建一个新的 API 应用程序。
    • 授权回调域名 (Authorization Callback Domain): 设置为 '<your-subdomain>.workers.dev' (Cloudflare Workers 的子域名)。
    • 授权回调 URL (Authorization Callback URL): 设置为 'https://<your-subdomain>.workers.dev/callback'。
    • 记录 客户端 ID (Client ID) 并生成 客户端密钥 (Client secret)
  3. 配置 Cloudflare Workers 密钥 (Secrets):

    wrangler secret put STRAVA_CLIENT_ID
    # 粘贴你的 Strava 客户端 ID
    wrangler secret put STRAVA_CLIENT_SECRET
    # 粘贴你的 Strava 客户端密钥
  4. 设置 KV 命名空间:

    wrangler kv:namespace create "OAUTH_KV"
    • 更新 'wrangler.toml' 文件,将 KV 命名空间的 ID 填入。
  5. 部署服务器:

    wrangler deploy
    • 部署成功后,你的 MCP 服务器将通过 'https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse' 地址提供服务。

服务器配置 (MCP 客户端)

要让 MCP 客户端(例如 Claude Desktop, Cursor, Windsurf Inspector)连接到 strava-mcp 服务器,你需要配置客户端的 MCP 服务器设置。以 JSON 格式配置,示例如下:

{
  "mcpServers": {
    "strava": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse"
      ]
    }
  }
}
  • server name: 'strava' (可以自定义,用于在客户端中标识服务器)
  • command: 'npx' (指定启动 MCP 远程客户端的命令)
  • args:
    • '"mcp-remote"': MCP 远程客户端命令。
    • '"https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse"': MCP 服务器的 SSE 端点 URL。将 '<your-subdomain>' 替换为你的 Cloudflare Workers 子域名。

基本使用方法

  1. 使用 Inspector 测试:

    • 运行 'npx @modelcontextprotocol/inspector@latest' 启动 Inspector。
    • 在 Inspector 中输入你的服务器 SSE 地址 'https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse' 并连接。
    • 按照提示完成 Strava OAuth 认证流程。
    • 认证成功后,你将在 Inspector 中看到可用的 Strava 工具。
  2. 在 Claude Desktop 中使用:

    • 打开 Claude Desktop,进入 "Settings" -> "Developer" -> "Edit Config"。
    • 将上述服务器配置 JSON 内容粘贴到配置文件中,替换 '<your-subdomain>' 为你的实际子域名。
    • 重启 Claude Desktop。Claude 将会打开浏览器窗口进行 Strava OAuth 登录。
    • 完成认证后,Strava 工具将出现在 Claude 界面中,你可以指示 Claude 使用这些工具来访问你的 Strava 数据。
  3. 在 Cursor 等其他 MCP 客户端中使用:

    • 根据客户端文档,配置 MCP 服务器连接,通常需要提供 "Command" 和 "Args" 信息,将上述服务器配置信息适配到相应的客户端配置中。

信息

分类

网页与API