Gmail API集成服务

通过LIAM OAuth和Dedalus DAuth提供Gmail访问和管理的MCP服务器,支持邮件、标签、草稿等全方位操作。

  • by sintem
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sintem/gmail-mcp

使用说明

LIAM Gmail MCP

由LIAM提供(doitliam.com).此MCP服务器使用LIAM OAuth和Dedalus DAuth提供Gmail访问。

托管在Dedalus: sintem/gmail-mcp

身份验证流程(DAuth+LIAM OAuth)

  1. 客户端连接到Dedalus上的MCP服务器。
  2. Dedalus DAuth负责MCP授权;如果Gmail连接尚未授权,客户端将收到 connect_url 启动OAuth。
  3. 用户在浏览器中完成LIAM OAuth(以及谷歌同意)。
  4. Dedalus AS存储LIAM OAuth访问令牌,并发出包含连接句柄的JWT(ddls:connections).
  5. MCP服务器使用Dedalus调度+连接句柄来调用Gmail API。

工具

工具 说明
gmail_get_profile 获取Gmail个人资料(电子邮件、消息/线程数)
gmail_list_messages 列出带有可选Gmail查询的邮件
gmail_get_message 按ID获取特定消息
gmail_send_message 发送电子邮件
gmail_trash_message 将邮件移至垃圾箱
gmail_untrash_message 从垃圾箱中删除邮件
gmail_modify_message 添加/删除邮件上的标签
gmail_list_threads 列出电子邮件线程
gmail_get_thread 按ID获取特定线程
gmail_trash_thread 将线程移到垃圾桶
gmail_untrash_thread 从垃圾桶中取出一根线
gmail_modify_thread 添加/删除螺纹上的标签
gmail_list_labels 列出所有标签
gmail_get_label 按ID获取标签详细信息
gmail_create_label 创建新标签
gmail_delete_label 删除用户标签
gmail_list_drafts 列出草稿
gmail_get_draft 按ID获取草稿
gmail_create_draft 创建草稿
gmail_send_draft 发送草稿
gmail_delete_draft 删除草稿
gmail_get_attachment 获取邮件附件

冒烟工具(调试):

工具 说明
smoke_echo 回声输入(健全性检查)
smoke_info 服务器信息(健全性检查)

Gmail查询语法

from:email@example.com    # From sender
to:email@example.com      # To recipient
subject:keyword           # Subject contains
is:unread                 # Unread only
is:starred                # Starred only
has:attachment            # Has attachments
after:2024/01/01          # After date
before:2024/12/31         # Before date
in:inbox                  # In inbox

合并: from:boss@company.com is:unread has:attachment

设置

1.环境

创建 .env:

# Required
DEDALUS_API_KEY=dsk-live-your-key

# Optional (defaults shown)
DEDALUS_API_URL=https://api.dedaluslabs.ai
DEDALUS_AS_URL=https://as.dedaluslabs.ai

# MCP server slug (LIAM hosted or your own)
MCP_SERVER=sintem/gmail-mcp

# Gmail API base URL (optional override)
GMAIL_API_URL=https://gmail.googleapis.com

# Optional: direct LIAM OAuth token for local testing
LIAM_ACCESS_TOKEN=liam-jwt-here

2.安装

cd gmail-liam-mcp
uv sync --all-extras

3.部署到Dedalus

dedalus deploy

4.本地测试

OAuth(推荐使用DAuth+LIAM OAuth):

python src/_client.py

手动LIAM令牌(仅限高级/测试):

# Interactive mode
python run.py

# Single query
python run.py "show my unread emails"

项目结构

gmail-liam-mcp/
├── run.py            # Local test client with LIAM token
├── src/
│   ├── main.py       # MCP server (Dedalus entrypoint)
│   ├── gmail.py      # Tools (modular version)
│   ├── server.py     # Server config
│   └── _client.py    # OAuth/DAuth client example
├── pyproject.toml
├── .env.example
└── README.md

许可证

麻省理工学院