Skip to main content
Glama
googlarz

Proton Mail Bridge MCP

create_thread_reply_draft

Create a reply draft from a thread ID, automatically selecting the latest inbound message to reply to, and return a draft ID for later update or send.

Instructions

Create a reply draft from a threadId, automatically selecting the latest inbound message to reply to. Use when you have a threadId from get_threads or get_actionable_threads and want to stage a reply for review. Prefer create_reply_draft when you already have a specific emailId. Returns a draftId for later update or send.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoAdditional CC recipients, comma-separated.
bccNoAdditional BCC recipients, comma-separated.
bodyYesReply body to prepend.
fromNoStore this draft under this address instead of the Bridge login's default (e.g. an additional configured account address). Falls back to the primary account if the address isn't a configured account.
notesNoOptional local note for the draft.
isHtmlNoStore body as HTML.
replyAllNoReply to all original recipients.
threadIdYesThread id from get_threads or get_actionable_threads.
syncBeforeNoRefresh the local mailbox index from IMAP before resolving the thread.
attachmentsNoAttachments with base64 encoded content.
syncToRemoteNoWhether to sync the draft to the Proton Drafts mailbox when IMAP is available.
preferLatestInboundNoPrefer replying to the latest inbound message in the thread.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.1.37
    • addedInput schema / properties / from
      Added value: +{
      +  "description": "Store this draft under this address instead of the Bridge login's default (e.g. an additional configured account address). Falls back to the primary account if the address isn't a configured account.",
      +  "type": "string"
      +}
  2. Addedv1.17.0
  3. Removedv1.13.11
  4. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only destructiveHint=false in annotations, the description carries most of the behavioral burden and does disclose meaningful traits: it automatically selects the latest inbound message, stages the reply for review rather than sending it, and returns a draftId for later update or send. This goes beyond the annotation without contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler; the core create-from-thread behavior is front-loaded, followed by usage guidance and the sibling distinction. Every sentence contributes actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter tool, the schema covers parameter details, the description covers the return value (draftId), the data source for threadId, and the distinction from create_reply_draft. An agent has what it needs to invoke the tool correctly without missing safety or output expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains all 12 parameters and the baseline is 3. The description adds some context by tying threadId to get_threads/get_actionable_threads and explaining the auto-selection behavior that maps to preferLatestInbound, but it does not substantially clarify the remaining parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource—'create a reply draft from a threadId'—and distinguishes it from create_reply_draft by noting that this tool auto-selects the latest inbound message rather than taking a specific emailId. This makes the tool's role clear relative to its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance: use this when you have a threadId from get_threads or get_actionable_threads and want to stage a reply for review. It also gives the alternative condition: prefer create_reply_draft when a specific emailId is already available.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools