email-mcp · MCP Server

MCP-Server · fc398b26 · Quellenstand

MCP-Server · lesen und schreiben und löschen und senden · LGPL-3.0-only · lokal (stdio)

Beschreibung des Anbieters

IMAP/SMTP email MCP server — 52 tools, stdio + HTTP, IMAP IDLE push, multi-account, AI triage.

Werkzeuge

bulk_action
Batch operation on multiple emails by UID list. Supports mark_read, mark_unread, flag, unflag, move, and delete. Max 100 IDs per call. Returns success/failure counts. Angabe des Anbieters · Beleg 5
send_email
Send a new email. Supports plain text or HTML body, CC, and BCC. Angabe des Anbieters · Beleg 6
reply_email
Reply to an email with proper threading (In-Reply-To & References headers). Use get_email first to read the original. Angabe des Anbieters · Beleg 6
forward_email
Forward an email to new recipients with optional additional message. Original email is quoted below. Angabe des Anbieters · Beleg 6
list_labels
List available labels for an email account. Auto-detects the label system: ProtonMail folder-labels, Gmail X-GM-LABELS, or IMAP keywords.… Angabe des Anbieters · Beleg 7
add_label
Add a label to an email. For ProtonMail, this copies the email into the corresponding Labels/<name> folder. For Gmail and standard IMAP, this sets a keyword flag on the message. Angabe des Anbieters · Beleg 7
remove_label
Remove a label from an email. For ProtonMail, this removes the email from the label folder. For Gmail and standard IMAP, this removes a keyword flag. Angabe des Anbieters · Beleg 7
create_label
Create a new label. For ProtonMail, creates a folder under Labels/. For standard IMAP keywords, labels are auto-created on first use — this is a no-op. Angabe des Anbieters · Beleg 7
delete_label
Delete a label. For ProtonMail, deletes the label folder. For standard IMAP keywords, labels cannot be deleted server-wide — use remove_label on individual emails. Angabe des Anbieters · Beleg 7
save_draft
Save an email draft to the Drafts folder. Compose over time, then use send_draft to send it. Use list_emails with the Drafts mailbox to see saved drafts. Angabe des Anbieters · Beleg 8
send_draft
Send an existing draft email and remove it from Drafts. The draft is fetched, sent via SMTP, then deleted. Use list_emails with the Drafts mailbox to find draft IDs. Angabe des Anbieters · Beleg 8
list_emails
List emails in a mailbox with optional filters. Returns paginated results with metadata (read/unread 🔵, flagged ⭐, replied ↩️, attachments 📎, labels 🏷️). Use get_email to fetch full body content.… Angabe des Anbieters · Beleg 9
get_email
Get the full content of a specific email by ID. Does NOT mark the email as seen (uses IMAP BODY.PEEK — non-destructive).… Angabe des Anbieters · Beleg 9
get_emails
Fetch the full content of multiple emails in a single call (max 20). More efficient than calling get_email repeatedly when triaging or summarising several emails. Does NOT mark emails as seen.… Angabe des Anbieters · Beleg 9
get_email_status
Get the current read/flag/label state of an email without fetching its body. Much cheaper than get_email when you only need to check whether an email is unread, flagged, or which labels it has.… Angabe des Anbieters · Beleg 9
search_emails
Search emails by keyword across subject, sender, and body. Omit query (or pass an empty string) to use it as a pure filter — e.g.… Angabe des Anbieters · Beleg 9
check_health
Check connection health, quota, and capabilities for email accounts. Useful for diagnosing issues. Angabe des Anbieters · Beleg 10
find_email_folder
Find which real mailbox folder(s) an email belongs to. Required before move_email or delete_email when the email was found in a virtual folder (e.g., "All Mail", "Starred").… Angabe des Anbieters · Beleg 11
move_email
Move an email to a different mailbox folder. The sourceMailbox must be a real folder, not a virtual one like "All Mail". Use find_email_folder first if the email was discovered in a virtual folder. Angabe des Anbieters · Beleg 12
delete_email
Delete an email. By default moves to Trash. Set permanent=true for permanent deletion (⚠️ irreversible). The mailbox must be a real folder.… Angabe des Anbieters · Beleg 12
mark_email
Change email flags — mark as read/unread, flag/unflag. Idempotent: marking an already-read email as read is a no-op. Angabe des Anbieters · Beleg 12
get_thread
Reconstruct a full email conversation thread by following References and In-Reply-To headers. Returns all related messages. Does NOT mark emails as seen.… Angabe des Anbieters · Beleg 13
create_mailbox
Create a new mailbox (folder). Use '/' as separator for nested folders (e.g., 'Work/Projects'). Use list_mailboxes to see existing folders. Angabe des Anbieters · Beleg 14
rename_mailbox
Rename an existing mailbox (folder). Use list_mailboxes to see current folder paths. Angabe des Anbieters · Beleg 14
delete_mailbox
⚠️ DESTRUCTIVE: Permanently delete a mailbox and ALL its contents. This cannot be undone. Use list_mailboxes to verify the folder path. Angabe des Anbieters · Beleg 14
get_watcher_status
Get the status of IMAP IDLE watcher connections and recent activity. Angabe des Anbieters · Beleg 15
list_presets
List all available AI triage presets with their descriptions and suggested labels. Angabe des Anbieters · Beleg 15
get_hooks_config
Get the current AI hooks configuration including preset, rules, and custom instructions. Angabe des Anbieters · Beleg 15
check_notification_setup
Diagnose desktop notification support on this platform. Checks if required OS tools are available and provides setup instructions to enable notification permissions (macOS, Linux, Windows). Angabe des Anbieters · Beleg 15
test_notification
Send a test desktop notification to verify that OS permissions are correctly configured. Use check_notification_setup first to diagnose any issues. Angabe des Anbieters · Beleg 15

