Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
IMAP/SMTP email MCP server — 52 tools, stdio + HTTP, IMAP IDLE push, multi-account, AI triage.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"email": {
"command": "npx",
"args": [
"-y",
"@codefuturist/email-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add email -- npx -y @codefuturist/email-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"email": {
"command": "npx",
"args": [
"-y",
"@codefuturist/email-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"email": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@codefuturist/email-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub codefuturist ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.0) เข้า registry 27 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP (Model Context Protocol) server providing comprehensive email capabilities via IMAP and SMTP.
Enables AI assistants to read, search, send, manage, schedule, and analyze emails across multiple accounts. Exposes 52 tools, 7 prompts, and 6 resources over the MCP protocol with OAuth2 support _(experimental)_, email scheduling, calendar extraction, analytics, provider-aware label management, real-time IMAP IDLE watcher with AI-powered triage, instant verification-code catching with clipboard copy, customizable presets and static rules, and a guided setup wizard.
Built on the MCP TypeScript SDK v2 (spec revision 2026-07-28), it serves over stdio for local clients or Streamable HTTP for networked access — existing stdio configurations keep working unchanged.
| Feature | email-mcp | Typical MCP email |
|---|---|---|
| Multi-account | ✅ | ❌ |
| Send / reply / forward | ✅ | ✅ |
| Drafts & templates | ✅ | ❌ |
| Labels & bulk ops | ✅ provider-aware | ❌ |
| Schedule future emails | ✅ | ❌ |
| Real-time IMAP IDLE watcher | ✅ | ❌ |
| Verification codes → clipboard | ✅ concealed + auto-clear | ❌ |
| AI triage with presets | ✅ | ❌ |
| Desktop & webhook alerts | ✅ | ❌ |
| Calendar (ICS) extraction | ✅ | ❌ |
| Email analytics | ✅ | ❌ |
| OAuth2 (Gmail / M365) | ✅ _experimental_ | ❌ |
| Guided setup wizard | ✅ auto-detect | ❌ |
| Streamable HTTP transport | ✅ | ❌ |
rate_limit)Most MCP email implementations provide only basic read/send. This server aims to be a full-featured email client for AI assistants, covering the entire lifecycle: reading, composing, managing, scheduling, and analyzing email — all from a single MCP server.
Key design decisions:
~/.config/email-mcp/config.tomlRequires Node.js ≥ 24.
# Run directly (no install needed)
npx @codefuturist/email-mcp setup
pnpm dlx @codefuturist/email-mcp setup
npm install -g @codefuturist/email-mcp
pnpm add -g @codefuturist/email-mcp
npm install -g fails with EACCES when npm's global prefix is a root-owned directory (common on a system Node install) — the npx/pnpm dlx form above avoids this entirely by not installing anything globally. If you do want a permanent global install, fix npm's prefix instead of reaching for sudo (npm config set prefix ~/.npm-global and add that to PATH, or use a Node version manager like nvm/fnm/volta) — running npm install -g as root routinely leaves root-owned files mixed into a user-owned node_modules tree, which causes harder-to-diagnose permission errors on the *next* global install.
The prebuilt, dependency-free binary — no Node.js at runtime — from the codefuturist tap:
brew install codefuturist/tap/email-mcp
Published as a cask on every stable release; works on macOS (arm64 + x64) and on Linuxbrew ≥ 4.3 (binary-only casks).
A dependency-free single binary (minified + bytecode-precompiled, ~32 ms cold start, no Node.js at runtime) can be compiled with Bun:
bun run build:binary # native binary → build/email-mcp
cp build/email-mcp ~/.local/bin/
bun run build:binaries # release matrix: darwin-arm64/x64, linux-x64/arm64,
Prebuilt binaries for every release are built by CI with GoReleaser Pro (.goreleaser.yaml) for all common platforms — Linux glibc + musl, macOS, and Windows, each x64 + arm64 where Bun supports it — provenance-attested (verify with gh attestation verify --repo codefuturist/email-mcp) and shipped with GitHub releases — installable via mise: mise use -g ubi:codefuturist/email-mcp.
The same binary can also be built locally from the published npm package (no checkout needed; ≥ 0.5.1, which carries the imapflow TLS fix at runtime — older versions need the repo's pnpm patch). Note that a plain bun add -g shim executes dist/main.js under node via its shebang, so the compile step is what buys the ~11 ms cold start:
bun add -g @codefuturist/email-mcp
bun build --compile --minify --bytecode \ "${BUN_INSTALL:-$HOME/.bun}/install/global/node_modules/@codefuturist/email-mcp/dist/main.js" \ --outfile ~/.local/bin/email-mcp
An installed binary keeps itself current: email-mcp update checks the latest release and — after a confirmation, a sha256 check against the release's checksums file, and (when the gh CLI is present) a provenance-attestation check — atomically replaces itself. --check only reports (exit code 1 = update available), --yes skips the prompt for scripts. npm- and mise-managed installs are recognized and pointed at npm install -g …@latest / mise upgrade instead of being overwritten.
server install from the binary points the launchd login item at it. Requires the bundled imapflow patch (patches/) — imapflow passes servername: false to tls.connect for IP hosts, which Bun's stricter node:tls rejects.
No Node.js required — just Docker.
# Latest stable release
docker pull ghcr.io/codefuturist/email-mcp:latest
docker pull ghcr.io/codefuturist/email-mcp:0.2.3
docker pull ghcr.io/codefuturist/email-mcp:0.2
docker pull ghcr.io/codefuturist/email-mcp:0
docker pull ghcr.io/codefuturist/email-mcp:sha-abc1234
docker build -t ghcr.io/codefuturist/email-mcp .
Tag convention: Tags follow bare semver (no
vprefix), matching Docker ecosystem standards (e.g.node:24,nginx:1.25). Thelatesttag is only updated on stable releases, never pre-releases.
Note: By default, the server uses stdio transport. Config must be created on the host first
(via
npx @codefuturist/email-mcp setupor manually) and mounted into the container.
# Add an email account interactively (recommended)
keychain: reference.email-mcp account add
email-mcp setup
email-mcp config init
The setup wizard auto-detects server settings, tests connections, saves config, and outputs the MCP client config snippet.
email-mcp test # all accounts
email-mcp test personal # specific account
The snippets below use the default stdio transport, best for local desktop clients. For networked or remote access over Streamable HTTP, see Streamable HTTP (networked) below.
Recommended — use the guided installer (auto-detects Claude Desktop, Cursor, Windsurf; for VS Code use the manual snippet below):
email-mcp install
Or add manually using the snippets below.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "email": { "command": "npx", "args": ["-y", "@codefuturist/email-mcp", "stdio"] } } }
</details>
VS Code (GitHub Copilot)
Option 1 — Extensions gallery (easiest):
@mcp email-mcpOption 2 — Workspace config (.vscode/mcp.json, committed to source control):
{
"servers": { "email": { "type": "stdio", "command": "npx", "args": ["-y", "@codefuturist/email-mcp", "stdio"] } } }
Option 3 — User config (settings.json, applies to all workspaces):
Open the Command Palette → Preferences: Open User Settings (JSON) and add:
{
"mcp": { "servers": { "email": { "type": "stdio", "command": "npx", "args": ["-y", "@codefuturist/email-mcp", "stdio"] } } } }
</details>
Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": { "email": { "command": "npx", "args": ["-y", "@codefuturist/email-mcp", "stdio"] } } }
</details>
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "email": { "command": "npx", "args": ["-y", "@codefuturist/email-mcp", "stdio"] } } }
</details>
Zed
Edit ~/.config/zed/settings.json:
{
"context_servers": { "email": { "command": { "path": "npx", "args": ["-y", "@codefuturist/email-mcp", "stdio"] } } } }
</details>
Mistral Vibe
Add to ~/.vibe/config.toml:
[[mcp_servers]]
name = "email-mcp" transport = "stdio" command = "npx" args = ["-y", "@codefuturist/email-mcp", "stdio"]
To pass credentials directly instead of using a config file, use the env field:
[[mcp_servers]]
name = "email-mcp" transport = "stdio" command = "npx" args = ["-y", "@codefuturist/email-mcp", "stdio"] env = { "EMAIL_ACCOUNTS" = " " }
MCP tools are exposed as email-mcp_ (e.g. email-mcp_list_emails). Restart Vibe after editing the config.
Docker (any MCP client)
Run the server in a container — mount your config directory read-only:
docker run --rm -i \
-v ~/.config/email-mcp:/home/node/.config/email-mcp:ro \ -v email-mcp-state:/home/node/.local/state/email-mcp \ -v email-mcp-cache:/home/node/.cache/email-mcp \ ghcr.io/codefuturist/email-mcp
The config mount can
ตัดมาแค่ช่วงต้น อ่านต่อใน repo