Skip to main content
Glama
dadamonis

protonmail-mcp

by dadamonis

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROTONMAIL_MCP_CERTNoOptional path to the Bridge TLS certificate (e.g., ~/.config/protonmail-mcp/cert.pem).
PROTONMAIL_MCP_ADDRESSNoThe ProtonMail email address. Used with PROTONMAIL_MCP_PASSWORD to configure a single account without a config file.
PROTONMAIL_MCP_PASSWORDNoThe ProtonMail Bridge password. Used with PROTONMAIL_MCP_ADDRESS to configure a single account without a config file.
PROTONMAIL_MCP_USERNAMENoOptional display name for the account.
PROTONMAIL_MCP_IMAP_HOSTNoOptional IMAP host override.
PROTONMAIL_MCP_IMAP_PORTNoOptional IMAP port override.
PROTONMAIL_MCP_SMTP_HOSTNoOptional SMTP host override.
PROTONMAIL_MCP_SMTP_PORTNoOptional SMTP port override.
PROTONMAIL_MCP_ACCOUNT_NAMENoOptional 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 23 tools

Disambiguation3/5

Most tools target distinct actions, but several boundaries blur: list_labels overlaps with list_mailboxes since labels appear as folders, create_mailbox can create labels when passed a Labels/ path, and remove_label vs delete_label could easily be confused. The descriptions help, but an agent still faces real misselection risk.

Naming Consistency4/5

The vast majority of tools follow a clear verb_noun snake_case pattern: list_emails, send_email, create_label, download_attachment. Exceptions like bridge_status and ping break the pattern slightly, but there is no chaotic mixing of styles.

Tool Count3/5

23 tools is on the heavy side for a single server and falls in the borderline range where each tool must clearly earn its place. Most tools are individually justified for a full email client, but the set feels larger than ideal and could be trimmed by merging health-check or label-related operations.

Completeness4/5

The tool surface covers the core email lifecycle well: list, get, search, send, reply, forward, draft, move, delete, mark, thread, attachments, folders, and labels. Notable gaps include no way to attach files when sending or replying, and no label rename/update operation, but agents can work around most of these gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues