MCP Email Service
A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.
Mailbox CLI
CLI-first email management for multi-account IMAP/SMTP with a local sync cache.
Primary interface: the mailbox CLI (Node.js implementation). This repo ships
prebuilt platform binaries via npm (no Python required for end users).
Supported Providers
- 163 Mail (mail.163.com / mail.126.com)
- QQ Mail (mail.qq.com)
- Gmail (mail.google.com)
- Outlook/Hotmail
- Custom IMAP servers
Install
npm (recommended)
npm install -g @leeguoo/mailbox-cli
mailbox --help
The npm package ships prebuilt binaries per platform (no Python required).
As an AI Skill (Claude Code / Cursor / etc.)
# Project scope — installs into ./.claude/skills/mailbox (or ./.cursor/skills/...):
npx skills add leeguooooo/Mailbox --skill mailbox
# User scope — installs into ~/.claude/skills/mailbox:
npx skills add leeguooooo/Mailbox --skill mailbox -g
The skill assumes the CLI is on PATH (npm install -g @leeguoo/mailbox-cli).
For the biggest speedup also run mailbox daemon install once.
MCP server (Claude Desktop / Code / Cursor)
mailbox mcp config --json # prints a paste-ready mcpServers entry
From source (development)
pnpm install
pnpm test
# build a local platform binary into mailbox-cli/packages/<platform>/bin/mailbox
pnpm build:binary
Configure accounts
mkdir -p ~/.config/mailbox
cp examples/accounts.example.json ~/.config/mailbox/auth.json
Config locations:
- Credentials:
~/.config/mailbox/auth.json - Other settings:
~/.config/mailbox/config.toml
Common commands
# CLI help
mailbox --help
# list accounts
mailbox account list --json
# list unread emails (cache by default; --from filters cache-side)
mailbox email list --unread-only --limit 20 --json
mailbox email list --account-id my_account_id --from "newsletter" --json
# show one email (response includes list_unsubscribe when the header is set)
mailbox email show 123456 --account-id my_account_id --json
# mark read (use --dry-run to validate first)
mailbox email mark 123456 --read --account-id my_account_id --folder INBOX --dry-run --json
mailbox email mark 123456 --read --account-id my_account_id --folder INBOX --confirm --json
# delete
mailbox email delete 123456 --account-id my_account_id --folder INBOX --confirm --json
# bulk mutate by sender or subject (no UID list needed)
mailbox email mark --from "[email protected]" --read --confirm --account-id my_account_id --json
mailbox email delete --from "newsletter" --account-id my_account_id --json # dry-run preview
mailbox email delete --subject "[ad]" --account-id my_account_id --confirm --json
Cache + sync
- Cache DB default:
~/.local/share/mailbox/email_sync.db - Listing uses cache by default where possible. Add
--liveto force IMAP.
mailbox sync status --json
mailbox sync force --json
mailbox sync init
mailbox sync daemon
AI usage guide
If you're integrating this CLI into an AI agent, start here:
docs/AI_SKILL_MAILBOX_CLI.md
OpenClaw integration
This repo includes an OpenClaw skill at skills/mailbox/SKILL.md.
OpenClaw loads skills from:
<workspace>/skills~/.openclaw/skills
Quick link helper (symlink into ~/.openclaw/skills):
./scripts/link_openclaw_skill.sh
Force replace an existing link:
./scripts/link_openclaw_skill.sh --force
To use this repo without copying files, add the repo skills directory to
skills.load.extraDirs in ~/.openclaw/openclaw.json:
{
"skills": {
"load": {
"extraDirs": [
"/path/to/mcp-email-service/skills"
]
}
}
}
OpenClaw handles channel delivery and scheduling; mailbox returns structured JSON outputs and optional text summaries.
Verify OpenClaw picked up the skill:
openclaw skills list --eligible
openclaw skills check
Contract
docs/CLI_JSON_CONTRACT.md
Related Servers
Reddit MCP Server
Interact with the Reddit API to fetch saved posts, search, get comments, and reply.
WhatsApp
Connect your personal WhatsApp account to an AI agent using the WhatsApp Web multi-device API.
vv-mcp
A text-to-speech (TTS) server using the VOICEVOX engine. Requires a running VOICEVOX instance and is currently macOS only.
x402mail
Send and receive emails via Python SDK or MCP. No API keys, no accounts - your wallet is your identity. Pay per call with USDC on Base via the x402 protocol. $0.005 per email.
Postproxy
Publish to multiple social networks with only one MCP
RetellAI
Interact with RetellAI's voice services to create conversational voice AI.
BGG MCP
BGG MCP enables AI tools to interact with the BoardGameGeek API.
LINE Official Account
Integrates the LINE Messaging API to connect an AI Agent to the LINE Official Account.
Join.Cloud
Collaboration rooms for AI agents. Real-time messaging + standard git.
mcp-proxy
A standalone proxy to connect STDIO-based MCP clients with HTTP (SSE) based MCP servers.