Voraussetzungen

  • npx · Paketmanager · erforderlich · Beleg 1
  • Node.js · Laufzeit · erforderlich · Beleg 16
  • MCP_EMAIL_ADDRESS · Umgebungsvariable · erforderlich · Beleg 16
  • MCP_EMAIL_IMAP_HOST · Umgebungsvariable · erforderlich · Beleg 16
  • MCP_EMAIL_SMTP_HOST · Umgebungsvariable · erforderlich · Beleg 16
  • MCP_EMAIL_PASSWORD · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_ACCOUNT_NAME · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_FULL_NAME · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_USERNAME · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_IMAP_PORT · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_IMAP_TLS · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_PORT · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_TLS · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_STARTTLS · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_VERIFY_SSL · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_POOL_ENABLED · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_SMTP_POOL_MAX_MESSAGES · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16
  • MCP_EMAIL_RATE_LIMIT · Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 16

Installation

npx -y @codefuturist/email-mcp@0.5.1

Angaben zum Baustein

—: Angabe nicht belegt.

Maintainer
codefuturist
Repository-Lizenz
LGPL-3.0-only
Letzter Repository-Commit

Commit innerhalb zwölf Monaten

Dienstanbieter
Offizielle Dienstherkunft nicht belegt
Dienste
—
Bereiche
Kommunikation, Büro
Plattformen
—
Version
0.5.1
Release
v0.5.1
Clients
Claude Desktop, Cursor, VS Code, Windsurf, Zed
Repository-Themen
ai, email, imap, llm, mcp, mcp-server, model-context-protocol, nodemailer, smtp, typescript

Zugriffe und Risiken

Regelbasiert abgeleitete Zugriffe
lesen, schreiben, löschen, senden
Authentifizierung
—
Transport
stdio
Technische Prüfung
Ungeprüft

Fehlende Angaben bedeuten unbekannte Zugriffe. Vor dem Einsatz Konten, Dateien, Netzwerkverbindungen und Ausführungsrechte im konkreten Paket prüfen. Eine frische Änderung am Repository belegt keine Wartung jeder einzelnen Datei.

Nur die für den Arbeitsablauf nötigen Berechtigungen vergeben und Schreibaktionen mit einem Freigabeschritt absichern. Lizenz und Wartungsdatum sind keine Sicherheitsfreigabe.

Der Lizenzbeleg betrifft das Quellcode-Repository. Einzelne Unterpakete und gehostete Dienste können eigene Bedingungen haben; prüfe sie beim konkreten Installations- oder Diensteangebot.

Belege und Datenstand

FC398B26<MCPSERVE<20261004<<<<Q16<UNGEPRUEFT<<<<<<<<<<<<<<<<

Verbundenes