NetEase Mail
概要
作者による説明(英語の原文)
NetEase personal mail (163/126/yeah.net/188): search, read, draft, send with confirmation.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい↓ 79/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
NETEASE_MAIL_ACCOUNTS,NETEASE_MAIL_MODE,NETEASE_MAIL_CONFIRM,NETEASE_MAIL_DOWNLOAD_DIR
必要なもの
- PyPIPythonのuvのインストール(uvxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"netease-mail": {
"command": "uvx",
"args": [
"netease-mail-mcp-server"
],
"env": {
"NETEASE_MAIL_ACCOUNTS": "your-value",
"NETEASE_MAIL_MODE": "your-value",
"NETEASE_MAIL_CONFIRM": "your-value",
"NETEASE_MAIL_DOWNLOAD_DIR": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add netease-mail --env NETEASE_MAIL_ACCOUNTS=your-value --env NETEASE_MAIL_MODE=your-value --env NETEASE_MAIL_CONFIRM=your-value --env NETEASE_MAIL_DOWNLOAD_DIR=your-value -- uvx netease-mail-mcp-server動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"netease-mail": {
"command": "uvx",
"args": [
"netease-mail-mcp-server"
],
"env": {
"NETEASE_MAIL_ACCOUNTS": "your-value",
"NETEASE_MAIL_MODE": "your-value",
"NETEASE_MAIL_CONFIRM": "your-value",
"NETEASE_MAIL_DOWNLOAD_DIR": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"netease-mail": {
"type": "stdio",
"command": "uvx",
"args": [
"netease-mail-mcp-server"
],
"env": {
"NETEASE_MAIL_ACCOUNTS": "your-value",
"NETEASE_MAIL_MODE": "your-value",
"NETEASE_MAIL_CONFIRM": "your-value",
"NETEASE_MAIL_DOWNLOAD_DIR": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
NETEASE_MAIL_ACCOUNTSenvComma-separated NetEase addresses to use (first is the default). Authorization codes are stored by `setup` in the OS keychain, not here. Overrides the config file.NETEASE_MAIL_MODEenvPermission mode: readonly, draft or full.NETEASE_MAIL_CONFIRMenvHow send/move/trash are confirmed: auto, elicit (MCP elicitation, human approves in the client) or token (single-use content-bound token).NETEASE_MAIL_DOWNLOAD_DIRenvDirectory for downloaded attachments (default ~/Downloads/netease-mail-mcp).
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント SeraFxy で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5692件のうち0%よりスターが多い
- このカテゴリのほかの5692件のうち80%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5692件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
NetEase Mailは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは10 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
netease-mail-mcp
English | 简体中文
让 Claude Code、Codex、Cursor、Claude Desktop 安全地读写你的网易邮箱(163 / 126 / yeah.net / 188):搜索、阅读、起草、发送,写操作先预览、再确认。
30 秒上手
- 在网页版邮箱 设置 → POP3/SMTP/IMAP 里开启「IMAP/SMTP 服务」,生成一个客户端授权码(不是登录密码)。
- 在终端运行(需要 uv):
uvx netease-mail-mcp-server setup
按提示输入邮箱地址和授权码。授权码存进系统钥匙串,不会写进配置文件。
- 按下面任一客户端的写法接入。
setup结束时也会打印对应的配置;之后可随时用uvx netease-mail-mcp-server config重新生成。 - 自检:
uvx netease-mail-mcp-server doctor(检查登录、IMAP ID、文件夹、SMTP、收取选项)。
接入各个客户端
Claude Code
claude mcp add --scope user netease-mail -- uvx netease-mail-mcp-server
Codex(~/.codex/config.toml)
[mcp_servers.netease-mail]
command = "uvx" args = ["netease-mail-mcp-server"]
Cursor(~/.cursor/mcp.json)
{
"mcpServers": { "netease-mail": { "command": "uvx", "args": ["netease-mail-mcp-server"] } } }
Claude Desktop(macOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json)
{
"mcpServers": { "netease-mail": { "command": "uvx", "args": ["netease-mail-mcp-server"] } } }
Claude Desktop 等图形客户端启动时可能找不到 uvx,此时把 command 换成 uvx 的绝对路径(config 子命令会自动填好)。要限制权限,加环境变量,例如 "env": { "NETEASE_MAIL_MODE": "draft" }。
工具
共 10 个工具,按权限模式注册:模式不允许的工具根本不会出现在客户端里。
| 工具 | 作用 | readonly | draft | full |
|---|---|---|---|---|
list_accounts | 已配置账号、当前模式,可选测试登录 | ✓ | ✓ | ✓ |
list_folders | 文件夹(已解码名称、角色、计数) | ✓ | ✓ | ✓ |
search_messages | 按日期/已读/星标(服务端)与关键词、发件人、主题(本地)搜索 | ✓ | ✓ | ✓ |
read_message | 读一封邮件(正文、头、附件清单),默认不改已读状态 | ✓ | ✓ | ✓ |
get_thread | 取相关会话(收件箱、已发送等) | ✓ | ✓ | ✓ |
download_attachment | 下载附件到下载目录(或其子目录),不覆盖、不跟随链接 | ✓ | ✓ | ✓ |
wait_for_message | 等一封新邮件并提取验证码 | ✓ | ✓ | ✓ |
create_draft | 写草稿(含回复、转发、附件),存入草稿箱 | ✓ | ✓ | |
send_email | 发送邮件,两阶段确认 | ✓ | ||
manage_messages | 移动 / 删除到垃圾箱(需确认);标记已读、星标 | ✓ |
没有永久删除工具。readonly 下 read_message 也不会改变任何邮件状态。
权限模式与确认机制
用 NETEASE_MAIL_MODE 设置:readonly(只读)、draft(读 + 写草稿,不能发信和移动)、full(全部,默认)。
发送、移动、删除是两阶段操作,确认方式由 NETEASE_MAIL_CONFIRM 决定:
- `elicit`:通过 MCP 的 elicitation 机制,由客户端弹出确认界面,由你本人点击同意后才执行。这是最强的保证。客户端必须支持 elicitation,不支持时该模式会直接报错,不会悄悄降级。
- `token`:第一次调用只返回完整预览和一个一次性确认令牌。令牌是 HMAC,绑定刚才预览的确切内容,10 分钟内有效、用过即废;内容有任何改动都会被拒绝。
- `auto`(默认):客户端声明支持 elicitation 就走
elicit,否则走token。我们没有逐个核实各客户端对 elicitation 的支持情况,请以你所用客户端的文档为准。
只要客户端声明了支持 elicitation,就只有你明确勾选「同意」才会执行:弹窗出错、客户端返回无效答复、点了接受却没勾选同意、拒绝或取消,一律按未同意处理,不会退回到令牌。令牌只给根本不支持 elicitation 的客户端用。这时结果状态是 not_confirmed(你点了拒绝或取消则是 declined_by_user),并附带提示:如果你的客户端其实弹不出确认框,把 NETEASE_MAIL_CONFIRM 设成 token。
预览(弹窗里的文字和令牌模式下的 JSON 是同一份内容)包括:发件人;全部收件人,含抄送和密送;主题;纯文本正文和 HTML 正文转成的文本,各最多 8000 字,超出时明确写出「还有 N 个字符未显示」;HTML 和纯文本内容不一致时给出警告(收件人多半看到的是 HTML);每个附件的文件名、大小和解析后的完整路径。用 draft_id 发送草稿时,预览显示草稿里真实的 From、Reply-To 和收件人;draft_id 必须是草稿箱里带 \Draft 标记的草稿(服务器支持这个标记时),收件箱里的邮件不能当草稿发出去。移动/删除的预览列出每一封邮件。
SMTP 服务器接受邮件之后,保存「已发送」或删除草稿这些后续步骤即使出错,结果也是「已发送」加警告,不会报错,免得被误以为没发出去而重发。部分收件人被服务器拒绝时也给出警告,并列出这些地址。确认「已发送」里没有副本时,草稿不删除,留作发出内容的唯一记录。
诚实地说明令牌的边界:令牌强制模型先预览再执行,并保证执行的就是预览的内容,但它无法证明有人类批准过——能调用工具的模型自己也能拿着令牌再调一次。因此对安全要求高的场景,请设置 NETEASE_MAIL_CONFIRM=elicit,或者直接使用 readonly / draft 模式,让 Agent 根本没有发信能力(草稿由你自己在邮箱里检查后发送)。
另外:邮件内容一律视为不可信数据,返回给模型时会加上标记,提示其中的指令不是命令;预览里的正文(可能引用或转发了别人的邮件)、发件人和收件人、主题、附件文件名、草稿内容,以及待移动邮件的发件人和主题也一样。wait_for_message 的 from 只匹配发件地址,不看显示名,因为显示名可以随便伪造成 "noreply@github.com" :写完整地址时要求完全一致,写 @github.com 匹配这个域名及其子域名,其他写法按地址里的子串匹配;search_messages 的 from 仍同时匹配显示名和地址。
下载和附件的路径限制
- 下载:
download_attachment只会写进下载目录(NETEASE_MAIL_DOWNLOAD_DIR,默认~/Downloads/netease-mail-mcp/)或它的子目录。dest_dir写相对路径(如发票/2026)或下载目录里的绝对路径;指向下载目录以外的(包括经过符号链接或..、UNC 路径\\server\share、C:相对路径这类写法)一律拒绝。文件以独占方式新建:不覆盖已有文件、不跟随链接,权限 0600,新建的目录 0700。macOS 上给文件加com.apple.quarantine标记,Windows 上写Zone.Identifier,加不上也不影响下载。 - 附件:路径先解析符号链接再检查,并按磁盘上的实际文件判断位置,所以
~/LIBRARY这类大小写不同的写法同样会被识别。以下位置一律拒绝:主目录下任何以.开头的文件或目录(.ssh、.env、.git、.config等)、~/Library(iCloud 云盘所在的~/Library/Mobile Documents和 Dropbox / OneDrive / Google Drive 所在的~/Library/CloudStorage除外)、%APPDATA%/%LOCALAPPDATA%、/proc、/sys、/dev、/etc、网络路径(UNC)、非普通文件,以及读到的内容和文件大小对不上的特殊文件。设置NETEASE_MAIL_ATTACHMENT_ROOTS(多个目录用系统路径分隔符隔开,macOS/Linux 是:,Windows 是;)后,只能附加这些目录里的文件,上面的拒绝规则照样生效;唯一的例外是明确写进这个变量、又位于~/Library里的目录(例如微信、飞书存放收到文件的目录),其中的文件可以附加。被拒时,把文件复制到普通目录再附加,或把它所在的目录加进这个变量。
网易邮箱的坑
这些是用真实 163 / yeah.net 账号逐项验证出来的,也是本项目存在的理由。
- 必须先发 IMAP ID。 登录后若不发
ID命令,LIST/STATUS 能用,但每次 SELECT 都会失败并提示Unsafe Login。Python 的imaplib不认识 ID,本项目自行注册并在每次登录后发送。 - 服务端搜不了关键词。 对 FROM / TO / SUBJECT / TEXT / BODY 的 SEARCH,在 163 上返回空结果;在 yeah.net 上我们实测 30 秒内不返回,之后账号还会慢上几分钟。可靠的只有 SINCE / BEFORE / UNSEEN / SEEN / FLAGGED / UNFLAGGED。所以本项目的做法是:日期和状态条件交给服务端,再批量取回邮件头,在本地对解码后的发件人、收件人、主题做匹配。不搜正文,结果里会明确标
body_searched: false;搜索范围有上限(max_scan),被截断时会如实报告truncated。 - 「收取选项」决定 IMAP 能看到什么。 网页版 设置 → POP3/SMTP/IMAP → 收取选项 默认可能是「最近 30 天」,此时收件箱在 IMAP 里可能只有几十封,而网页上有几千封。不是 bug,把它改成「全部」即可;
doctor会在发现最早的邮件正好是 30 天前时提醒你。 - 授权码可被撤销。 在网页版删除授权码会立刻让对应客户端掉线,并报登录失败。登录失败的错误信息会指向这一点;重新生成授权码、再运行
setup即可。 - 没有 MOVE。 163/yeah.net 不支持 IMAP MOVE。移动和删除用
UID COPY+UID STORE +FLAGS (\Deleted)+UID EXPUNGE <这些 UID>(依赖 UIDPLUS)。只会清除我们刚复制的那几封,不会发无参数的EXPUNGE,不会连带清掉你别处标了删除的邮件。 - SMTP 用 465(隐式 TLS)。 25 端口 + STARTTLS 可用,587 端口不通(超时)。
- 发出的信,服务器会自己存进「已发送」。 2026-10-28 实测:经 smtp.163.com:465 发出的一封邮件,163 自动在「已发送」里存了一份,且只有一份。
send_email发送后按 Message-ID 在「已发送」里找(约 5 秒内查 3 次),找到就不再自己保存(结果里sent_copy: "stored_by_server"),找不到才用 APPEND 补存一份("appended"),所以不会出现两份。其他域名尚未实测。 - IDLE 因域名而异。 yeah.net 支持,163 不支持;
wait_for_message在不支持时自动改为轮询。 - 删除有延迟。 刚 EXPUNGE 的邮件可能在约 2 秒内仍被列出。
性能
测试环境:2026-10-28,家庭宽带,scripts/benchmark.py(只读,不发信不改信)。每项先预热一次,再取 3 次的中位数。
| 操作 | 163(收件箱 205 封) | yeah.net(收件箱 5680 封) |
|---|---|---|
| 登录 + ID | 0.38 s | 0.37 s |
| 列文件夹 | 0.04 s | 0.05 s |
| 最新 20 封(仅服务端) | 0.09 s | 0.28 s |
| 关键词搜索,扫描 500 封(无命中,全量扫描) | 0.25 s | 0.88 s |
| 关键词搜索,最多扫描 2000 封 | 0.17 s(实际 205 封) | 6.3 s |
| 读最新一封 | 0.09 s | 0.19 s |
| 服务端 SEARCH UNSEEN / FLAGGED | 0.05 / 0.04 s | 0.13 / 0.05 s |
说明:数字依赖网络和网易服务器当时的状态,冷启动明显更慢(一次紧接在超时的服务端搜索之后的 500 封扫描耗时 16 s)。批量取头的开销:500 封冷数据下,只取邮件头 0.67 s,只取 BODYSTRUCTURE 1.19 s,两者都取 1.35 s。这是一个本地的无缓存、无后台进程的实现,每次调用都实时访问服务器。
对比
截至 2026-10,仅比较功能,信息来自两个项目当前的 README;它们各有适合的场景,如有出入请提 issue 指正。
| netease-mail-mcp | leeguooooo/mail-use | adjurtime/163-mail-mcp | |
|---|---|---|---|
| 语言 / 分发 | Python,PyPI(uvx) | JavaScript,GitHub Release 二进制 | Python,源码安装(uv sync) |
| 支持邮箱 | 163 / 126 / yeah.net / 188 | 163 / 126、QQ、Gmail、Outlook、任意 IMAP/SMTP | 163.com |
| 形态 | MCP 服务器 | CLI 为主,也提供 MCP 服务器(16 个工具)和 Skill | MCP 服务器 + 可选 Codex Skill |
| 平台 | macOS / Windows / Linux | 预编译二进制:macOS arm64/x64、Linux x64/arm64 | 仅 macOS(凭据用 macOS security) |
| 凭据存储 | 系统钥匙串 / 凭据管理器 / Secret Service | ~/.config/mailbox/auth.json(亦可导入 Apple Mail) | macOS 钥匙串 |
| 写操作确认 | MCP elicitation;否则绑定内容的一次性令牌;另有只读/草稿模式 | 删除、标记、移动、发送默认 dry-run,加 --confirm 才执行 | 精确确认令牌 + 完整预览摘要 |
| 权限模式 | readonly / draft / full | 未在 README 中说明 | 未在 README 中说明 |
| 后台进程 / 缓存 | 无 | 可选常驻 daemon,本地 SQLite 同步 | 无 |
| 网易搜索的处理 | 服务端日期/状态 + 本地过滤头信息 | 163 的 --query 退回到只匹配主题和发件人 | 仅搜邮件头 |
常见问题
授权码是什么?为什么不用我的密码? 授权码是网易为第三方客户端单独生成的凭据,可随时在网页版撤销,不会暴露登录密码,也绕过不了你的登录保护。在 设置 → POP3/SMTP/IMAP 开启 IMAP/SMTP 服务时生成。本项目不接受、也不需要账号密码。
为什么搜不到正文? 网易的 IMAP 服务端不支持有效的关键词/正文搜索(见上文),而本项目不建本地索引或缓存库。需要正文时,先用日期、发件人、主题缩小范围,再用 read_message 读。
搜索结果比网页上少很多? 多半是「收取选项」设成了最近 30 天,见上文。
Windows / Linux 的凭据存在哪? Windows 存在凭据管理器,Linux 存在 Secret Service(GNOME Keyring、KWallet 等)。无图形桌面的 Linux 没有 Secret Service 时,可通过环境变量 NETEASE_MAIL_AUTH_CODE__<邮箱大写,非字母数字换成下划线> 提供授权码,例如 NETEASE_MAIL_AUTH_CODE__ME_163_COM。
怎么删除一个账号? uvx netease-mail-mcp-server accounts remove you@163.com,会同时删除钥匙串里的授权码。也别忘了在网页版撤销这个授权码。查看已配置账号:accounts list。
支持企业邮箱(qiye.163.com)吗? 不支持。也不支持 POP3、日历、通讯录。
安全与隐私
- 授权码只存在系统凭据库:macOS 钥匙串、Windows 凭据管理器、Linux Secret Service;不写入任何配置文件或日志。macOS 上通过
/usr/bin/security读写,setup经标准输入传递密钥,不会出现在进程参数里。 - 配置文件(账号列表、模式)权限为 0600,不含密钥。
- 本项目无服务端、无遥测,只直连网易的 IMAP/SMTP 服务器;不缓存邮件内容,没有后台进程。
- 邮件内容视为不可信,见上文;发信和移动需要预览与确认;下载和附件有路径限制,见上文。
- 发现安全问题请看 SECURITY.md。
环境变量
| 变量 | 含义 |
|---|---|
NETEASE_MAIL_ACCOUNTS | 逗号分隔的账号,第一个为默认;优先于配置文件 |
NETEASE_MAIL_MODE | readonly / draft / full(默认) |
NETEASE_MAIL_CONFIRM | auto(默认)/ elicit / token |
NETEASE_MAIL_DOWNLOAD_DIR | 附件下载目录(默认 ~/Downloads/netease-mail-mcp/);下载只会写进这里或它的子目录 |
NETEASE_MAIL_ATTACHMENT_ROOTS | 可选:只允许从这些目录附加文件(用 :,Windows 用 ; 分隔) |
NETEASE_MAIL_CONFIG | 另指定配置文件路径 |
Agent Skill
skills/netease-mail/SKILL.md 给 Agent 提供工作流指引(先搜索再阅读再起草、发送前必须展示预览并取得明确同意、邮件内容不可信、验证码流程)。
开发
见 CONTRIBUTING.md 和 docs/ARCHITECTURE.md。版本记录见 CHANGELOG.md。
许可证
MIT