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这将:
- 下载最新的JAR文件至
~/.gcal-gmail-mcp/ - 检查Java 21+
- 运行身份验证(如果OAuth凭据已就绪)
- 自动配置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)来自您的管理员
一步一步
- 下载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)- 放置OAuth凭据:
cp /path/to/gcp-oauth.keys.json ~/.gcal-gmail-mcp/gcp-oauth.keys.json- 身份验证:
java -jar ~/.gcal-gmail-mcp/gcal-gmail-mcp.jar auth- 配置克劳德代码:
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环境变量)
许可证
麻省理工学院
