一款基于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)
快速启动
-
克隆仓库:
-
设置您的Strava API凭证(参见设置Strava API凭证)
-
设置你的Cloudflare KV命名空间:
用生成的 KV ID 更新 wrangler.toml 文件。
- 部署到Cloudflare:
设置Strava API凭证
制作
- 进入Strava的API设置,创建一个新应用
- 配置您的应用程序:
- 应用名称:为你的应用选择名称
- 类别:选择合适的类别
本页由 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
-
Clone the repository:
git clone https://github.com/kw510/strava-mcp.git cd strava-mcp npm install -
Set up your Strava API credentials (see Setting Up Strava API Credentials)
-
Set up your Cloudflare KV namespace:
wrangler kv:namespace create "OAUTH_KV"Update the
wrangler.tomlfile with the generated KV ID. -
Deploy to Cloudflare:
wrangler deploy
Setting Up Strava API Credentials
For Production
-
Go to Strava’s API Settings and create a new application
-
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
-
Set your production environment variables:
wrangler secret put STRAVA_CLIENT_ID wrangler secret put STRAVA_CLIENT_SECRET
For Development
-
Create a separate Strava API application for development
-
Configure your development application:
- Authorization Callback Domain:
localhost - Authorization Callback URL:
http://localhost:8788/callback
- Authorization Callback Domain:
-
Create a
.dev.varsfile 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
-
Install the Inspector tool:
npx @modelcontextprotocol/inspector@latest -
Connect to your server:
- For production:
https://mcp-strava-oauth..workers.dev/sse - For development:
http://localhost:8788/sse
- For production:
Using Claude Desktop
- Open Claude Desktop and go to Settings -> Developer -> Edit Config
- Add your MCP server configuration:
{ "mcpServers": {
安装
npx mcp-remote https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse配置
{
"mcpServers": {
"strava": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-strava-oauth.<your-subdomain>.workers.dev/sse"
]
}
}
}