名称: read-no-evil-mcp
版本: 0.3.0
描述: 通过 read-no-evil-mcp 安全访问电子邮件。可防范邮件中的提示词注入攻击。支持阅读、发送、删除和移动邮件。
一个安全的电子邮件网关,可在您查看邮件前扫描其中的提示词注入攻击。
此技能是一个零依赖的 HTTP 客户端,与 read-no-evil-mcp 服务器通信。凭据和邮件服务器完全由 MCP 服务器管理——此技能本身绝不直接访问它们。
需要一个已启用 HTTP 传输的 read-no-evil-mcp 服务器在运行。有三种连接模式:
http://server:8000)。http://localhost:8000。scripts/setup-server.sh 拉取官方 Docker 镜像并启动容器。无需 pip install。脚本仅使用 Python 标准库。
首次使用前,务必询问用户希望如何连接:
您希望如何连接到 read-no-evil-mcp 服务器?
1. 连接到现有的远程服务器(您需要提供 URL)
2. 连接到现有的本地服务器(localhost:8000)
3. 通过 Docker 设置一个新的本地服务器
--server URL。未经用户明确确认,切勿自动设置 Docker。
setup-config.py listbash
setup-config.py create
setup-config.py add --email user@example.com --host imap.example.com --create-env.env 文件中填写密码。bash
scripts/setup-server.sh --config ~/.config/read-no-evil-mcp/config.yaml \
--env-file ~/.config/read-no-evil-mcp/.env使用 scripts/setup-config.py 管理服务器配置文件。所有命令均基于标志驱动,无交互式提示。
| 场景 | 命令 |
|---|---|
| 创建配置骨架 | setup-config.py create [--threshold 0.5] [--force] |
| 添加只读账户 | setup-config.py add --email user@example.com --host imap.example.com [--id myaccount] [--create-env] |
| 添加可发送邮件的账户 | setup-config.py add --email user@example.com --host imap.example.com --smtp-host smtp.example.com --send [--delete] [--move] [--create-env] |
| 检查已配置的账户 | setup-config.py list |
| 移除账户 | setup-config.py remove <id> |
请勿 运行 setup-config.py show —— 它会显示用户可能不希望与代理共享的配置详情。如需调试,请告知用户自行运行。
如果配置已存在,请勿 在未先询问用户的情况下运行 setup-config.py create --force。
管理服务器配置文件 (~/.config/read-no-evil-mcp/config.yaml)。无需 pip install —— 仅使用标准库。
# 创建新的配置骨架
setup-config.py create
setup-config.py create --threshold 0.3 --force
# 添加只读账户(无需 SMTP)
setup-config.py add --email user@example.com --host imap.example.com --create-env
# 添加具有发送权限的账户(使用 --send 时需提供 --smtp-host)
setup-config.py add --email user@example.com --id myaccount \
--host imap.example.com --smtp-host smtp.example.com --send --delete --move
# 移除账户
setup-config.py remove <account-id>
# 列出已配置的账户
setup-config.py list
# 显示完整的配置文件
setup-config.py show
# 使用自定义配置文件路径
setup-config.py --config /path/to/config.yaml create
# 启动 Docker 容器(所有标志均为必需,无提示)
scripts/setup-server.sh --config ~/.config/read-no-evil-mcp/config.yaml \
--env-file ~/.config/read-no-evil-mcp/.env
# 自定义端口和容器名称
scripts/setup-server.sh --config /path/to/config.yaml \
--env-file /path/to/.env --port 9000 --name my-rnoe
全局选项(--server, --account, --folder)可以出现在命令之前或之后。服务器 URL 也可以通过 RNOE_SERVER_URL 环境变量设置。
# 列出已配置的账户
rnoe-mail.py accounts
# 列出最近的邮件(最近 30 天)
# 输出格式:[UID] ● DATE | SENDER | SUBJECT (● = 未读)
rnoe-mail.py list
rnoe-mail.py list --account myaccount --limit 10 --days 7
# 阅读邮件(已扫描提示词注入!)
rnoe-mail.py read <uid>
rnoe-mail.py --account myaccount read <uid>
# 发送邮件
rnoe-mail.py send --to "user@example.com" --subject "Hello" --body "Message"
rnoe-mail.py send --to "user1@example.com, user2@example.com" --cc "cc@example.com" --subject "Hello" --body "Message"
# 列出文件夹
rnoe-mail.py folders --account myaccount
# 将邮件移动到文件夹
rnoe-mail.py move <uid> --to "Archive"
# 删除邮件
rnoe-mail.py delete <uid>
# 全局选项可以放在命令之前或之后
rnoe-mail.py --server http://myserver:8000 list
rnoe-mail.py list --server http://myserver:8000
| 选项 | 描述 | 默认值 |
|---|---|---|
--server URL |
MCP 服务器 URL | http://localhost:8000 |
--account ID / -a |
账户 ID | default |
--folder NAME / -f |
邮件文件夹 | INBOX |
所有邮件均由 MCP 服务器自动扫描:
0 — 成功1 — 一般错误(连接失败、账户无效等)2 — 检测到提示词注入