Gmail MCP服务器
这 imap-mcp-server 现在是专门为Gmail设计的,为Gmail帐户提供AI支持的分析和管理功能。它利用Gmail API实现无缝集成和高级功能。
特性
- Gmail特定集成:专为使用Gmail API的Gmail帐户构建。
- AI驱动的分析:分析电子邮件模式,确定邮件优先级,并深入了解您的Gmail收件箱。
- 智能文件夹管理:使用Gmail的自定义过滤规则创建和管理智能文件夹。
- 谷歌云存储集成:迁移Gmail邮件和附件并将其存储在Google Cloud Storage中。
- 批处理:根据自定义条件对Gmail邮件执行批量操作。
MCP服务器配置
要将此服务器与VS Code的MCP(模型上下文协议)功能一起使用,请将以下配置添加到VS Code中 settings.json:
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "gmail-username",
"description": "Gmail Username"
},
{
"type": "promptString",
"id": "gmail-password",
"description": "Gmail Password",
"password": true
},
{
"type": "promptString",
"id": "gemini-key",
"description": "Gemini API Key",
"password": true
},
{
"type": "promptString",
"id": "gcs-credentials",
"description": "Google Cloud Service Account JSON",
"password": true
}
],
"servers": {
"imap-mcp": {
"type": "stdio",
"command": "${userHome}/git/imap-mcp-server/venv/bin/python",
"args": [
"${userHome}/git/imap-mcp-server/src/server.py"
],
"env": {
"GEMINI_API_KEY": "${input:gemini-key}",
"IMAP_HOST": "imap.gmail.com",
"ANALYTICS_BATCH_SIZE": "50",
"ANALYTICS_CACHE_DURATION": "60",
"ANALYTICS_THREAD_ANALYSIS": "true",
"ANALYTICS_PRIORITY_SCORING": "true",
"GCS_BUCKET": "imap-mcp-server",
"ANALYTICS_SENDER_THRESHOLD": "7",
"ANALYTICS_DOMAIN_THRESHOLD": "10",
"ANALYTICS_UPDATE_INTERVAL": "3600",
"ANALYTICS_LABEL_TRACKING": "true",
"ANALYTICS_TYPE_CLASSIFICATION": "true",
"LOG_LEVEL": "ERROR"
}
}
}
}配置选项
- 环境变量:
- GEMINI_API_KEY:用于AI动力分析的Gemini API密钥 - IMAP_HOST:Gmail IMAP服务器(默认:IMAP.Gmail.com) - ANALYTICS_BATCH_SIZE:每批要处理的电子邮件数量(默认值:50) - ANALYTICS_CACHE_DURATION:缓存持续时间(分钟)(默认值:60) - ANALYTICS_THREAD_ANALYSIS:启用线程分析(默认值:true) - ANALYTICS_PRIORITY_SCORING:为电子邮件启用优先级评分(默认值:true) - GCS_BUCKET:用于电子邮件存储的Google Cloud Storage存储桶名称 - ANALYTICS_SENDER_THRESHOLD:触发分析的发件人的最少电子邮件数(默认值:7) - ANALYTICS_DOMAIN_THRESHOLD:触发分析的来自域的最少电子邮件数(默认值:10) - ANALYTICS_UPDATE_INTERVAL:分析更新间隔(秒)(默认值:3600) - ANALYTICS_LABEL_TRACKING:启用标签跟踪(默认值:true) - ANALYTICS_TYPE_CLASSIFICATION:启用电子邮件类型分类(默认值:true) - LOG_LEVEL:日志记录级别(默认值:ERROR)
先决条件
在使用服务器之前:
- 在项目目录中设置Python虚拟环境
- 使用安装所需的依赖项
pip install -r requirements.txt - 如上所示配置您的VS代码设置
- 确保您拥有以下项目的有效凭据:
- Gmail帐户(用户名和密码) - Gemini API密钥 - 谷歌云服务帐户(用于GCS集成)
需求
- 启用API访问的Gmail帐户。
- 访问Gmail API和谷歌云存储的谷歌云凭据。
- Python 3.8或更高版本。
工具
这 gmail-mcp-server 提供以下用于管理和分析Gmail帐户的工具:
test_connection
- 描述:使用OAuth2凭据测试Gmail API连接。
- 退货:如果连接成功,则显示Gmail标签列表。
list_labels
- 描述:列出您Gmail帐户中的所有可用标签。
- 退货:标签名称和ID字典。
search_emails
- 描述:使用IMAP搜索条件搜索Gmail邮件。
- 参数:
- mailbox:要在其中搜索的Gmail标签(例如“收件箱”)。 - criteria:IMAP搜索条件(例如“全部”)。 - limit:要返回的最大邮件数。
- 退货:匹配的Gmail邮件列表。
get_email
- 描述:通过邮件ID获取电子邮件的完整内容。
- 参数:
- mailbox:包含邮件的Gmail标签。 - message_id:电子邮件的唯一标识符。
- 退货:电子邮件内容和元数据。
analyze_inbox
- 描述:分析电子邮件模式,并从您的Gmail收件箱中提供见解。
- 参数:
- days:要分析的天数(默认值:7)。
- 退货:深入了解电子邮件活动、发件人模式等。
get_total_messages
- 描述:检索收件箱中的邮件总数。
- 退货:邮件总数。
analyze_inbox_state
- 描述:对收件箱状态进行全面分析。
- 参数:
- max_messages:要分析的最大消息数(默认值:100)。
- 退货:分析结果,包括发件人活动、电子邮件类型和附件统计信息。
move_message
- 描述:将邮件从一个文件夹移动到另一个文件夹。
- 参数:
- uid:电子邮件的唯一标识符。 - from_folder:包含邮件的源文件夹。 - to_folder:将邮件移动到的目标文件夹。
- 退货:操作的成功状态。
create_smart_folder
- 描述:使用指定的筛选规则创建智能文件夹。
- 参数:
- name:智能文件夹的名称。 - rules:文件夹的筛选规则列表。
- 退货:创建的智能文件夹的详细信息。
batch_process
- 描述:根据条件批量处理多封电子邮件。
- 参数:
- folder:用于处理电子邮件的文件夹。 - action:要执行的操作(例如,“移动”、“删除”、“标记”)。 - filter_criteria:筛选电子邮件的标准。
- 退货:批处理操作的结果。
migrate_email_to_gcs
- 描述:将电子邮件迁移到Google Cloud Storage。
- 参数:
- uid:电子邮件的唯一标识符。 - folder:包含邮件的文件夹。 - gcs_prefix:用于存储电子邮件的GCS文件夹。
- 退货:存储的电子邮件数据和附件的路径。
get_folder_summary
- 描述:检索文件夹的摘要统计信息。
- 参数:
- folder:用于获取摘要统计信息的文件夹。
- 退货:汇总统计数据,包括消息计数和活动趋势。
search_messages
- 描述:使用Gmail的搜索语法搜索Gmail邮件。
- 参数:
- query:Gmail搜索查询(例如,“发件人:someone@example.com有:附件”)。 - max_results:要返回的最大邮件数。
- 退货:匹配的Gmail邮件列表。
get_thread
- 描述:检索Gmail线程中的所有邮件。
- 参数:
- thread_id:要检索的线程的ID。
- 退货:线程及其消息。
get_messages
- 描述:检索Gmail邮件,可选择按标签筛选。
- 参数:
- label_ids:要筛选的Gmail标签ID的可选列表。 - max_results:要返回的最大邮件数。
- 退货:Gmail邮件列表。
入门指南
- 设置你的Gmail API凭据。
- 使用您的Gmail特定设置配置服务器。
- 运行服务器开始管理和分析您的Gmail收件箱。
有关详细的设置说明,请参阅 安装指南.
