谷歌服务集成协议

一个提供Gmail、Google日历、Google文档、Google Meet、Google任务、Google表格和Trello访问的模型上下文协议(MCP)服务器,适用于如Claude等AI助手。

  • by hansd
  • Kotlin
  • 本地部署
  • 更新于
在 GitHub 查看 hansd/gcal-gmail-mcp

使用说明

gcal gmail mcp

一个模型上下文协议(MCP)服务器,为克劳德等人工智能助理提供Gmail、谷歌日历、谷歌文档、谷歌会议、谷歌任务、谷歌表格和Trello访问权限。

特性

Gmail

  • 发送和起草电子邮件(带附件、HTML、CC/BCC)
  • 阅读和搜索电子邮件
  • 管理标签(创建、更新、删除)
  • 创建电子邮件过滤器(带模板)
  • 批量操作修改/删除多封电子邮件
  • 下载附件

谷歌日历

  • 列出、创建、更新和删除事件
  • 从自然语言快速添加事件
  • 回应活动邀请(接受/拒绝/暂定)
  • 列出日历并检查忙/闲状态
  • 支持定期活动、与会者和Google Meet链接

谷歌文件

  • 获取和添加会议笔记和议程项目
  • 创建电子邮件审阅文档

谷歌见面会

  • 列出会议记录
  • 获取成绩单和成绩单条目

工作表

  • 任务列表和任务的完整CRUD
  • 移动、重新排序和清除已完成的任务

谷歌表格

  • 读取和写入单元格值
  • 添加行,创建电子表格和表格

特雷洛

  • 板、列表、卡片、标签、检查表
  • 自定义字段、注释、成员分配

快速安装

curl -fsSL https://raw.githubusercontent.com/hansd/gcal-gmail-mcp/main/install.sh | bash

这将:

  1. 下载最新的JAR文件至 ~/.gcal-gmail-mcp/
  2. 检查Java 21+
  3. 运行身份验证(如果OAuth凭据已就绪)
  4. 自动配置Claude代码

跑步前,得到 gcp-oauth.keys.json 从管理员处创建文件并将其放置在:

~/.gcal-gmail-mcp/gcp-oauth.keys.json

更新中

再次运行相同的安装命令以获取最新版本。

手动设置

Click to expand manual installation steps

先决条件

  • Java 21或更高版本(下载)
  • OAuth凭据文件(gcp-oauth.keys.json)来自您的管理员

一步一步

  1. 下载JAR文件:

    mkdir -p ~/.gcal-gmail-mcp
    curl -L -o ~/.gcal-gmail-mcp/gcal-gmail-mcp.jar \
      $(curl -s https://api.github.com/repos/hansd/gcal-gmail-mcp/releases/latest \
        | grep browser_download_url | cut -d '"' -f 4)
    
  2. 放置OAuth凭据:

    cp /path/to/gcp-oauth.keys.json ~/.gcal-gmail-mcp/gcp-oauth.keys.json
    
  3. 身份验证:

    java -jar ~/.gcal-gmail-mcp/gcal-gmail-mcp.jar auth
    
  4. 配置克劳德代码:

    claude mcp add gmail-kotlin --scope user -- java -jar ~/.gcal-gmail-mcp/gcal-gmail-mcp.jar
    

从源头构建

Click to expand (for developers only)
git clone https://github.com/hansd/gcal-gmail-mcp.git
cd gcal-gmail-mcp
./gradlew install

环境变量

  • GOOGLE_OAUTH_PATH -OAuth客户端凭据JSON路径(默认值: ~/.gcal-gmail-mcp/gcp-oauth.keys.json)
  • GMAIL_CREDENTIALS_PATH -存储用户凭据的路径(默认值: ~/.gcal-gmail-mcp/credentials.json)

可用工具

Gmail(19个工具)

