项目介绍
Agentic-Email-System-MCP-Servers
使用Agentic AI、LangChain和MCP工具构建的智能电子邮件助手。它能够自主读取、分类、标记已读邮件,并回复重要信息,帮助您保持收件箱整洁高效。
该项目包括:
- MCP服务器 和 MCP客户端,用于异步接口连接Gmail API。
- LangChain工具,封装MCP客户端调用,供AI代理使用。
- 一个**Streamlit应用(
app.py)**用户界面,以用户友好的方式与代理交互。
功能
- 从Gmail收件箱读取最新邮件。
- 发送带有主题和正文的邮件。
- 创建Gmail标签。
- 根据ID删除邮件。
- 创建草稿邮件。
- 获取和设置Gmail签名。
- 使用LangChain和OpenAI大模型驱动。
- 通过OAuth 2.0使用Google的Gmail API。
快速开始
预备条件
- Python 3.9+
- 启用了Gmail API的Google Cloud Console项目。
- 从Google API控制台下载的
credentials.json文件。
- OpenAI API密钥。
安装
- 克隆仓库
git clone https://github.com/yourusername/gmail-langchain-agent.git
cd gmail-langchain-agent
- 安装依赖项
pip install -r requirements.txt
-
将您的Google API credentials.json文件放置在根目录下。
-
运行MCP服务器(首次运行时会启动OAuth流程):
python mcp_server.py
- 运行Streamlit应用:
streamlit run app.py
- 使用Streamlit用户界面通过AI驱动的代理与您的Gmail进行交互。
文件概述
- mcp_server.py: 处理异步Gmail API调用的MCP服务器。
- mcp_client.py: 调用服务器工具的MCP客户端函数。
- gmail_tools.py: 包装MCP客户端函数的LangChain工具。
- app.py: 与代理交互的Streamlit应用用户界面。
- requirements.txt: Python依赖项。
配置
- 确保在
app.py中更新您的OpenAI API密钥或设置环境变量OPENAI_API_KEY。
- 首次运行MCP服务器时,会在浏览器中打开Gmail OAuth同意页面。
使用方法
输入自然语言查询,例如:
- "读取最新的5封邮件"
- "给john@example.com发送邮件,主题为Hello,正文为Hi John"
- "创建名为Important的标签"
- "将我的Gmail签名设置为Best regards, Mukilan"
LangChain代理将把命令路由到适当的Gmail API工具。