article
README
🚀 谷歌工作区 MCP 服务器
本项目是一个用于与谷歌工作区 API(涵盖 Gmail、Drive、Calendar、Docs、Sheets 和 Slides 等)进行交互的 Model Context Protocol (MCP) 服务器,能帮助开发者便捷地调用谷歌工作区的各项功能。
🚀 快速开始
本服务器可与谷歌工作区的多个 API 进行交互,你可以按以下步骤进行操作:
- 确保满足先决条件。
- 完成安装和配置。
- 启动服务器并开始使用。
✨ 主要特性
- Gmail API:支持发送电子邮件、列出邮件、管理标签等操作。
- Drive API:能够列出文件、创建文件夹以及上传文件。
- Docs API:可创建和编辑 Google 文档。
- Sheets API:可以读取和写入电子表格数据。
- Slides API:支持创建演示文稿和幻灯片。
- Calendar API:能列出和创建日历事件。
- 身份验证:提供 OAuth2 身份验证流程辅助工具。
📦 安装指南
先决条件
- Node.js 16+
- 启用必要 APIs 的谷歌云项目
- OAuth 2.0 客户端凭证
安装命令
npm install
📚 详细文档
配置步骤
-
复制
.env.example文件到.env:cp .env.example .env -
使用你的谷歌 API 凭证编辑
.env文件:CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret REDIRECT_URI=http://localhost:3000/oauth2callback REFRESH_TOKEN=your_refresh_token -
若你还没有 refresh token,可以使用服务器提供的身份验证工具获取。
使用方法
启动服务器
npm run dev
与 MCP Inspector 结合使用
要使用 MCP Inspector 测试服务器,可执行以下命令:
npm run inspect
这将打开浏览器中的 MCP Inspector,允许你测试所有工具和资源。
身份验证
如果没有 refresh token,可以使用以下工具和步骤:
- 使用
generate_auth_url工具获取授权 URL。 - 在浏览器中打开该 URL 并授权应用程序。
- 从重定向 URL 中复制授权代码。
- 使用
exchange_code_for_tokens工具和代码换取 refresh token。 - 将 refresh token 添加到
.env文件。
可用工具
Gmail
gmail_list_messages:列出符合条件的 Gmail 邮件。gmail_get_message:通过 ID 获取特定 Gmail 邮件。gmail_send_message:发送新邮件。gmail_list_labels:列出所有 Gmail 标签。gmail_modify_message:修改邮件标签。gmail_trash_message:将邮件移至垃圾桶。gmail_untrash_message:从垃圾桶中删除邮件。gmail_create_draft:创建草稿。
Drive
drive_list_files:列出 Google Drive 中的文件。drive_get_file:获取特定文件的元数据。drive_create_folder:在 Google Drive 中创建新文件夹。drive_upload_file:上传文件到 Google Drive。
Docs
docs_get_document:获取 Google 文档内容。docs_create_document:创建新的 Google 文档。docs_append_text:向文档末尾添加文本。
Sheets
sheets_get_values:从 Google 表格读取值。sheets_update_values:更新表格中的值。sheets_create_spreadsheet:创建新 Google 表格。
Slides
slides_create_presentation:创建新的 Google 幻灯片演示文稿。slides_get_presentation:获取演示文稿的信息。slides_create_slide:在演示文稿中添加新幻灯片。
Calendar
calendar_list_events:列出日历事件。calendar_create_event:创建新的日历事件。
资源
资源的格式如下:
scheme://authority/path?query#fragment
例如:
workspace://auth/guide
微信扫一扫