本项目是一个用于与谷歌工作区 API(涵盖 Gmail、Drive、Calendar、Docs、Sheets 和 Slides 等)进行交互的 Model Context Protocol (MCP) 服务器,能帮助开发者便捷地调用谷歌工作区的各项功能。
本服务器可与谷歌工作区的多个 API 进行交互,你可以按以下步骤进行操作:
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 测试服务器,可执行以下命令:
npm run inspect
这将打开浏览器中的 MCP Inspector,允许你测试所有工具和资源。
如果没有 refresh token,可以使用以下工具和步骤:
generate_auth_url 工具获取授权 URL。exchange_code_for_tokens 工具和代码换取 refresh token。.env 文件。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_list_files:列出 Google Drive 中的文件。drive_get_file:获取特定文件的元数据。drive_create_folder:在 Google Drive 中创建新文件夹。drive_upload_file:上传文件到 Google Drive。docs_get_document:获取 Google 文档内容。docs_create_document:创建新的 Google 文档。docs_append_text:向文档末尾添加文本。sheets_get_values:从 Google 表格读取值。sheets_update_values:更新表格中的值。sheets_create_spreadsheet:创建新 Google 表格。slides_create_presentation:创建新的 Google 幻灯片演示文稿。slides_get_presentation:获取演示文稿的信息。slides_create_slide:在演示文稿中添加新幻灯片。calendar_list_events:列出日历事件。calendar_create_event:创建新的日历事件。资源的格式如下:
scheme://authority/path?query#fragment
例如:
workspace://auth/guide