要给 Codex 一个邮箱,用 codex mcp add 加上地址添加 nicemails 的 MCP 服务器,再运行 codex mcp login nicemails,在浏览器里批准访问。Codex CLI、IDE 扩展和 ChatGPT 桌面应用共用这份配置,所以三者之后都能使用你的邮箱。
~/.codex/config.toml,受信任的项目还可以有自己的 .codex/config.toml。codex mcp add nicemails --url https://nicemails.net/mcpcodex mcp login nicemails --oauth-client-registration dcr/mcp 查看活动服务器里的 nicemails,再问「列出我的 nicemails 邮箱」。在没有浏览器的机器上,给登录命令加 --no-browser。Codex 会打印授权地址:在另一台设备上打开并登录,然后把完整的跳转地址粘贴回终端,即使那个页面打不开也一样。
也可以手动写进 ~/.codex/config.toml,再运行同样的登录命令:
[mcp_servers.nicemails]
url = "https://nicemails.net/mcp"在 Codex IDE 扩展里,打开齿轮菜单,选 MCP servers,再选 Add server。选择 Streamable HTTP,填入 nicemails 和地址,保存后选 Restart extension。扩展与 CLI 共用配置,在一处添加,另一处也能看到。
无人值守、没人能登录的运行适合用密钥。先创建密钥:
Codex 可以从环境变量读取 bearer token,所以密钥不用写进 config.toml。设置 NICEMAILS_API_KEY,然后这样写:
[mcp_servers.nicemails]
url = "https://nicemails.net/mcp"
bearer_token_env_var = "NICEMAILS_API_KEY"Codex 能用你授权范围内的 nicemails 工具,共 8 个:
list_mailboxes:列出这个连接能用的邮箱。list_messages:列出某个邮箱一个文件夹里的邮件,最新的在前。search:搜索所选邮箱的所有文件夹,包括垃圾邮件。get_message:读取一封邮件,不会把它标为已读。create_mailbox:新建邮箱(需要「管理」权限,且连接不限定单个邮箱)。move 把邮件移到别的文件夹;flag 把邮件标为已读、未读、星标或已回复。send_message:从你的某个邮箱发信(需要「发信」权限;新收件人要你先批准)。想让 Codex 只读,就在 enabled_tools 里只列读取类工具:
[mcp_servers.nicemails]
url = "https://nicemails.net/mcp"
enabled_tools = ["list_mailboxes", "list_messages", "search", "get_message"]典型的请求:「跑一遍注册测试,然后在 qa 邮箱里搜欢迎邮件,检查里面的链接是否都用 staging 域名」。
Codex 用 default_tools_approval_mode 决定何时询问你。writes 模式只对没有标为只读的工具询问,而 nicemails 把 list_mailboxes、list_messages、search、get_message 标为只读,所以 Codex 可以直接读取,在新建、移动、标记或发信前询问:
[mcp_servers.nicemails]
url = "https://nicemails.net/mcp"
default_tools_approval_mode = "writes"确认 url 正好是 https://nicemails.net/mcp。nicemails 自动注册客户端,不使用 client ID metadata document,所以登录时加 --oauth-client-registration dcr。不要为 nicemails 设置 OAuth client ID:按 Codex 文档,配置了 client ID 就会跳过注册。
Codex 默认等服务器启动 10 秒。网络慢时,在 [mcp_servers.nicemails] 表里用 startup_timeout_sec = 20 调高。
不需要。CLI、IDE 扩展和 ChatGPT 桌面应用共用同一份配置。改完后在 IDE 里选 Restart extension。