KS

kw510/strava-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

26 stars 9 forks 质量 67 趋势 11MIT

一款基于Cloudflare Workers构建的模型上下文协议(MCP)服务器,集成了Strava OAuth。通过Strava为Claude和光标等MCP客户端实现安全认证和工具访问......

概览

这是一个模型上下文协议(MCP)服务器,支持远程MCP连接,内置Strava OAuth。用户通过登录Strava账户即可连接到你的MCP服务器。 MCP 服务器(由 Cloudflare Workers 驱动)承担两个角色:- 作为 MCP 客户端的 OAuth 服务器 - 作为 Strava OAuth 服务的 OAuth 客户端 该项目作为集成 OAuth 提供者与部署于 Cloudflare 的 MCP 服务器的参考示例,使用 workers-oauth-provider 库。 - 一个Strava账户 - 一个Cloudflare账户 - 安装了Node.js和npm - 安装了Wrangler CLI(npm install -g wrangler) 2. 设置您的Strava API凭证(参见设置Strava API凭证) 3. 设置你的 Cloudflare KV 命名空间:用生成的 KV ID 更新 wrangler.toml 文件。 1. 进入Strava的API设置并创建新应用 2.

概述(AI 翻译)

这是一个模型上下文协议(MCP)服务器,支持远程MCP连接,内置Strava OAuth。用户通过登录Strava账户即可连接到你的MCP服务器。

概述

MCP服务器(由Cloudflare Workers驱动)承担两个角色:

  • 作为 MCP 客户端的 OAuth 服务器
  • 作为Strava OAuth服务的OAuth客户端

本项目作为集成 OAuth 提供者与部署到 Cloudflare 的 MCP 服务器的参考示例,使用 workers-oauth-provider 库。

先修条件

  • 一个Strava账号
  • 一个Cloudflare账户
  • 安装Node.js和NPM
  • 安装了Wrangler CLI(npm install -g wrangler)

快速启动

  1. 克隆仓库:

  2. 设置您的Strava API凭证(参见设置Strava API凭证)

  3. 设置你的Cloudflare KV命名空间:

用生成的 KV ID 更新 wrangler.toml 文件。

  1. 部署到Cloudflare:

设置Strava API凭证

制作

  1. 进入Strava的API设置,创建一个新应用
  2. 配置您的应用程序:
  • 应用名称:为你的应用选择名称
  • 类别:选择合适的类别

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Model Context Protocol (MCP) Server + Strava OAuth

This is a Model Context Protocol (MCP) server that supports remote MCP connections, with Strava OAuth built-in. It allows users to connect to your MCP server by signing in with their Strava account.

Overview

The MCP server (powered by Cloudflare Workers) serves two roles:

  • Acts as an OAuth Server for your MCP clients
  • Acts as an OAuth Client for Strava’s OAuth services

This project serves as a reference example for integrating OAuth providers with an MCP server deployed to Cloudflare, using the workers-oauth-provider library.

Prerequisites

  • A Strava account
  • A Cloudflare account
  • Node.js and npm installed
  • Wrangler CLI installed (npm install -g wrangler)

Quick Start

  1. Clone the repository:

    git clone https://github.com/kw510/strava-mcp.git
    cd strava-mcp
    npm install
    
  2. Set up your Strava API credentials (see Setting Up Strava API Credentials)

  3. Set up your Cloudflare KV namespace:

    wrangler kv:namespace create "OAUTH_KV"
    

    Update the wrangler.toml file with the generated KV ID.

  4. Deploy to Cloudflare:

    wrangler deploy
    

Setting Up Strava API Credentials

For Production

  1. Go to Strava’s API Settings and create a new application

  2. Configure your application:

    • Application Name: Choose a name for your application
    • Category: Select an appropriate category
    • Website: Your website URL
    • Application Description: Brief description of your application
    • Authorization Callback Domain: mcp-strava-oauth..workers.dev
    • Authorization Callback URL: https://mcp-strava-oauth..workers.dev/callback
  3. Set your production environment variables:

    wrangler secret put STRAVA_CLIENT_ID
    wrangler secret put STRAVA_CLIENT_SECRET
    

For Development

  1. Create a separate Strava API application for development

  2. Configure your development application:

    • Authorization Callback Domain: localhost
    • Authorization Callback URL: http://localhost:8788/callback
  3. Create a .dev.vars file in your project root:

    STRAVA_CLIENT_ID=your_development_strava_client_id
    STRAVA_CLIENT_SECRET=your_development_strava_client_secret
    

Testing Your MCP Server

Using Inspector

  1. Install the Inspector tool:

    npx @modelcontextprotocol/inspector@latest
    
  2. Connect to your server:

    • For production: https://mcp-strava-oauth..workers.dev/sse
    • For development: http://localhost:8788/sse

Using Claude Desktop

  1. Open Claude Desktop and go to Settings -> Developer -> Edit Config
  2. Add your MCP server configuration:
    {
      "mcpServers": {
在 GitHub 查看完整 README

安装

npx mcp-remote https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "strava": { "command": "npx", "args": [ "mcp-remote", "https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse" ] } } }