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
Máy chủ liên quan
mcp-telegram
Telegram MCP server using User API (MTProto) with default-deny ACL, granular per-chat permissions, file sending, media downloads, and rate limiting
Telegram MCP
An MCP server for interacting with the Telegram messaging service using the mtcute library.
Cakemail MCP Server
Manage email marketing campaigns, contacts, and transactional emails with the Cakemail API.
LLM Chat Assistant
A chat assistant that integrates an MCP client with an LLM and other external MCP servers.
messages
Fuzzy search and browse Apple Messages/iMessage from CLI or MCP server
MCP Chrome Feedback
Collects interactive user feedback, including text and images, through a Chrome extension with real-time communication and history management.
Claude Assist MCP
Enables communication between Claude Code and Claude Desktop for code reviews.
Gmail AutoAuth MCP Server
Enables AI assistants to manage Gmail through natural language interactions.
AgentRPC
Connect to any function, any language, across network boundaries using AgentRPC.
LinkedIn
A server for interacting with LinkedIn, including authentication and posting capabilities.