{ "id": "email", "name": "Email (IMAP/SMTP)", "version": "1.0.0", "type": "mcp_local", "launch_command": "python3 email_mcp_server.py", "transport": "stdio", "requires": [ "PYTHON" ], "dependencies": [], "env": [ { "name": "EMAIL_IMAP_HOST", "label": "IMAP host", "description": "IMAP server hostname for reading mail (e.g. imap.gmail.com, outlook.office365.com, imap.mail.me.com).", "required": true, "secret": false, "example": "imap.gmail.com" }, { "name": "EMAIL_IMAP_PORT", "label": "IMAP port", "description": "IMAP-over-SSL port. Almost always 993.", "required": false, "secret": false, "default": "993", "example": "993" }, { "name": "EMAIL_SMTP_HOST", "label": "SMTP host", "description": "SMTP server hostname for sending mail (e.g. smtp.gmail.com, smtp.office365.com, smtp.mail.me.com).", "required": true, "secret": false, "example": "smtp.gmail.com" }, { "name": "EMAIL_SMTP_PORT", "label": "SMTP port", "description": "SMTP port: 465 for implicit SSL, 587 for STARTTLS.", "required": false, "secret": false, "default": "465", "example": "465" }, { "name": "EMAIL_SMTP_SECURITY", "label": "SMTP security", "description": "How to secure the SMTP connection: 'ssl' (port 465), 'starttls' (port 587), or 'plain'. If omitted, inferred from the port.", "required": false, "secret": false, "default": "ssl", "example": "ssl" }, { "name": "EMAIL_USERNAME", "label": "Username / email address", "description": "Login username, usually the full email address.", "required": true, "secret": false, "example": "me@example.com" }, { "name": "EMAIL_PASSWORD", "label": "Password / app password", "description": "Account password. Providers with 2FA (Gmail, iCloud, Yahoo, Outlook) require an app-specific password, not your normal login password.", "required": true, "secret": true, "example": "abcd efgh ijkl mnop" }, { "name": "EMAIL_FROM", "label": "From address", "description": "Address to put in the From header when sending. Defaults to the username if omitted.", "required": false, "secret": false, "example": "me@example.com" } ], "setup_instructions": [ "No files on disk and no OAuth: configuration is entirely via environment variables.", "Set EMAIL_IMAP_HOST, EMAIL_SMTP_HOST, EMAIL_USERNAME and EMAIL_PASSWORD (required).", "For providers with 2FA (Gmail, iCloud, Yahoo, Outlook), generate an app-specific password and use it as EMAIL_PASSWORD.", "Optionally set EMAIL_IMAP_PORT (993), EMAIL_SMTP_PORT (465/587), EMAIL_SMTP_SECURITY (ssl/starttls) and EMAIL_FROM.", "Run the 'status' tool to verify IMAP and SMTP both authenticate." ], "docs": [ { "lang": "en", "description": "Generic email connector over IMAP + SMTP. Works with any provider (Gmail, Outlook/Office 365, iCloud, Yahoo, Fastmail, self-hosted, corporate) using standard protocols and an app password — no Google Cloud Console, no OAuth. Read, search, organise and send mail, download attachments, and receive real-time push notifications when new mail arrives (IMAP IDLE, with polling fallback). Standard library only, zero dependencies.", "llm_short_description": "Email MCP server (IMAP/SMTP, any provider). Config via env vars. Tools: status, list_messages, get_message, get_thread, list_folders, modify_message, send_message, get_profile, create_folder, download_attachments. Emits event/new_email push notifications on new INBOX mail." } ], "mcp_config": { "command": "python3", "args": [ "email_mcp_server.py" ], "env": { "EMAIL_IMAP_HOST": "{ENV:EMAIL_IMAP_HOST}", "EMAIL_IMAP_PORT": "{ENV:EMAIL_IMAP_PORT}", "EMAIL_SMTP_HOST": "{ENV:EMAIL_SMTP_HOST}", "EMAIL_SMTP_PORT": "{ENV:EMAIL_SMTP_PORT}", "EMAIL_SMTP_SECURITY": "{ENV:EMAIL_SMTP_SECURITY}", "EMAIL_USERNAME": "{ENV:EMAIL_USERNAME}", "EMAIL_PASSWORD": "{SECRET:EMAIL_PASSWORD}", "EMAIL_FROM": "{ENV:EMAIL_FROM}" } }, "verify": { "command": "python3 verify.py", "timeout_secs": 20 }, "homepage": "", "icon_small": "icon_sm.svg", "icon_large": "icon_lg.svg", "scope": "user", "tags": [ "email", "mcp", "local", "imap", "smtp" ], "auth": { "type": "password" } }