Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者提供的说明(英文原文)
Multi-account IMAP/SMTP email server with 22 tools for reading, sending, searching, and organizing.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
EMAIL_CONFIG_FILE, EMAIL_ACCOUNTS标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"email": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"EMAIL_CONFIG_FILE",
"-e",
"EMAIL_ACCOUNTS",
"ghcr.io/boutquin/mcp-server-email:latest"
],
"env": {
"EMAIL_CONFIG_FILE": "your-value",
"EMAIL_ACCOUNTS": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add email --env EMAIL_CONFIG_FILE=your-value --env EMAIL_ACCOUNTS=your-value -- docker run -i --rm -e EMAIL_CONFIG_FILE -e EMAIL_ACCOUNTS ghcr.io/boutquin/mcp-server-email:latest运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"email": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"EMAIL_CONFIG_FILE",
"-e",
"EMAIL_ACCOUNTS",
"ghcr.io/boutquin/mcp-server-email:latest"
],
"env": {
"EMAIL_CONFIG_FILE": "your-value",
"EMAIL_ACCOUNTS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"email": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"EMAIL_CONFIG_FILE",
"-e",
"EMAIL_ACCOUNTS",
"ghcr.io/boutquin/mcp-server-email:latest"
],
"env": {
"EMAIL_CONFIG_FILE": "your-value",
"EMAIL_ACCOUNTS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
EMAIL_CONFIG_FILE env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 boutquin 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:EMAIL_ACCOUNTS
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.1)于8个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Multi-account email server for the Model Context Protocol. Gives LLMs full email access — read, send, search, organize — over IMAP/SMTP with connection pooling, rate limiting, and retry. Designed as the remote-email counterpart to apple-bridge (local Mail.app access).
go install github.com/boutquin/mcp-server-email/cmd/mcp-server-email@latest
~/.config/mcp-email/accounts.json)For well-known providers (Gmail, Outlook, Yahoo, iCloud, Fastmail, Zoho), host and port are auto-detected from the email domain — just provide credentials:
[
{ "id": "hello", "email": "hello@gmail.com", "username": "hello@gmail.com", "password": "app-password-here" } ]
For custom mail servers, specify host and port explicitly:
[
{ "id": "work", "email": "hello@example.com", "imap_host": "mail.example.com", "imap_port": 993, "smtp_host": "mail.example.com", "smtp_port": 465, "username": "hello@example.com", "password": "app-password-here" } ]
chmod 600 ~/.config/mcp-email/accounts.json
~/.claude.json) {
"mcpServers": { "email": { "command": "mcp-server-email", "env": { "EMAIL_CONFIG_FILE": "~/.config/mcp-email/accounts.json" } } } }
email_* tools are now available.go install github.com/boutquin/mcp-server-email/cmd/mcp-server-email@latest
brew install boutquin/tap/mcp-server-email
Download pre-built binaries for your platform from GitHub Releases.
Available for: Linux (amd64, arm64), macOS (amd64, arm64), Windows (amd64, arm64).
docker run --rm \
-e EMAIL_ACCOUNTS='[{"id":"main","email":"user@example.com","imap_host":"mail.example.com","imap_port":993,"smtp_host":"mail.example.com","smtp_port":465,"username":"user@example.com","password":"app-password"}]' \ ghcr.io/boutquin/mcp-server-email:latest
Download the .mcpb file from Releases and open in Claude Desktop.
git clone https://github.com/boutquin/mcp-server-email.git
cd mcp-server-email go build -o mcp-server-email ./cmd/mcp-server-email
Accounts are loaded once at startup. Changes require a server restart.
| Approach | Best for |
|---|---|
EMAIL_CONFIG_FILE — path to a JSON file | Production use. File can be permission-locked (chmod 600) |
EMAIL_ACCOUNTS — inline JSON in env var | Testing, CI, or containerized deployments |
If both are set, EMAIL_ACCOUNTS takes precedence.
[
{ "id": "hello", "email": "hello@example.com", "imap_host": "mail.example.com", "imap_port": 993, "smtp_host": "mail.example.com", "smtp_port": 465, "username": "hello@example.com", "password": "app-password-here" } ]
| Field | Required | Description |
|---|---|---|
id | Yes | Unique account identifier |
email | Yes | Email address |
imap_host | No* | IMAP server hostname |
imap_port | No* | IMAP port (993 = implicit TLS, 143 = STARTTLS) |
smtp_host | No* | SMTP server hostname |
smtp_port | No* | SMTP port (465 = implicit TLS, 587 = STARTTLS) |
username | Yes | Login username |
password | Yes** | App password or account password |
use_starttls | No | Override TLS auto-detection (true/false) |
insecure_skip_verify | No | Skip TLS certificate verification (dev/testing) |
auth_method | No | "password" (default) or "oauth2" |
oauth_client_id | No | OAuth2 client ID (required when auth_method is "oauth2") |
oauth_client_secret | No | OAuth2 client secret |
oauth_token_file | No | Override token file path |
*Host and port are auto-detected for well-known providers (see below). Required for custom servers. **Not required when using OAuth2 authentication.
When imap_host/smtp_host are omitted, the server detects settings from the email domain:
| Provider | Domains | IMAP | SMTP |
|---|---|---|---|
| Gmail | gmail.com, googlemail.com | imap.gmail.com:993 | smtp.gmail.com:587 |
| Outlook | outlook.com, hotmail.com, live.com | outlook.office365.com:993 | smtp.office365.com:587 |
| Yahoo | yahoo.com | imap.mail.yahoo.com:993 | smtp.mail.yahoo.com:587 |
| iCloud | icloud.com, me.com, mac.com | imap.mail.me.com:993 | smtp.mail.me.com:587 |
| Fastmail | fastmail.com, fastmail.fm | imap.fastmail.com:993 | smtp.fastmail.com:587 |
| Zoho | zoho.com, zohomail.com | imap.zoho.com:993 | smtp.zoho.com:587 |
Explicit host/port in the config always takes precedence over auto-detection.
TLS mode is auto-detected from port:
| Port | Protocol | Mode |
|---|---|---|
| 993 | IMAP | Implicit TLS |
| 143 | IMAP | STARTTLS |
| 465 | SMTP | Implicit TLS |
| 587 | SMTP | STARTTLS |
Override with "use_starttls": true or "use_starttls": false in the account object. Omit for auto-detection (recommended).
For providers that support it (Gmail, Outlook), you can use OAuth2 instead of app passwords. This uses the device code flow (RFC 8628) — no browser redirect needed.
auth_method: "oauth2": [
{ "id": "gmail", "email": "user@gmail.com", "username": "user@gmail.com", "auth_method": "oauth2", "oauth_client_id": "your-client-id.apps.googleusercontent.com", "oauth_client_secret": "your-client-secret" } ]
~/.config/mcp-email/tokens/ and automatically refreshed. Subsequent connections reuse the stored token without re-authorization.Supported OAuth2 providers: Gmail (gmail.com, googlemail.com) and Outlook (outlook.com, hotmail.com, live.com).
| Variable | Required | Default | Description |
|---|---|---|---|
EMAIL_CONFIG_FILE | Yes* | — | Path to JSON config file |
EMAIL_ACCOUNTS | Yes* | — | JSON array of account configs (inline) |
EMAIL_DEFAULT_ACCOUNT | No | First account | Default account ID |
EMAIL_IMAP_TIMEOUT_MS | No | 30000 | IMAP operation timeout (ms) |
EMAIL_SMTP_TIMEOUT_MS | No | 30000 | SMTP operation timeout (ms) |
EMAIL_IMAP_RATE_LIMIT | No | 60 | IMAP requests/minute/account |
EMAIL_SMTP_RATE_LIMIT | No | 100 | SMTP sends/hour/account |
MAX_ATTACHMENT_SIZE_MB | No | 18 | Max size per attachment (MB) |
MAX_TOTAL_ATTACHMENT_SIZE_MB | No | 18 | Max total attachment size per message (MB) |
MAX_DOWNLOAD_SIZE_MB | No | 25 | Max attachment download size (MB) |
EMAIL_POOL_CLOSE_TIMEOUT_MS | No | 5000 | Pool close timeout (ms) |
EMAIL_DEBUG | No | false | Debug logging to stderr |
LOG_LEVEL | No | info | Log level: debug, info, warn, error |
LOG_FORMAT | No | json | Log format: json or text |
*One of EMAIL_CONFIG_FILE or EMAIL_ACCOUNTS is required.
The config file contains account passwords. Always restrict access:
chmod 600 ~/.config/mcp-email/accounts.json
| Tool | Description | Key params |
|---|---|---|
email_accounts | List configured accounts with connection status | — |
email_folders | List all folders with unread/total counts | account? |
email_folder_create | Create new folder | name, account? |
| Tool | Description | Key params |
|---|---|---|
email_list | List messages in folder | folder?, limit?, offset?, includeBody?, account? |
email_unread | List unread messages | folder?, limit?, includeBody?, account? |
email_search | Search subject and body | query, from?, to?, since?, before?, folder?, limit?, includeBody?, account? |
| Tool | Description | Key params |
|---|---|---|
email_get | Get full message by ID | id |
email_read_body | Read email body with pagination | id, offset?, limit?, format? |
email_move | Move message to folder | id, destination |
email_copy | Copy message to folder | id, destination |
email_delete | Delete message (trash or permanent expunge) | id, permanent? |
email_mark_read | Mark as read/unread | id, read |
email_flag | Flag/unflag message | id, flagged |
email_reply | Reply to a message (sets In-Reply-To, References, quotes body) | id, body, all?, cc?, bcc?, isHtml?, account? |
email_forward | Forward a message (re-attaches original attachments) | id, to, body?, cc?, bcc?, isHtml?, account? |
email_batch | Batch operations on multiple messages | action, ids, destination?, permanent?, read?, flagged? |
| Tool | Description | Key params |
|---|---|---|
email_attachment_list | List attachments on a message | id |
email_attachment_get | Download attachment by index | id, index, saveTo? |
email_thread | Get conversation thread (searches across INBOX, Sent, Archive, and All Mail) | id |
| Tool | Description | Key params |
|---|---|---|
email_send | Send via SMTP with optional attachments | to, subject, body, cc?, bcc?, replyTo?, isHtml?, attachments?, account? |
email_draft_create | Save draft with optional attachments | to?, subject?, body?, cc?, bcc?, isHtml?, attachments?, account? |
email_draft_send | Send existing draft | id |
All optional account params default to the configured default account.
email_search searches both subject and body using IMAP SEARCH OR (SUBJECT "q") (BODY "q").
Optional filters narrow the candidate set server-side before body scanning:
| Filter | Format | Example |
|---|---|---|
from | Email address or name | "alice@example.com" |
to | Email address or name | "bob@example.com" |
since | YYYY-MM-DD | "2026-01-01" |
before | YYYY-MM-DD | "2026-02-01" |
The existing operation timeout (default 30s) prevents hung body searches on large mailboxes.
email_send and email_draft_create accept an attachments p
只显示了开头部分;其余内容请在仓库中阅读