电子邮件管理
该项目旨在设计一个自定义IMAP客户端,用于连接用户的电子邮件收件箱,并根据指定的标准检索相关邮件,从而对邮件进行总结。
特点/功能
- 连接到IMAP服务器以获取电子邮件。
- 可以按以下方式过滤电子邮件:
- 主题 - 日期范围 - 发送者电子邮件地址 - 邮箱(默认为“收件箱”)
调试
- Stdio:如果您以STDIO模式运行此服务器,所有日志都将保存在
server.log文件,在你运行命令的位置。你可以通过设置来更改这个(默认)位置DEBUG_LOG_FILE将环境变量设置为自定义路径(绝对路径)。 - Docker:此模式使用STDIO模式,因此所有日志都保存在
server.log文件,位于你运行命令的位置。你可以通过设置来更改这一点DEBUG_LOG_FILE将环境变量设置为自定义路径(绝对路径)。 - 流模式:如果你以流模式运行此服务器,所有日志都将打印到控制台。
可用工具
search-emails从用户的收件箱中获取电子邮件。mark-emails-as-read马克将邮件标记为已读。
使用方法
命令(NPM)
- 安装依赖项
pnpm install -g @cardor/email-summarizer - 将配置添加到您的应用客户端中。
"email-summarizer": {
"type": "stdio", // Maybe your client MCP require specific type, like 'stdio'
"command": "cardor-email-summarizer",
"env": {
// Your email address.
"EMAIL_USERNAME": "",
// Your email app password.
"EMAIL_PASSWORD": "",
// The port for the IMAP server (default is 993).
"EMAIL_PORT": "993",
// The type of email client: gmail, outlook, yahoo, etc (default is 'gmail').
"EMAIL_CLIENT_TYPE": "gmail",
// Custom prompt for summarization. Must include `{{emails}}` to insert the email content.
"EMAIL_PROMPT": "Summarize the following emails: {{emails}}",
// You can also use a file path to load the prompt content. You must use absolute path.
// The file types supported are: .txt, .md, .json or .pdf.
// "EMAIL_PROMPT": "file://Absolute/Path/To/Prompt.txt"
// Also you can define a URL to load the prompt content. The URL must return a text content.
// The file types supported are: .txt, .md, .json or .pdf.
// "EMAIL_PROMPT": "https://example.com/path/to/prompt.txt"
}
}命令(使用 Docker)
- 克隆仓库
git clone - 构建Docker镜像
pnpm run docker:build - 将配置添加到您的应用客户端中。
"email-dock": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"EMAIL_USERNAME=",
"-e",
"EMAIL_PASSWORD=",
"-e",
"EMAIL_PORT=993",
"-e",
"EMAIL_CLIENT_TYPE=gmail",
"-e",
// Custom prompt for summarization. Must include `{{emails}}` to insert the email content.
// As above, you can use a file path or a URL.
"EMAIL_PROMPT=Summarize the following emails: {{emails}}",
"email-summarizer",
]
}流式HTTP请求
您也可以使用HTTP API与电子邮件摘要工具进行交互。API期望的请求头如下:
- 克隆仓库
git clone - 安装依赖项
pnpm install - 构建MCP(多项目管理计划/多控制器协议等,具体含义根据上下文确定)
pnpm run build - 启动MCP
pnpm run start - 使用MCP服务器来
http://localhost:5555/mcp
- 在请求头中发送:
- email-username您的电子邮件地址。 - email-password你的电子邮件应用密码。 - email-portIMAP服务器的端口(默认为993)。 - email-client-type电子邮件客户端的类型(默认为“gmail”)。 - email-prompt自定义摘要提示(默认为“摘要以下邮件:{{emails}}”)。必须包含 {{emails}} 插入电子邮件内容。如上所述,您可以使用文件路径或URL。
未来的工作
我将致力于:
- \[x\] 允许执行操作,如将邮件标记为已读、删除等。
- \[x\] 允许覆盖默认的摘要提示。
- \[ \] 为电子邮件检索添加更多过滤器和选项。
- \[ \] 允许获取电子邮件的全部信息(文本、HTML、附件等)。