工具 说明
send_email 发送新电子邮件
draft_email 创建电子邮件草稿
read_email 按ID阅读特定电子邮件
search_emails 使用Gmail查询语法搜索电子邮件
modify_email 在电子邮件中添加/删除标签
delete_email 永久删除电子邮件
list_email_labels 列出所有Gmail标签
batch_modify_emails 修改多封电子邮件上的标签
batch_delete_emails 删除多封电子邮件
create_label 创建新标签
update_label 更新标签
delete_label 删除标签
get_or_create_label 获取现有标签或创建它
create_filter 创建电子邮件筛选器
list_filters 列出所有筛选器
get_filter 获取过滤器详细信息
delete_filter 删除筛选器
create_filter_from_template 从预定义模板创建筛选器
download_attachment 下载电子邮件附件

日历(11个工具)

工具 说明
list_calendar_events 使用可选筛选器列出事件
get_calendar_event 获取活动详细信息
create_calendar_event 创建新事件
update_calendar_event 更新现有事件
delete_calendar_event 删除事件
quick_add_calendar_event 从自然语言创建事件
respond_to_calendar_event 接受/拒绝/初步回应
list_calendars 列出可访问的日历
get_free_busy 检查可用性
list_event_instances 列出重复事件的实例
list_event_attachments 列出事件附件

文档(5个工具)

工具 说明
get_meeting_notes 从日历事件中获取会议笔记
get_agenda_items 从会议笔记中获取议程项目
add_agenda_item 在会议笔记中添加议程项目
create_email_review_doc 创建Google文档以进行电子邮件审核
read_doc_content 阅读谷歌文档的全文内容

满足(3个工具)

工具 说明
list_conference_records 列出最近的会议记录
get_transcript 获取成绩单元数据和文档ID
list_transcript_entries 列出原始成绩单条目

任务(10个工具)

工具 说明
list_task_lists 列出所有任务列表
create_task_list 创建新任务列表
delete_task_list 删除任务列表
list_tasks 在任务列表中列出任务
get_task 获取特定任务
create_task 创建新任务
update_task 更新任务
delete_task 删除任务
move_task 移动/重新排序任务
clear_completed_tasks 从列表中清除已完成的任务

表格(7个工具)

工具 说明
get_spreadsheet 获取电子表格元数据
read_sheet_values 从某个范围读取单元格值
read_sheet_multiple_ranges 从多个范围读取
update_sheet_values 更新单元格值
append_sheet_values 在现有数据后追加行
create_spreadsheet 创建新的电子表格
create_sheet 添加新工作表/选项卡

Trello(25工具)

工具 说明
list_trello_boards 列表板
get_trello_board 获取电路板详细信息
create_trello_board 创建一个板
search_trello 搜索板和卡片
list_trello_lists 在板上列出列表
create_trello_list 创建列表
update_trello_list 更新列表
archive_trello_list 存档列表
list_trello_cards 列出卡片
get_trello_card 获取卡详细信息
create_trello_card 创建卡片
update_trello_card 更新卡片
move_trello_card 移动卡片
archive_trello_card 将卡片存档
add_trello_card_comment 添加评论
list_trello_labels 列出标签
create_trello_label 创建标签
update_trello_label 更新标签
delete_trello_label 删除标签
list_trello_board_members 列出董事会成员
assign_trello_card_members 为卡片分配成员
create_trello_checklist 创建检查表
get_trello_checklist 获取检查表详细信息
add_trello_checklist_item 添加检查表项
update_trello_checklist_item 更新检查表项目

OAuth范围

  • gmail.modify -阅读、发送和管理电子邮件
  • gmail.settings.basic -管理过滤器和标签
  • calendar -完全日历访问
  • documents -创建和编辑谷歌文档
  • meetings.space.readonly -阅读会议记录和成绩单
  • tasks -完整的谷歌任务访问权限
  • spreadsheets -读写谷歌表格

备注

  • 这 From 标头会自动设置为经过身份验证的Gmail地址
  • UI启动的进程(如MCP客户端)可能不会继承shell环境变量-set GOOGLE_OAUTH_PATH 如果需要,在MCP服务器配置中明确显示
  • Trello集成需要一个单独的API密钥和令牌(通过 TRELLO_API_KEY 和 TRELLO_TOKEN 环境变量)

许可证

麻省理工学院