KS

kw510/strava-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

26 stars 9 forks 品質 67 トレンド 11MIT

A Model Context Protocol (MCP) server with Strava OAuth integration, built on Cloudflare Workers. Enables secure authentication and tool access for MCP clients like Claude and Cursor through Strava...

概要

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. 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. - A Strava account - A Cloudflare account - Node.js and npm installed - Wrangler CLI installed (npm install -g wrangler) 2. Set up your Strava API credentials (see Setting Up Strava API Credentials) 3. Set up your Cloudflare KV namespace: Update the wrangler.toml file with the generated KV ID. 1. Go to Strava's API Settings and create a new application 2.

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
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

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