MCP Email Server 使用说明
项目简介
这是一个实现了 Model Context Protocol (MCP) 的服务器端应用,它允许兼容 MCP 的 LLM(如 Claude Desktop)通过安全的 POP3 和 SMTP 协议与您的电子邮件账户进行交互。该服务器将邮件操作(如查看、获取、删除、发送)封装为 LLM 可以调用的“工具”。
主要功能点
- 查看邮件列表: 获取收件箱中所有邮件的摘要信息(主题、发件人、日期等)。
- 获取邮件详情: 根据邮件 ID 获取特定邮件的完整内容(包含头部和正文)。
- 删除邮件: 根据邮件 ID 标记邮件进行删除。请注意,POP3 删除操作在连接关闭时生效,且会改变邮件 ID 顺序。
- 发送文本邮件: 通过 SMTP 发送纯文本格式的电子邮件。
- 发送 HTML 邮件: 通过 SMTP 发送 HTML 格式的电子邮件。
- 安全连接: 支持 POP3S (SSL) 和 SMTP (STARTTLS 或 SSL)。
- 环境变量配置: 使用 '.env' 文件安全管理您的邮件账户信息和服务器设置。
安装步骤
-
安装 Python: 确保您的系统安装了 Python 3.12 或更高版本。
-
安装 uv (推荐): uv 是一个快速的 Python 包管理器。
curl -SfL https://astral.sh/uv/install.sh | sh # 或根据您的操作系统使用其他安装方法 -
克隆仓库: 将该 GitHub 仓库克隆到您的本地计算机。
git clone https://github.com/ptbsare/email-mcp-server.git cd email-mcp-server -
设置虚拟环境和依赖:
uv venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows uv pip install -e .这会创建并激活一个虚拟环境,然后安装所需的库(包括 'mcp' 和 'python-dotenv')。
-
创建配置文件 '.env': 在 'email-mcp-server' 目录下创建一个名为 '.env' 的文件,并添加您的邮件账户和服务器信息。请将 '/path/to/email-mcp-server' 替换为您实际克隆仓库的绝对路径。
EMAIL_USER=您的邮箱地址@example.com EMAIL_PASS=您的邮箱应用密码或普通密码 POP3_SERVER=pop.example.com POP3_PORT=995 # 可选,默认 995 # SMTP 配置 (选择一种方式: STARTTLS 或 SSL) SMTP_SERVER=smtp.example.com # 对于 STARTTLS (通常端口 587, 默认方式): SMTP_PORT=587 # 可选,如果 SMTP_USE_SSL 为 false 或未设置,默认 587 # SMTP_USE_SSL=false # 可选,默认 false # 或者对于直接 SSL (通常端口 465): # SMTP_PORT=465 # 可选,如果 SMTP_USE_SSL 为 true,默认 465 # SMTP_USE_SSL=true重要安全提示: '.env' 文件包含敏感信息,切勿将其提交到版本控制系统。建议将其添加到 '.gitignore' 文件中。如果您的邮箱开启了两步验证,通常需要生成一个“应用专用密码”用于此服务器,而不是使用您的主密码。请查阅您的邮件服务提供商文档(如 Gmail、Outlook 等)。
服务器配置 (供 MCP 客户端使用)
MCP 客户端(如 Claude Desktop)需要知道如何启动并连接到此服务器。您需要在客户端的配置文件(例如 'developer_config.json')中添加以下配置信息。请将 '/path/to/email-mcp-server' 替换为您存放 'email-mcp-server' 仓库的完整、绝对路径。
{ "mcpServers": { "email-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/email-mcp-server", "run", "main.py" ], "env": { // 这里的配置会覆盖 .env 文件中的同名设置,通常不需要填写 // "EMAIL_USER": "...", // "EMAIL_PASS": "...", // ... } } } }
- 'email-mcp-server': 这是您给这个 MCP 服务器起的名字,客户端会用这个名字来引用它。
- 'command': 启动服务器的可执行命令。这里使用 'uv' 命令。
- 'args': 传递给 'command' 的参数。
- '--directory /path/to/email-mcp-server': 告诉 'uv' 在哪个目录下执行命令。这是最关键的参数,请务必替换为您的仓库路径!
- 'run main.py': 告诉 'uv' 执行仓库目录下的 'main.py' 文件。
- 'env': 可选,用于设置服务器运行时的环境变量,可以用来覆盖 '.env' 文件中的设置。
完成配置后,请重启您的 MCP 客户端(如 Claude Desktop),客户端会自动尝试启动并连接到此服务器。
基本使用方法
一旦 MCP 客户端成功连接并识别了 'email-mcp-server',客户端中的 LLM 就能够通过调用服务器暴露的工具来执行邮件操作。LLM 可以通过自然语言指示客户端调用相应的工具(例如,让 LLM 调用 'pollEmails' 来获取最新邮件列表,然后调用 'getEmailsById' 查看特定邮件内容)。
关键词
电子邮件管理, LLM工具, POP3, SMTP, 邮件收发
信息
分类
通信与社交