OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  read-no-evil-mcp:安全邮件访问助手:通过 MCP 协议加密读取

read-no-evil-mcp:安全邮件访问助手:通过 MCP 协议加密读取

 
  mongodb ·  2026-02-24 19:08:25 · 2 次点击  · 0 条评论  

名称: read-no-evil-mcp
版本: 0.3.0
描述: 通过 read-no-evil-mcp 安全访问电子邮件。可防范邮件中的提示词注入攻击。支持阅读、发送、删除和移动邮件。


read-no-evil-mcp

一个安全的电子邮件网关,可在您查看邮件前扫描其中的提示词注入攻击。

此技能是一个零依赖的 HTTP 客户端,与 read-no-evil-mcp 服务器通信。凭据和邮件服务器完全由 MCP 服务器管理——此技能本身绝不直接访问它们。

先决条件

需要一个已启用 HTTP 传输的 read-no-evil-mcp 服务器在运行。有三种连接模式:

  1. 远程服务器 — 另一台机器上的现有服务器。您需要其 URL(例如 http://server:8000)。
  2. 本地服务器 — 本地主机上的现有服务器。使用默认的 http://localhost:8000
  3. 新建 Docker 环境 — 使用 scripts/setup-server.sh 拉取官方 Docker 镜像并启动容器。

无需 pip install。脚本仅使用 Python 标准库。

设置流程(AI 代理指令)

首次使用前,务必询问用户希望如何连接:

您希望如何连接到 read-no-evil-mcp 服务器?
1. 连接到现有的远程服务器(您需要提供 URL)
2. 连接到现有的本地服务器(localhost:8000)
3. 通过 Docker 设置一个新的本地服务器

  • 对于选项 1:询问服务器 URL,然后在所有命令中使用 --server URL
  • 对于选项 2:无需额外配置,命令使用默认 URL。
  • 对于选项 3:遵循下面的 Docker 设置步骤。

未经用户明确确认,切勿自动设置 Docker。

Docker 设置步骤

  1. 检查是否存在配置:setup-config.py list
  2. 如果无配置,则创建一个并添加账户:
    bash setup-config.py create setup-config.py add --email user@example.com --host imap.example.com --create-env
  3. 请用户在 .env 文件中填写密码。
  4. 启动服务器:
    bash scripts/setup-server.sh --config ~/.config/read-no-evil-mcp/config.yaml \ --env-file ~/.config/read-no-evil-mcp/.env

配置管理(AI 代理指令)

使用 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

CLI 命令

全局选项(--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 服务器自动扫描:

  • 安全:内容正常显示
  • 检测到注入:退出码为 2,标准错误输出警告信息

退出码

  • 0 — 成功
  • 1 — 一般错误(连接失败、账户无效等)
  • 2 — 检测到提示词注入

安全说明

  • 凭据由 MCP 服务器管理,此技能或 AI 代理绝不接触。
  • 技能通过 HTTP 与服务器通信 —— 对于非本地主机连接,请使用 HTTPS。
  • 提示词注入扫描在服务器端使用机器学习模型进行。
2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor