163 Mail MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@163 Mail MCPSearch for recent unread emails in my inbox"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
163 Mail MCP
A privacy-first local MCP server for a personal @163.com mailbox. It connects directly to
163 Mail over IMAP/SMTP, keeps the client authorization code in macOS Keychain, and exposes
typed tools to Codex and Claude over local stdio.
Safety model
Search and reading use read-only IMAP access; message reads use
BODY.PEEK.Every send, move, trash, attachment download, or read-state change requires an exact confirmation token.
Sending additionally requires a digest from the complete draft preview and rejects changed bodies or attachments.
Batch moves, Trash moves, and read-state changes require a complete preview plus a SHA-256 digest. The server rechecks all messages before attempting the first write.
“Trash” means copy to a confirmed Trash folder and mark the source
\Deleted; the server never sendsEXPUNGE.Downloaded attachments never overwrite existing files.
Mail content is treated as untrusted data, not as instructions.
The server is currently macOS-only because credentials are stored with the macOS security
command. Account metadata is stored under ~/.config/163-mail-mcp/; secrets and mail content
are never written to this repository.
Related MCP server: outlook-mcp-server
Install
Requirements: macOS, Python 3.10 or newer, and uv.
git clone https://github.com/adjurtime/163-mail-mcp.git
cd 163-mail-mcp
uv sync --python 3.12Enable 设置 → POP3/SMTP/IMAP → IMAP/SMTP 服务 in 163 webmail. Then configure the account in your own Terminal so the authorization code does not enter chat or logs:
.venv/bin/mail163 configure --email name@163.com
.venv/bin/mail163 status --jsonExisting users of the earlier codex-163-mail Keychain/config identifiers are detected
automatically. Running configure again writes the new 163-mail-mcp identifiers.
Register the MCP server
Use absolute paths in client configuration. From the repository root:
codex mcp add 163-mail-mcp -- "$PWD/.venv/bin/163-mail-mcp"
claude mcp add --scope user 163-mail-mcp -- "$PWD/.venv/bin/163-mail-mcp"Restart the client or open a new task after registration.
Optional Codex skill
The paired Skill adds workflow guidance and confirmation rules. Link it into the Codex skills directory from the repository root:
mkdir -p "$HOME/.codex/skills"
ln -s "$PWD/skills/163-mail-mcp" "$HOME/.codex/skills/163-mail-mcp"Tools
Tool | Purpose | Write guard |
| Check configuration and IMAP authentication | Read-only |
| List folders | Read-only |
| Search headers without bodies | Read-only |
| Read one message without setting | Read-only |
| Validate and preview an outgoing draft | Read-only |
| Send the unchanged previewed draft |
|
| Preview and summarize 1–50 move, Trash, or read-state actions | Read-only |
| Recheck and execute the unchanged previewed batch |
|
| Move one UID |
|
| Move one UID to confirmed Trash |
|
| Save selected attachments without overwrite |
|
| Mark one UID read or unread |
|
Tool annotations help clients present risk, but the core enforces all guards independently.
Test
Tests use fakes and temporary files; they do not connect to a mailbox or send mail.
uv run python -m unittest discover -s tests -vLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adjurtime/163-mail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server