谷歌日历和Gmail MCP服务器(Python)
该项目实现了 基于Python的MCP(模型上下文协议)服务器 它提供了一个接口 大型语言模型(LLMs) 和那个 谷歌日历 和 Gmail API. 它实现了无缝的高级日程安排、事件管理和电子邮件工作流 MCP集成.
______________________________________________________________________
📖 文档
- 入门指南: GETTING_STARTED.md
- 架构与参考: DOCS.md
______________________________________________________________________
✨ 特性
🔑 认证
- 安全 OAuth 2.0(桌面应用程序流) 谷歌API。
- 自动令牌存储和刷新。
📅 谷歌日历
- 核心行动
- 列出日历→ mcp_google_calendar_list_calendars - 创建日历→ mcp_google_calendar_create_calendar - 查找事件(基本/高级筛选器)→ mcp_google_calendar_find_events - 创建详细事件→ mcp_google_calendar_create_event - 从文本快速添加事件→ mcp_google_calendar_quick_add_event - 更新事件→ mcp_google_calendar_update_event - 删除事件→ mcp_google_calendar_delete_event - 添加与会者→ mcp_google_calendar_add_attendee
- 高级调度与分析
- 检查与会者的反应→ mcp_google_calendar_check_attendee_status - 跨日历查询忙/闲时段→ mcp_google_calendar_query_free_busy - 自动安排相互免费时段→ mcp_google_calendar_schedule_mutual - 分析繁忙程度(每日事件计数和持续时间)→ mcp_google_calendar_analyze_busyness
📧 Gmail
- 列出标签→
gmail_list_labels - 使用筛选器搜索/列出邮件→
gmail_list_messages - 获取多种格式的消息→
gmail_get_message - 发送电子邮件(简单或原始RFC 2822)→
gmail_compose_and_send,gmail_send_raw - 修改标签(添加/删除)→
gmail_modify_labels
⚡ 服务器
- 基于FastAPI的REST API 暴露日历和Gmail端点。
- MCP集成:使用stdio提供工具
mcp_sdk图书馆。
______________________________________________________________________
⚙️ 设置
1.启用Google API
在您的 谷歌云项目:
- 谷歌日历API
- Gmail API
2.创建OAuth客户端
- 创建一个 OAuth 2.0客户端(桌面应用程序).
- 添加重定向URI:
http://localhost:8080/oauth2callback- 配置同意屏幕并选择所需的范围。
3.配置环境
复制 example.env → .env 并更新您的凭据和范围。 推荐范围:
GOOGLE_SCOPES='https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.send, https://www.googleapis.com/auth/gmail.labels, https://www.googleapis.com/auth/gmail.modify'4.安装并运行
pip install -r requirements.txt
python run_server.py有关详细演练,请参见 GETTING_STARTED.md.
______________________________________________________________________
🌐 HTTP端点
日历
GET /calendarsGET /calendars/{calendar_id}/eventsPOST /freeBusyPOST /schedule_mutual
Gmail
GET /gmail/labelsGET /gmail/messagesGET /gmail/messages/{message_id}POST /gmail/messages:sendRawPOST /gmail/messages:composeAndSendPOST /gmail/messages/{message_id}:modify
______________________________________________________________________
🛠️ MCP工具
日历
list_calendarsfind_eventscreate_eventquick_add_eventupdate_eventdelete_eventadd_attendeecheck_attendee_statusquery_free_busyschedule_mutualanalyze_busyness
Gmail
gmail_list_labelsgmail_list_messagesgmail_get_messagegmail_compose_and_sendgmail_send_rawgmail_modify_labels
______________________________________________________________________
📌 备注
- 配合使用效果最佳 LLM动力助手 用于智能日程安排和电子邮件管理。
- 支持 MCP stdio集成 实现无缝的人工智能工作流程。
