README.md•2.65 kB
# 163邮箱 MCP 服务器
这是一个基于Gradio的163邮箱MCP服务器,可以作为LLM的工具,用于获取和处理电子邮件。
## 功能
- 获取最新的未读邮件
- 检查指定类型和数量的邮件
- 保存邮件附件
- 发送纯文本邮件
- 发送HTML格式邮件
- 发送带附件的邮件
## 安装依赖
### 使用requirements.txt安装
```bash
pip install -r requirements.txt
```
### 手动安装
```bash
pip install gradio[mcp] bs4 python-dotenv
```
## 启动服务器
### 直接启动
```bash
python email_mcp_server.py
```
### 使用环境变量启动
可以通过环境变量来配置邮箱账号信息:
```bash
chmod +x start_with_env.sh
./start_with_env.sh
```
或者手动设置环境变量:
```bash
export EMAIL_IMAP_SERVER=imap.163.com
export EMAIL_SMTP_SERVER=smtp.163.com
export EMAIL_ACCOUNT=your_email@163.com
export EMAIL_PASSWORD=your_password
python email_mcp_server.py
```
## MCP工具
服务器提供以下MCP工具:
1. `get_newest_email` - 获取最新的未读邮件(可选覆盖参数:`imap_server`、`account`、`password`)
2. `check_emails` - 检查指定类型和数量的邮件(可选覆盖参数:`imap_server`、`account`、`password`)
3. `save_attachment` - 保存指定的附件(可选覆盖参数:`imap_server`、`account`、`password`)
4. `send_text_email` - 发送纯文本邮件(可选覆盖参数:`smtp_server`、`account`、`password`)
5. `send_html_email` - 发送HTML格式邮件(可选覆盖参数:`smtp_server`、`account`、`password`)
6. `send_email_with_attachment` - 发送带附件的邮件(可选覆盖参数:`smtp_server`、`account`、`password`)
### 发送示例:自定义发送者账号
```bash
curl -X POST http://localhost:7860/gradio_api/mcp/run/send_text_email \
-H "Content-Type: application/json" \
-d '{
"to_addr": "someone@example.com",
"subject": "自定义发件人测试",
"content": "这是一封从自定义发件人发送的测试邮件",
"account": "your_email@163.com",
"password": "your_app_password",
"smtp_server": "smtp.163.com"
}'
```
### 读取示例:自定义接收账号
```bash
curl -X POST http://localhost:7860/gradio_api/mcp/run/get_newest_email \
-H "Content-Type: application/json" \
-d '{
"account": "your_email@163.com",
"password": "your_app_password",
"imap_server": "imap.163.com"
}'
```
## 连接到MCP客户端
MCP服务器启动后,可以通过以下URL连接:
```
http://localhost:7860/gradio_api/mcp/sse
```
#### Clone with HTTP
```bash
git clone https://www.modelscope.cn/studios/s3219521aa/email_mcp.git
```