protonmail-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROTONMAIL_MCP_CERT | No | Optional path to the Bridge TLS certificate (e.g., ~/.config/protonmail-mcp/cert.pem). | |
| PROTONMAIL_MCP_ADDRESS | No | The ProtonMail email address. Used with PROTONMAIL_MCP_PASSWORD to configure a single account without a config file. | |
| PROTONMAIL_MCP_PASSWORD | No | The ProtonMail Bridge password. Used with PROTONMAIL_MCP_ADDRESS to configure a single account without a config file. | |
| PROTONMAIL_MCP_USERNAME | No | Optional display name for the account. | |
| PROTONMAIL_MCP_IMAP_HOST | No | Optional IMAP host override. | |
| PROTONMAIL_MCP_IMAP_PORT | No | Optional IMAP port override. | |
| PROTONMAIL_MCP_SMTP_HOST | No | Optional SMTP host override. | |
| PROTONMAIL_MCP_SMTP_PORT | No | Optional SMTP port override. | |
| PROTONMAIL_MCP_ACCOUNT_NAME | No | Optional account name (default: 'default'). |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Liveness check — returns "pong" if the server is running. |
| list_accountsA | List configured ProtonMail accounts (never includes credentials). |
| list_mailboxesA | List folders with message and unread counts. ProtonMail labels appear as folders under Labels/, custom folders under Folders/. |
| list_emailsA | List emails in a folder, newest first, with pagination and date/sender/unread filters (dates are ISO YYYY-MM-DD). To list emails carrying a ProtonMail label, pass mailbox="Labels/". |
| get_emailA | Read one email in full: body (text preferred), headers, threading ids, and attachment metadata. |
| search_emailsB | Search a folder by keyword across subject, sender, and body. |
| get_threadA | Reconstruct the conversation thread around an email via its Message-ID / References headers (within the given folder). |
| download_attachmentA | Download one attachment (base64), capped at 5 MB. |
| send_emailB | Send a new email through Bridge. Bridge files it into Sent. |
| reply_emailA | Reply to an email with correct threading (In-Reply-To/References) so the conversation stays intact in ProtonMail. |
| forward_emailC | Forward an email with the original content quoted. |
| save_draftA | Save an email as a draft in the Drafts folder without sending. |
| move_emailC | Move an email to another folder. |
| delete_emailA | Delete an email: moves it to Trash unless permanent=true. Refused on the virtual All Mail folder. |
| mark_emailB | Mark an email read/unread and/or flagged/unflagged. |
| create_mailboxB | Create a folder. Bare names are created under ProtonMail's Folders/ namespace; pass an explicit Folders/... or Labels/... path to control placement. |
| list_labelsA | List ProtonMail labels. Labels are IMAP folders under Labels/ — use list_emails with mailbox="Labels/" to see tagged mail. |
| add_labelA | Add a ProtonMail label to an email (copies it into the Labels/ folder — that is how Bridge represents labels). |
| remove_labelA | Remove a ProtonMail label from an email (deletes its copy from the Labels/ folder, located by Message-ID). |
| create_labelC | Create a new ProtonMail label (a folder under Labels/). |
| delete_labelB | Delete a ProtonMail label (removes the Labels/ folder). |
| bridge_statusA | Report on the local ProtonMail Bridge: installed, running, ports, certificate, and configured accounts. |
| check_healthA | Check IMAP and SMTP connectivity (with latency) for one account or all of them. Returns guidance instead of failing when Bridge is down. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dadamonis/protonmail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server