🚀 Google MCP 远程服务器
本项目的 Google MCP 远程服务器基于 Cloudflare Workers 实现,能与 Google 旗下 Gmail、日历、Drive 等服务交互,还适用于 Claude、Cursor 等 AI 客户端。下面将详细介绍其功能、部署、使用方法及注意事项。
🚀 快速开始
本指南详细介绍了如何使用基于 Cloudflare Workers 的 MCP 服务器实现,该服务器可提供与 Google 各项服务(如 Gmail、日历、Drive 等)交互的功能,并适用于 AI 客户端(例如 Claude 或 Cursor)。
✨ 主要特性
概念介绍
MCP(Model Context Protocol)是一种用于连接 AI 模型和后端服务的协议。通过本服务器,AI 模型可以直接调用 Google 的各项 API 服务,包括但不限于:
- Gmail:发送、接收和管理电子邮件。
- 日历:创建、查看和更新日历事件。
- Drive:上传、下载和管理文件。
- YouTube:搜索视频并获取相关内容。
核心特性
- 基于 Cloudflare Workers:利用 Cloudflare 的边缘计算能力,提供低延迟和高可用性的服务。
- OAuth 2.0 支持:通过 Google 的 OAuth 流程实现安全的身份验证。
- 模块化设计:功能按需扩展,支持灵活的 API 调用。
📦 安装指南
前置条件
- Google Cloud 项目:
- 创建一个 Google Cloud 项目。
- 启用以下 APIs:
- Gmail API
- Calendar API
- Drive API
- YouTube Data API
- 创建 OAuth 应用,获取
CLIENT_ID
和 CLIENT_SECRET
。
- Cloudflare 账户:
- 注册并登录 Cloudflare 账户。
- 创建一个新的 Workers 项目或选择现有项目。
- 本地开发环境:
- 安装 Bun(一个现代的 JavaScript 包管理器)。
- 安装 Node.js 和 npm(用于运行和调试工具)。
部署步骤
- 代码仓库克隆:
git clone https://github.com/your-repository/mcp-server.git
cd mcp-server
- 安装依赖项:
bun install
- 配置环境变量:
GOOGLE_OAUTH_CLIENT_ID="your-client-id"
GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
COOKIE_ENCRYPTION_KEY="your-random-encryption-key"
CLOUDFLARE_ACCOUNT_ID="your-account-id"
CLOUDFLARE_ZONE_ID="your-zone-id"
- 部署到 Cloudflare Workers:
- 登录 Cloudflare 账户。
- 导航至 Workers 项目控制台。
- 使用
bun run build
构建项目。
- 点击“Deploy to Cloudflare”按钮。
💻 使用示例
基础用法
- 授权访问:
- 第一次使用时,服务器会显示一个批准对话框。
- 请按照提示完成 Google 的 OAuth 流程,授予服务器所需的权限。
- 调用 API:
- 发送请求至服务器的
/api
端点。
- 支持以下操作:
POST /api/gmail/send
GET /api/calendar/events?start=2023-10-01&end=2023-10-31
高级用法
发送电子邮件
POST /api/gmail/send
Content-Type: application/json
{
"to": " jane.doe@example.com",
"subject": "Meeting Notes",
"body": "Here are the notes from our meeting."
}
创建日历事件
POST /api/calendar/events
Content-Type: application/json
{
"title": "Project Meeting",
"description": "Discuss Q4 objectives",
"start": "2023-10-15T14:00:00Z",
"end": "2023-10-15T16:00:00Z"
}
📚 详细文档
调试与故障排除
常见问题
- 授权失败:
- 确保 OAuth 应用已正确配置。
- 检查
CLIENT_ID
和 CLIENT_SECRET
是否有效。
- API 请求错误:
- 确保目标 Google 服务的 API 已启用。
- 查看 Cloudflare 的日志以获取更多详细信息。
开发工具
bun dev
这将启动一个本地服务器,便于调试和测试。
附录
环境变量
以下是项目所需的环境变量及其说明:
属性 |
详情 |
GOOGLE_OAUTH_CLIENT_ID |
Google OAuth 应用的客户端 ID |
GOOGLE_OAUTH_CLIENT_SECRET |
Google OAuth 应用的客户端密钥 |
COOKIE_ENCRYPTION_KEY |
用于加密会话 cookie 的密钥 |
CLOUDFLARE_ACCOUNT_ID |
Cloudflare 账户 ID |
CLOUDFLARE_ZONE_ID |
Cloudflare 区域 ID |
工具链
- Bun:一个现代化的包管理器,用于依赖管理和脚本执行。
- Cloudflare CLI:用于与 Cloudflare Workers 交互的命令行工具。
联系方式
如需反馈或技术支持,请联系 support@your-domain.com
。
⚠️ 重要提示
⚠️ 重要提示
首次使用本服务器时,请确保仔细阅读以下内容:
- 安全性警告:请勿使用他人已部署的实例。始终推荐使用自己的 Google Cloud 项目进行部署。
- 技术细节:本指南假设读者具备一定的技术背景,尤其是与 Cloudflare Workers 和 OAuth 相关的知识。