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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
EMAIL_CONFIG_FILE env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 boutquin 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: EMAIL_ACCOUNTS
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.1)은 8개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 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
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요