Skip to main content
Glama
README.md
# 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
```