使用说明
IMAP MCP服务器
一种模型上下文协议(MCP)服务器,提供IMAP电子邮件功能和全面的电子邮件管理功能。服务器使用YAML配置进行IMAP连接设置。
特性
- 自动IMAP连接 使用具有TLS加密支持的YAML配置
- 加载电子邮件 具有高级过滤功能:
- 按发件人电子邮件地址筛选
- 按文件夹筛选(收件箱、已发送等)
- 按已读/未读状态筛选
- 过滤带/不带附件的电子邮件
- 分页支持,页面大小可配置
- 下载附件 (所有或特定的)
- 移动电子邮件 文件夹之间
安装
npm install
配置
复制 config.example.yaml 向 config.yaml 并使用您的IMAP设置进行更新:
cp config.example.yaml config.yaml
然后编辑 config.yaml:
imap:
host: imap.gmail.com
port: 993
username: your-email@gmail.com
password: your-app-password
use_ssl: true
必填字段:
host:IMAP服务器主机名username:电子邮件用户名password:电子邮件密码
可选字段:
port:IMAP服务器端口(默认值:993)use_ssl:使用SSL/TLS加密(默认值:true)
用法
服务器在stdio上运行,并通过模型上下文协议进行通信。您可以指定自定义配置文件路径:
# Use default config.yaml
node src/server.js
# Use custom config file
node src/server.js /path/to/your/config.yaml
可用工具
1.加载电子邮件
加载具有各种过滤选项的电子邮件。
参数:
folder(可选):文件夹名称(默认:“收件箱”)sender(可选):按发件人电子邮件地址筛选read_status(可选):“已读”、“未读”或“全部”(默认值:“全部”)has_attachment(可选):过滤带附件的电子邮件(布尔值)page(可选):页码,从0开始(默认值:0)page_size(可选):每页电子邮件数(默认值:20)
退货:
- 电子邮件对象数组
email_id、发件人、主题、日期等。 - 分页信息:
has_more_pages,total_count,page,page_size
2.下载_附件
从特定电子邮件下载附件。
参数:
email_id(必填):来自load_emails的电子邮件UIDdownload_dir(可选):保存附件的目录。仅指定是否需要自定义位置。如果省略,则使用第一个配置的允许路径。相对路径相对于第一个配置的允许路径进行解析。filter(可选):要下载的附件文件名或索引数组。仅指定是否要下载特定附件。如果省略,则下载所有附件。
将电子邮件移动到目标文件夹。
参数:
email_ids(必填):要移动的电子邮件UID数组target_folder(必填):目标文件夹名称
示例用法
- 使用过滤器加载电子邮件:
{
"tool": "load_emails",
"arguments": {
"sender": "important@company.com",
"has_attachment": true,
"page_size": 10
}
}
- 从电子邮件中下载所有附件(使用第一个配置的目录):
{
"tool": "download_attachments",
"arguments": {
"email_id": 12345
}
}
- 按文件名下载特定附件(到第一个配置的目录):
{
"tool": "download_attachments",
"arguments": {
"email_id": 12345,
"filter": ["document.pdf", "image.jpg"]
}
}
- 按索引将特定附件下载到自定义目录:
{
"tool": "download_attachments",
"arguments": {
"email_id": 12345,
"filter": [0, 2],
"download_dir": "/home/user/downloads/email_attachments"
}
}
- 将所有附件下载到子目录(相对于第一个配置的路径):
{
"tool": "download_attachments",
"arguments": {
"email_id": 12345,
"download_dir": "important_emails"
}
}
- 将电子邮件移动到文件夹:
{
"tool": "move_emails",
"arguments": {
"email_ids": [12345, 12346],
"target_folder": "Processed"
}
}
配置
服务器使用YAML配置文件。对于Gmail,您需要:
- 启用双因素身份验证
- 生成应用程序密码
- 使用
imap.gmail.com作为config.yaml中的主机
安全说明
- 服务器默认支持TLS加密
- 凭据存储在YAML配置文件中-确保其安全
MCP集成
要将此IMAP服务器与MCP客户端(如Claude Desktop)集成,请将以下内容添加到您的 mcp.json 配置文件:
{
"mcpServers": {
"imap-server": {
"command": "node",
"args": ["/path/to/your/imap-mcp-server/src/server.js"],
"env": {}
}
}
}
自定义配置文件路径
如果要使用自定义配置文件位置:
{
"mcpServers": {
"imap-server": {
"command": "node",
"args": [
"/path/to/your/imap-mcp-server/src/server.js",
"/path/to/your/custom-config.yaml"
],
"env": {}
}
}
}
Claude桌面集成
对于Claude Desktop来说 mcp.json 文件应位于:
macOS:
~/Library/Application Support/Claude/mcp.json
窗户:
%APPDATA%\Claude\mcp.json
Linux:
~/.config/Claude/mcp.json
添加配置后,重新启动Claude Desktop以加载IMAP服务器。然后,您应该能够在与Claude的对话中直接使用与电子邮件相关的命令。