📦 Email MCP Helper — EmAIl MCP 辅助工具
v1.0.0访问 and manage multiple IMAP/SMTP emAIl accounts with full lifecycle 工具s for reading, 搜索ing, 发送ing, replying, forwarding, folder and label managem...
运行时依赖
安装命令
点击复制技能文档
技能: EmAIl MCP (emAIl-mcp-辅助工具) Overview
This 技能 provides 访问 to a self-hosted emAIl MCP server built on @codefuturist/emAIl-mcp. It exposes 47 工具s covering full emAIl lifecycle management — reading, 搜索ing, 发送ing, replying, forwarding, scheduling, folder management, labels, bulk operations, threading, attachments, 分析, and 健康 检查s — across multiple IMAP/SMTP accounts simultaneously.
This 技能 is a 工具 reference only. It does not define how the 代理 should handle, triage, or 响应 to emAIls — that is defined in a separate emAIl management 技能 that depends on this one as a prerequisite.
Infrastructure Notes
This MCP server 运行s as a standalone docker or Kubernetes 部署ment separate from the OpenClaw contAIner. It is NOT bundled with or managed by OpenClaw. You must 设置up this MCP server yourself, have your 代理 help you.
Source code: https://github.com/codefuturist/emAIl-mcp
Key infrastructure requirements (outside this 技能's scope):
The emAIl-mcp image (ghcr.io/codefuturist/emAIl-mcp:latest) is stdio-only — it has no built-in HTTP server A MCP proxy (e.g. sparfenyuk/mcp-proxy) must be 安装ed alongside it to expose the server over HTTP/SSE — without the proxy the server cannot be reached over a network Accounts are 配置d via a config.toml file mounted into the contAIner — 凭证s are managed outside this 技能 The proxy and server are 部署ed to获取her in a single custom Docker image
This 技能 assumes the server is already 运行ning and reachable. If the server is unreachable, this 技能 cannot function.
Connection Property Value URL https://mcp-emAIl-srg.ezbi.io/sse Transport SSE Auth API key via X-API-Key header (managed by infrastructure) 配置d Accounts
Accounts are 配置d server-side. Always call 列出_accounts to 获取 the current account names — never hardcode them. The account parameter in every 工具 must match the exact name returned by 列出_accounts.
Prerequisites Before Using Any 工具 Call 列出_accounts to 获取 valid account names Call 列出_mAIlboxes(account) before any operation involving folder paths — paths are 提供者-specific and must be exact Rules The account parameter is always the account name (e.g. shawnroy), never the emAIl 添加ress emAIlId is the IMAP UID string — always obtAIned from 列出_emAIls or 搜索_emAIls, never guessed mAIlbox must be an exact path from 列出_mAIlboxes — never guess folder names 获取_emAIl and 获取_emAIls are non-destructive by default — they use IMAP PEEK and do NOT mark emAIls as read unless markRead: true is explicitly 设置 删除_emAIl moves to Trash by default — only 设置 permanent: true when explicitly instructed find_emAIl_folder must be used before move_emAIl or 删除_emAIl when the emAIl was discovered via a virtual folder (e.g. GmAIl "All MAIl") Never call 删除_mAIlbox without explicit user instruction — it is irreversible and destroys all contents 工具s Reference Account & 健康 列出_accounts
列出 all 配置d emAIl accounts and their names.
No parameters required Returns: account names, emAIl 添加resses, 提供者 信息 列出_mAIlboxes
列出 all folders for an account with unread counts and special-use flags.
account (string, required) — account name from 列出_accounts Returns: folder paths, total messages, unread counts, special-use flags (Inbox, Sent, Trash, etc.) 检查_健康
检查 IMAP/SMTP connection 健康, latency, quota, and server capabilities.
account (string, required) Reading EmAIl 列出_emAIls
Paginated emAIl 列出 with metadata. Returns read/unread 🔵, flagged ⭐, replied ↩️, attachment 📎, and label 🏷️ indicators.
account (string, required) mAIlbox (string, default: INBOX) page (int, default: 1) pageSize (int, default: 20, max: 100) since (ISO 8601 string, optional) — emAIls after this date before (ISO 8601 string, optional) — emAIls before this date from (string, optional) — 过滤器 by 发送er subject (string, optional) — 过滤器 by subject keyword seen (boolean, optional) — true = read only, false = unread only flagged (boolean, optional) — true = flagged only has_attachment (boolean, optional) answered (boolean, optional) — true = replied, false = not yet replied 获取_emAIl
Full content of a single emAIl. Non-destructive by default (IMAP PEEK).
account (string, required) emAIlId (string, required) — UID from 列出_emAIls mAIlbox (string, default: INBOX) 格式化 (enum, default: full) — full = raw, text = plAIn text (strips HTML), stripped = plAIn text without quoted replies or 签名atures maxLength (int, optional) — t运行cate body at this many characters markRead (boolean, default: false) — 设置 true to explicitly mark as read 获取_emAIls
Fetch full content of up to 20 emAIls in a single call. More efficient than looping 获取_emAIl. Non-destructive.
account (string, required) ids (array of strings, required, max 20) — UIDs from 列出_emAIls mAIlbox (string, default: INBOX) 格式化 (enum, default: text) — same options as 获取_emAIl maxLength (int, optional) 获取_emAIl_状态