远程MCP服务器

@WilliamSuiself/remote-mcp
0 Stars 348 次浏览 WilliamSuiself 更新于 2026-08-23

一个用于在 Cloudflare Workers 上托管模型上下文协议(MCP)工具的服务器,支持 OAuth 认证,允许 Claude AI 和其他 MCP 客户端访问扩展功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

远程 MCP 服务器

这是一个基于 Cloudflare Worker 的 MCP (Model Context Protocol) 服务器,用于提供各种工具 API,包括 Gmail、Google Calendar 等功能。该项目使用 TypeScript 开发,并使用 @remote-mcp/server 库来简化 MCP 服务器的实现。

功能特点

  • 基于 Cloudflare Workers 的无服务器架构
  • 提供 Gmail 邮件发送和读取功能
  • 提供 Google Calendar 事件创建和列表功能
  • 集成 OAuth2 认证
  • 使用 Durable Objects 进行状态管理

安装

# 克隆仓库
git clone https://github.com/yourusername/remote-mcp-server.git
cd remote-mcp-server

# 安装依赖
npm install

配置

OAuth 配置

  1. Google Cloud Console 创建一个项目
  2. 启用 Gmail API 和 Google Calendar API
  3. 创建 OAuth 客户端ID和密钥
  4. 修改 src/config.ts 文件中的 OAuth 配置
export const GOOGLE_OAUTH_CONFIG = {
  clientId: '你的客户端ID',
  clientSecret: '你的客户端密钥',
  redirectUri: 'https://your-worker.your-subdomain.workers.dev/oauth/gmail/callback',
  scopes: [
    'https://www.googleapis.com/auth/gmail.send',
    'https://www.googleapis.com/auth/gmail.readonly',
    'https://www.googleapis.com/auth/calendar',
    'https://www.googleapis.com/auth/calendar.events'
  ]
};

Cloudflare KV 命名空间配置

对于生产环境,你需要配置 KV 命名空间来存储 OAuth 令牌:

  1. 在 Cloudflare Dashboard 创建 KV 命名空间
  2. 获取 KV 命名空间 ID
  3. 取消注释 wrangler.jsonc 中的 KV 配置部分,并添加你的命名空间 ID:
"kv_namespaces": [
  {
    "binding": "OAUTH_KV",
    "id": "你的KV命名空间ID"
  }
]

构建和部署

本地开发

# 运行开发服务器
npm run dev

部署到 Cloudflare Workers

# 构建并部署
npm run deploy

项目结构

remote-mcp-server/
├── src/                  # 源代码
│   ├── index.ts          # 主入口文件
│   ├── config.ts         # 配置文件
│   ├── services/         # 服务实现
│   │   └── google.ts     # Google服务(Gmail, Calendar)
│   └── utils.ts          # 工具函数
├── dist/                 # 编译后的文件
├── static/               # 静态资源
├── build.js              # 构建脚本
└── wrangler.jsonc        # Cloudflare Workers配置

API 端点

  • /tools - 获取可用工具列表
  • /api/mcp - MCP API 端点
  • /oauth/gmail - Gmail OAuth 认证
  • /oauth/gmail/callback - Gmail OAuth 回调

故障排除

常见问题

  • 部署错误 - KV 命名空间无效: 确保在 wrangler.jsonc 中配置了正确的 KV 命名空间 ID,或者暂时注释掉 KV 配置部分进行测试部署
  • OAuth 错误: 检查重定向 URI 是否正确配置在 Google Cloud Console 和项目配置中
  • 编译错误: 确保 TypeScript 配置中 noEmit 设置为 false,允许生成 JavaScript 文件

日志和调试

使用 Cloudflare Workers 控制台查看日志和调试信息。

贡献指南

  1. Fork 仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

许可证

MIT

相关 MCP 服务