Cloudflare Workers上的谷歌工作区MCP
Cloudflare Workers使用Claude原生OAuth连接和Google表格、文档、幻灯片和驱动器工具托管远程MCP服务器。
该项目基于Cloudflare Workers MCP模板构建,并实现了Workers原生Google Sheets MCP工具集,其灵感来自 xing5/mcp-google-sheets.
特性
- Cloudflare Workers上的远程MCP端点(
/mcp). - 克劳德原住民
ConnectOAuth流。 - Claude auth背后的每个用户的Google OAuth流(跨会话持久)。
- 谷歌表格、文档、幻灯片和驱动器操作(列表、阅读、写作、管理、共享)。
先决条件
- Cloudflare帐户+牧马人已配置。
- 谷歌云项目:
- 已启用Google Sheets API - 已启用Google Docs API - 已启用Google幻灯片API - 已启用Google Drive API
- Google Cloud中的OAuth 2.0凭据(Web应用程序)。
环境与秘密
设置这些秘密:
wrangler secret put GOOGLE_OAUTH_CLIENT_ID
wrangler secret put GOOGLE_OAUTH_CLIENT_SECRET
wrangler secret put GOOGLE_OAUTH_REDIRECT_URIGOOGLE_OAUTH_REDIRECT_URI 必须是:
https:///callback还配置 GOOGLE_AUTH_KV 命名空间在 wrangler.jsonc.
本地开发
npm install
npm run devMCP端点:
http://localhost:8787/mcp部署
npm run deploy已部署端点:
https:///mcphttps:///authorizehttps:///oauth/tokenhttps:///oauth/registerhttps:///callback
Claude Cowork/mcp远程设置
MCP配置示例:
{
"mcpServers": {
"google-sheets-remote": {
"command": "npx",
"args": ["mcp-remote", "https:///mcp"]
}
}
}身份验证流程
- 通过以下方式将MCP URL添加到Claude
mcp-remote. - 克劳德表演
Connect. - 用户在浏览器中完成OAuth+谷歌同意。
- Claude存储MCP认证令牌,worker按用户身份存储Google刷新令牌。
- 工具无需通过
session_token.
工具覆盖范围
已实施的工具:
- 工作表(新前缀名称+旧别名)\
sheets_list_spreadsheets, sheets_create_spreadsheet, sheets_list_sheets, sheets_get_sheet_data, sheets_update_cells, sheets_batch_update_cells, sheets_batch_update, sheets_add_rows, sheets_add_columns, sheets_create_sheet, sheets_rename_sheet, sheets_copy_sheet, sheets_search_spreadsheets, sheets_find_in_spreadsheet, sheets_get_multiple_sheet_data, sheets_get_multiple_spreadsheet_summary, sheets_share_spreadsheet, sheets_add_chart\ 为了兼容性,仍然注册了传统的无前缀工作表工具名称。
- 文档\
docs_list_documents, docs_search_documents, docs_create_document, docs_get_document, docs_batch_update, docs_insert_text, docs_replace_all_text, docs_share_document, docs_get_multiple_document_summary
- 幻灯片\
slides_list_presentations, slides_search_presentations, slides_create_presentation, slides_get_presentation, slides_batch_update, slides_create_slide, slides_insert_text, slides_replace_all_text, slides_share_presentation, slides_get_multiple_presentation_summary
备注
- 工具模式不再需要
session_token;用户上下文从MCP身份验证中解析出来。 - 当刷新令牌可用时,Google访问令牌会自动刷新。
- 确保在Google Cloud中准确配置了OAuth同意屏幕+重定向URI。
- OAuth同意应包括表格、文档、幻灯片和驱动器访问的范围。
