Skip to main content
Glama
ConsidusOld

proton-bridge-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROTON_MODENoOperation mode: 'readonly', 'organise', or 'full'. Removes tools not allowed in that mode.
PROTON_AUDITNoSet to '0' to disable audit logging.
PROTON_AUDIT_LOGNoPath to the audit log file. Overrides default location.
PROTON_ATTACH_DIRNoDirectory where saved attachments are written. Overrides default location.
PROTON_STATE_FILENoPath to the state file that stores polling cursors and rate counters. Overrides default location.
PROTON_ALLOWED_SENDERSNoAdditional from addresses allowed when sending, beyond your own and alias owner address.
PROTON_ALLOWED_RECIPIENTSNoAdditional recipient addresses allowed for sending, beyond those found in message headers. Useful for manually allowing addresses from untrusted content.
PROTON_TLS_INSECURE_HOSTSNoComma-separated hostnames for which TLS certificate verification is skipped.

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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_foldersA

List all Proton folders and labels available over the Bridge. Call this first to learn exact folder/label names for filing and tagging.

folder_statusA

Message counts plus UIDNEXT and UIDVALIDITY for a folder. UIDs are only valid within one UIDVALIDITY generation, so check this before acting on uids noted earlier.

poll_folderA

Messages that have arrived since the last poll. The very first poll emits nothing and just records where the mailbox ends, so turning this on does not replay the backlog. Marks nothing as read.

ack_folderA

Commit a checkpoint returned by poll_folder with advance=false. Repeating it is harmless.

search_mailA

Search a folder. Combine any of: text, from, subject, since (DD-Mon-YYYY), unread_only, flagged_only. Returns uids + envelopes, newest first. Set include_locations to also report which labels and folders each message carries.

search_all_mailA

Search every mailbox at once and collapse duplicates by Message-ID, reporting where each message lives. Use when you do not know which folder something is in.

get_headersA

Headers plus SPF/DKIM/DMARC verdicts and Proton metadata, for judging whether a message is what it claims to be. Pass raw=true for the unparsed header block.

read_messageA

Read the full headers and body text of one message by uid within a folder.

list_attachmentsA

List a message's attachments, separating real DOCUMENTS from inline cid: images and PGP keys (hidden by default). Call before claiming a message has no attachment — read_message shows body text only and never reveals files.

read_attachmentA

Extract an attachment's TEXT inline — PDFs via pypdf, plus text/csv/json/ics/eml. Use for invoices, decks, reports. Binary/image types must use save_attachment instead.

view_attachmentA

Look at an image attachment. Returns it as a viewable image, which is the only way to see a photo or a scan when the client cannot read local files. Images only, use read_attachment for text and PDFs.

save_attachmentA

Write attachment(s) to disk and return the path(s). Use for images, scanned PDFs, or anything not text-extractable. EPHEMERAL by default — files self-delete after the TTL.

purge_attachmentsA

Immediately delete all ephemeral saved attachments. Call after reading a saved file so nothing lingers on disk.

find_threadA

Pull every message of a conversation from All Mail, showing which ones carry documents. ESSENTIAL: Proton's UI groups conversations but IMAP exposes single messages, so an inbox 'Re:' can look attachment-free while the thread's original holds the PDFs. Run this before concluding what a thread needs.

bulk_markA

Mark many messages read/unread/starred in one pass. Far cheaper than one call per message.

bulk_apply_labelA

Apply one existing label to many messages. Messages stay where they are.

bulk_moveA

File or Trash many messages at once. GATED: preview with dry_run=true, show the user, then call with confirmed=true.

replyA

Reply to one message with correct threading. Replies to the Reply-To address when there is one, so alias mail stays masked. Pass draft=true to save it for review, or confirmed=true to send.

reply_allA

Reply to everyone on a message, with your own addresses removed from Cc and duplicates dropped. Same draft and confirmation rules as reply.

create_draftA

Write a draft into the Proton Drafts folder. Never sends. For a reply, pass in_reply_to (the original Message-ID).

update_draftA

Replace a draft's contents. Threading headers are carried over, the new version is saved before the old one is binned. Omit a field to keep what the draft already had.

delete_draftA

Move a draft to Trash. GATED. Nothing here deletes permanently.

send_draftA

Send a saved draft as written, then move it to Trash. GATED. Sender and recipient checks run again at send time.

unsubscribeA

Report how to unsubscribe from a message using its List-Unsubscribe header, and optionally send the email form. Reports only unless send=true. Web links are never fetched for you.

markA

Mark a message read/unread or star/unstar.

apply_labelA

Tag a message with an existing label. The message stays where it is.

remove_labelA

Take a label off a message. The message itself stays where it is. GATED: removing a label ends in an expunge against the label mailbox, so confirm it or preview with dry_run=true first.

bulk_remove_labelA

Take one label off many messages at once. The messages stay where they are. GATED, like remove_label.

move_to_folderA

File a message: move it into another folder (e.g. 'Folders/', 'Archive', 'Trash').

create_folder_or_labelA

Create a new label or folder. GATED: it changes your folder and label structure, so confirm the exact name and type with the user, then call with confirmed=true.

delete_labelA

Delete a label outright. Every message that carried it stays exactly where it is and simply loses the tag — no mail is deleted. Labels only; folders are where messages live and are not deletable here. GATED.

bulk_delete_labelsA

Delete several labels in one pass. Messages keep their place and lose the tags. Labels only, GATED.

sendA

Send a new email. GATED: the agent must show the user the exact To/Subject/Body, get an explicit yes, then call with confirmed=true. Never call unattended.

forwardA

Forward an existing message to someone on demand. GATED like send: confirm recipient with the user, then call with confirmed=true.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/ConsidusOld/proton-bridge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server