Proton Suite Agent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENT_DRY_RUN | No | Run agent in dry-run mode (no changes applied) | |
| DRIVE_ENABLED | No | Enable Proton Drive integration | |
| MCP_TRANSPORT | No | Transport mode: stdio or http | stdio |
| PROTON_MAIL_FROM | Yes | Email address to use as sender | |
| PROTON_BRIDGE_PASS | Yes | Your Proton Mail Bridge password | |
| PROTON_BRIDGE_USER | Yes | Your Proton Mail Bridge username (email address) | |
| PROTON_PASS_ENABLED | No | Enable Proton Pass integration | |
| PROTON_BRIDGE_TLS_INSECURE | No | Set to 'true' to allow insecure TLS connections to Bridge |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| proton_list_foldersA | Lists every IMAP mailbox exposed by Proton Bridge (system folders like INBOX/Sent/Trash and user labels/folders). Use the returned 'path' values as the mailbox argument in other tools. Call this first when the agent doesn't know the mailbox layout. |
| proton_create_folderA | Creates a new IMAP mailbox under the given path (e.g. 'Projects/Afiladocs'). |
| proton_mailbox_statusA | Returns total messages, unseen/unread count and recent count for a mailbox. Fast — useful for Routines to check 'do I have unread mail?'. |
| proton_list_emailsA | Lists recent emails in a mailbox, newest first. Use pagination with offset+limit. Returns UID, from, to, subject, date, flags, size. Does NOT return the body — use proton_get_email for that. |
| proton_search_emailsA | Keyword-search emails in a mailbox. Filter by text in any field, or restrict to subject/from/to/body. Combine with date range and unseen flag. Returns newest matches first, up to 'limit'. Use 'text' for a broad 'anywhere' match. |
| proton_get_emailA | Fetches one email by UID, with headers, text/html body and attachment metadata. Use proton_get_attachment to download attachment bytes. Large HTML bodies are returned as-is — truncate client-side if needed. To mark as read, call proton_flag_email separately (keeps this tool purely read-only). |
| proton_get_attachmentA | Returns the bytes of a specific attachment encoded as base64. Use the attachment index from proton_get_email. Large attachments are truncated to max_bytes (default 10 MB) with a truncated=true flag in the response. |
| proton_send_emailA | Sends an email via Proton Bridge SMTP. 'from' is fixed to the configured address. Provide either text, html, or both. Attachments are base64-encoded bytes. |
| proton_reply_emailA | Replies to an existing message preserving threading (In-Reply-To, References). Set reply_all=true to include CC recipients. Set include_quote=true to quote the original. |
| proton_forward_emailB | Forwards an existing message to new recipients. Optionally includes original attachments. |
| proton_flag_emailA | Toggles per-message flags. Supported: 'read', 'unread', 'starred', 'unstarred'. For custom flags, pass add_flags/remove_flags directly. |
| proton_move_emailA | Moves a message by UID from one mailbox to another. Use proton_list_folders to see valid targets. |
| proton_delete_emailA | Deletes a message. Default mode='trash' moves it to Trash (reversible). mode='permanent' expunges immediately — cannot be undone. |
| proton_agent_planA | Analyzes the mailbox using the embedded agent rules and returns a proposed folder/label structure plus content alerts. This is a read-only planning tool; it does not move, flag or delete emails. Use it before running the CLI agent:organize command. |
| proton_drive_auditA | Scans the staging directory and returns an inventory report: total files, by type/size/date, duplicates, and obsolete formats. |
| proton_drive_statusA | Returns the current state of the proton-drive CLI binary and the local staging directory. |
| proton_drive_organizeA | Analyzes the staging directory and moves files into a structured folder layout (by type). Dry-run by default. |
| proton_drive_format_reportC | Detailed analysis of file formats in the staging directory. |
| proton_drive_list_filesB | Lists the contents of a remote Proton Drive path using the proton-drive CLI. Read-only. |
| proton_drive_downloadA | Downloads a remote Proton Drive path into the local staging directory using the proton-drive CLI. Idempotent. |
| proton_drive_uploadB | Uploads the local staging directory to a remote Proton Drive path using the proton-drive CLI. |
| proton_drive_shareA | Invites a Proton user to collaborate on a remote path using the proton-drive CLI. |
| proton_drive_moveB | Moves a remote path using the proton-drive CLI. |
| proton_drive_copyC | Copies a remote path using the proton-drive CLI. |
| proton_drive_create_folderC | Creates a new folder using the proton-drive CLI. |
| proton_drive_removeA | Permanently removes a remote path from Proton Drive. Destructive operation. |
| proton_drive_auth_statusA | Checks whether the proton-drive CLI is installed and authenticated. |
| proton_drive_auth_loginA | Attempts to authenticate with the proton-drive CLI. Since the CLI requires interactive credentials, the tool returns a command the user must run in their terminal. |
| proton_suite_statusA | Reports the connection status, diagnostics, and metrics of all configured Proton Suite products. |
| proton_ecosystem_discoverB | Which Proton product binaries are installed and their auth status. |
| proton_ecosystem_healthB | Unified health status of all Proton ecosystem binaries. Returns a concise pass/fail summary. |
| proton_ecosystem_check_updatesC | Available version updates for Proton binaries. |
| proton_ecosystem_installD | Instructions for installing a Proton product binary. |
| proton_bridge_healthA | Checks if Proton Mail Bridge is running, ports are listening, and IMAP auth works. |
| proton_bridge_statusA | Returns combined info + health of the Bridge process in a single call. |
| proton_bridge_infoA | Returns Bridge version, user, and connection ports from the CLI. |
| proton_bridge_loginA | Performs interactive login against Proton Mail Bridge. Provide user and password; include TOTP if 2FA is required. |
| proton_bridge_logoutA | Logs out the current session from Proton Mail Bridge. |
| proton_bridge_accountsA | Lists all Proton accounts currently configured in Bridge with their connection state. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 39 tools
Within each product many tools are distinct, but the suite has multiple overlapping diagnostic/status tools: proton_bridge_status, proton_bridge_health, proton_bridge_info, proton_suite_status, proton_ecosystem_health, and multiple drive status/auth tools. Descriptions help, but an agent can still struggle to choose the right health/status/info tool.
All tool names use lower snake_case with a consistent proton_ prefix, and product-specific tools follow predictable proton_<product>_<action> patterns. The mail tools omit an explicit mail namespace, but their action names are still clear and consistent.
39 tools is excessive for a single MCP server, even one covering Mail, Drive, Bridge, and ecosystem diagnostics. While each product subgroup is individually scoped, the total surface creates substantial selection burden.
Core email and drive lifecycle operations are well covered: folder management, read/search/send/reply/forward/flag/move/delete, attachments, upload/download/copy/move/remove/share, and bridge/ecosystem diagnostics. Minor gaps exist around draft management, drive rename/search, and actual bridge process control.