From 446cf4ddf96fa09d2edded5c5232c46b0a479002 Mon Sep 17 00:00:00 2001 From: Dhiego Pagotto <75350452+dcpagotto@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:34:00 -0400 Subject: [PATCH 1/2] feat: Add IMAP MCP Server configuration (server.yaml) --- servers/imap-server/server.yaml | 55 +++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 servers/imap-server/server.yaml diff --git a/servers/imap-server/server.yaml b/servers/imap-server/server.yaml new file mode 100644 index 00000000..34371eb8 --- /dev/null +++ b/servers/imap-server/server.yaml @@ -0,0 +1,55 @@ +name: imap-server +image: nikolausm/imap-mcp-server +type: server +meta: + category: communication + tags: + - imap + - smtp + - email + - communication + - productivity + - oauth + - encryption + - multi-provider +about: + title: IMAP MCP Server + description: A powerful Model Context Protocol (MCP) server for IMAP email integration with secure account management, connection pooling, and support for 15+ email providers. Features encrypted credential storage, advanced search capabilities, and comprehensive email operations including sending, replying, and forwarding with SMTP support. + icon: https://raw.githubusercontent.com/nikolausm/imap-mcp-server/main/public/images/logo.png +source: + project: https://github.com/nikolausm/imap-mcp-server +config: + description: Configure IMAP/SMTP access with multiple account support and encrypted credentials + secrets: + - name: imap-server.master_password + env: MASTER_PASSWORD + example: + env: + - name: NODE_ENV + example: production + value: production + - name: CONFIG_PATH + example: /config + value: /config + - name: ACCOUNTS_FILE + example: /config/accounts.json + value: /config/accounts.json + - name: PORT + example: "3001" + value: "3001" + - name: ENABLE_WEB_UI + example: "false" + value: "false" + parameters: + type: object + properties: + master_password: + type: string + description: Master password for encrypting stored credentials (AES-256) + format: password + required: + - master_password + volumes: + - name: config + description: Persistent storage for encrypted account configurations + path: /config From 2a6a15ff3a0ead6ff3553afa19246e73e8bf9cdf Mon Sep 17 00:00:00 2001 From: Dhiego Pagotto <75350452+dcpagotto@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:39:26 -0400 Subject: [PATCH 2/2] feat: Add tools.json with comprehensive IMAP/SMTP tool definitions - 17 comprehensive IMAP/SMTP tools documented - Account management (add/list/remove/connect/disconnect) - Email operations (search/get/mark/delete/latest) - SMTP capabilities (send/reply/forward) - Folder management (list/status/unread count) - Complete tool definitions for MCP Registry catalog --- servers/imap-server/tools.json | 70 ++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 servers/imap-server/tools.json diff --git a/servers/imap-server/tools.json b/servers/imap-server/tools.json new file mode 100644 index 00000000..e1bab588 --- /dev/null +++ b/servers/imap-server/tools.json @@ -0,0 +1,70 @@ +[ + { + "name": "imap_add_account", + "description": "Add a new IMAP account configuration with encrypted credential storage" + }, + { + "name": "imap_list_accounts", + "description": "List all configured IMAP accounts" + }, + { + "name": "imap_remove_account", + "description": "Remove an IMAP account configuration" + }, + { + "name": "imap_connect", + "description": "Connect to an IMAP account" + }, + { + "name": "imap_disconnect", + "description": "Disconnect from an IMAP account" + }, + { + "name": "imap_search_emails", + "description": "Search for emails in a folder with advanced filtering options" + }, + { + "name": "imap_get_email", + "description": "Get the full content of an email including attachments" + }, + { + "name": "imap_mark_as_read", + "description": "Mark an email as read" + }, + { + "name": "imap_mark_as_unread", + "description": "Mark an email as unread" + }, + { + "name": "imap_delete_email", + "description": "Delete an email (moves to trash or expunges)" + }, + { + "name": "imap_get_latest_emails", + "description": "Get the latest emails from a folder" + }, + { + "name": "imap_send_email", + "description": "Send an email using SMTP with support for attachments" + }, + { + "name": "imap_reply_to_email", + "description": "Reply to an existing email with SMTP support" + }, + { + "name": "imap_forward_email", + "description": "Forward an existing email to other recipients" + }, + { + "name": "imap_list_folders", + "description": "List all folders/mailboxes in an IMAP account" + }, + { + "name": "imap_folder_status", + "description": "Get status information about a folder including message counts" + }, + { + "name": "imap_get_unread_count", + "description": "Get the count of unread emails in specified folders" + } +] \ No newline at end of file