- Tavily: applicato manifest esatto con env[0] tavilyApiKey (secret:true),
auth: {type:api_key}, no requires, URL referenzia {SECRET:tavilyApiKey}
- Email: auth semplificato (type:password, no delivery), rimosso ENV da requires
- connectors.json: aggiunto auth compatto per Tavily ed Email, rimossi requires
API_KEY/ENV, fixati duplicati icon_lg.svg/verify.py residui
130 lines
4.5 KiB
JSON
130 lines
4.5 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|