🚀 Google MCP 遠程服務器
本項目提供了基於 Cloudflare Workers 的 MCP 服務器,可實現與 Google 各項服務(如 Gmail、日曆、Drive 等)的交互,適用於 AI 客戶端(例如 Claude 或 Cursor)。下面將為你詳細介紹其功能、部署、使用方法及注意事項。
🚀 快速開始
本指南詳細介紹瞭如何使用基於 Cloudflare Workers 的 MCP 服務器實現,該服務器可提供與 Google 各項服務(如 Gmail、日曆、Drive 等)交互的功能,並適用於 AI 客戶端(例如 Claude 或 Cursor)。文檔涵蓋了功能概述、部署說明、使用方法以及注意事項。
⚠️ 注意事項
首次使用本服務器時,請確保仔細閱讀以下內容:
⚠️ 重要提示
- 請勿使用他人已部署的實例。始終推薦使用自己的 Google Cloud 項目進行部署,以保障安全性。
- 本指南假設讀者具備一定的技術背景,尤其是與 Cloudflare Workers 和 OAuth 相關的知識。
✨ 主要特性
概念介紹
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
- 配置環境變量:
- 部署到 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 模式:
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
。