Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

mailmcp

MCPB · MAILMCP.MCPB · 2 COMPONENTS · SCANNED SEP 20

Your mailboxes in ChatGPT and Claude: Gmail, iCloud, Fastmail, any IMAP. Passwords stay yours.

40 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security13
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
Schema Quality & AI Usability69
  • 67% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3098 tokens (~140/item across 22 items; 21 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage92
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 75% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

mcpb · mailmcp.mcpb

Download bundle
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 40

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed mcpb/https://github.com/kojott/mailmcp-dist/releases/download/v0.7.8/mailmcp.mcpb@0.7.8

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb

Background: How many MCP packages publish verified provenance →

MCP tools · 21 exposed · ~2,681 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_draft ~263

Saves a draft into the Drafts folder of the account. Nothing is sent; the owner reviews and sends it from their mail client (or asks you to send_draft). Attachments: existing mailbox attachments, files from upload_attachment/request_upload, or inline content. This is the preferred way to prepare replies.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
attachmentsarrayFiles to attach: existing mailbox attachments, uploaded files (folder "mailmcp-uploads"), inline content, or local paths
bccarray
ccarray
htmlstringOptional HTML body (scripts are stripped); when absent it is rendered from text
in_reply_to_folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
in_reply_to_uidintegeruid of the message being answered: sets In-Reply-To/References, keeps the Re: subject and quotes the original. Prefer reply_draft / reply_send.
quotebooleanQuote the original under the reply (default true when replying)
subjectstringyes
textstringyesPlain-text body
toarrayyesRecipient addresses

No output schema declared.

No examples provided.

fetch ~34

Returns the full sanitized text of one email by the id returned from `search`.

NameTypeReqDescription
idstringyesDocument id from search

No output schema declared.

No examples provided.

forward_message ~174

Forwards a message including all its attachments, without the files passing through the chat. Optional comment goes above the forwarded text. Recipients must match send_allowlist; with as_draft the forward is saved to Drafts instead.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
as_draftbooleanSave to Drafts instead of sending
bccarray
ccarray
commentstringText to put above the forwarded message
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
include_attachmentsbooleanDefault true
subjectstringDefaults to "Fwd: <original subject>"
toarrayyes
uidintegeryes

No output schema declared.

No examples provided.

get_attachment ~104

Downloads one attachment (max 2097152 bytes). Text-like types are returned as text, others as embedded binary.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
inlinebooleanEmbed the binary content in the result instead of returning a link
partstringyespart id from get_message
uidintegeryes

No output schema declared.

No examples provided.

get_message ~98

Returns headers, sanitized text body and the attachment list of one message. Body is truncated to the configured limit.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
include_quotedbooleanKeep quoted replies (default false)
max_charsinteger
uidintegeryesuid from search_messages

No output schema declared.

No examples provided.

get_signature ~66

Returns the signature mailmcp appends under replies: the newest message in the mailbox folder "mailmcp-signature" (HTML with inline images) when the account uses it, otherwise the plain-text signature from the token.

NameTypeReqDescription
accountstringyesAccount id from list_accounts

No output schema declared.

No examples provided.

get_thread ~72

Lists all messages belonging to the same conversation as the given message (Gmail thread id, or References headers elsewhere).

NameTypeReqDescription
accountstringyesAccount id from list_accounts
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
uidintegeryes

No output schema declared.

No examples provided.

list_accounts ~45

Lists configured mailboxes with their ids, addresses and what operations are permitted on each.

NameTypeReqDescription
check_connectionbooleanAlso test the IMAP login of every account (slower).

No output schema declared.

No examples provided.

list_folders ~37

Lists folders (labels on Gmail) of one account with message and unseen counts.

NameTypeReqDescription
accountstringyesAccount id from list_accounts

No output schema declared.

No examples provided.

list_uploads ~60

Files waiting in "mailmcp-uploads" of an account (from upload_attachment or an upload link), newest first, with the {folder, uid, part} needed to attach them.

NameTypeReqDescription
accountstringyesAccount id from list_accounts

No output schema declared.

No examples provided.

modify_message ~133

Mark read/unread, star/unstar, add/remove Gmail labels, move to a folder or archive.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
add_labelsarrayGmail only
archivebooleanRemove from inbox (Gmail) or move to Archive
flaggedboolean
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
move_tostringDestination folder path
remove_labelsarrayGmail only
seenboolean
uidintegeryes

No output schema declared.

No examples provided.

reply_draft ~251

Saves a reply to a specific message into Drafts, in the same thread: In-Reply-To/References, "Re:" subject, recipients (sender, or everyone with reply_all) and the quoted original are set by the server. Use this whenever the owner says "reply / answer / write a draft" ("odpověz", "napiš koncept"). Nothing is sent.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
attachmentsarray
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
htmlstringOptional HTML version of the reply body
langstringLanguage of the "On … wrote:" line (default: guessed from the reply)
quotebooleanQuote the original under the reply (default true)
reply_allbooleanReply to every recipient of the original (default: sender only)
textstringyesThe reply itself, plain text, without greeting-to-quote artefacts; the original is quoted automatically
uidintegeryesuid of the message being answered (from search_messages / get_message / get_thread)

No output schema declared.

No examples provided.

reply_send ~245

Sends a reply to a specific message in the same thread (threading headers, "Re:" subject, recipients and the quoted original are set by the server). Only when the owner enabled sending for the account AND every recipient matches send_allowlist; otherwise use reply_draft. Use this only when the owner says "send" ("pošli", "odešli").

NameTypeReqDescription
accountstringyesAccount id from list_accounts
attachmentsarray
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
htmlstringOptional HTML version of the reply body
langstringLanguage of the "On … wrote:" line (default: guessed from the reply)
quotebooleanQuote the original under the reply (default true)
reply_allbooleanReply to every recipient of the original (default: sender only)
textstringyesThe reply itself, plain text, without greeting-to-quote artefacts; the original is quoted automatically
uidintegeryesuid of the message being answered (from search_messages / get_message / get_thread)

No output schema declared.

No examples provided.

request_upload ~115

Returns a one-hour HTTPS upload link for an account. Anyone with the link can PUT/POST a file to it (curl -T file <url>, or open it in a browser and drop the file); the file lands in "mailmcp-uploads" and appears in list_uploads. Use it for files on the user's disk or files too big for upload_attachment. If you can run commands, upload the file yourself; otherwise give the link to the user.

NameTypeReqDescription
accountstringyesAccount id from list_accounts

No output schema declared.

No examples provided.

search ~75

Searches all readable mailboxes with one query string and returns documents with ids for `fetch`. Use Gmail search syntax for Gmail accounts (from:, newer_than:7d, has:attachment); plain words elsewhere. Prefix the query with "account:<id> " to limit it to one mailbox.

NameTypeReqDescription
querystringyesSearch query

No output schema declared.

No examples provided.

search_messages ~235

Searches one account (or all accounts with account="all"). On Gmail, `query` accepts full Gmail search syntax (from:, newer_than:7d, has:attachment, label:, "exact phrase"). Elsewhere `query` is full-text and the structured filters do the rest. Returns newest first with uid + folder needed by other tools.

NameTypeReqDescription
accountstringyesAccount id, or "all" to search every readable account
beforestringISO date
flaggedbooleanOnly starred/flagged
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
fromstring
has_attachmentboolean
limitintegerDefault 20, max 50
offsetinteger
querystringGmail search syntax on Gmail; plain text elsewhere
sincestringISO date, e.g. 2026-09-01
subjectstring
tostring
unseenbooleanOnly unread

No output schema declared.

No examples provided.

send_draft ~97

Sends a draft exactly as stored in the Drafts folder (including its attachments) and removes it from Drafts. Recipients are taken from the draft and must match send_allowlist.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
folderstringDrafts folder path if not the default
uidintegeryesuid of the draft (from create_draft or search_messages in the Drafts folder)

No output schema declared.

No examples provided.

send_message ~244

Sends an email via SMTP, optionally with attachments (existing mailbox attachments, uploaded files, inline content). Only allowed when the owner enabled sending for the account AND every recipient matches send_allowlist. Otherwise use create_draft.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
attachmentsarrayFiles to attach: existing mailbox attachments, uploaded files (folder "mailmcp-uploads"), inline content, or local paths
bccarray
ccarray
htmlstringOptional HTML body (scripts are stripped); when absent it is rendered from text
in_reply_to_folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
in_reply_to_uidintegeruid of the message being answered: sets In-Reply-To/References, keeps the Re: subject and quotes the original. Prefer reply_draft / reply_send.
quotebooleanQuote the original under the reply (default true when replying)
subjectstringyes
textstringyesPlain-text body
toarrayyesRecipient addresses

No output schema declared.

No examples provided.

set_signature ~136

Stores the signature as a message in the mailbox folder "mailmcp-signature" (HTML and/or text). Use it when the owner pastes or dictates their signature. For a signature with a photo or logo the owner instead sends themselves an e-mail from their usual mail client and moves it into that folder; images are then embedded from there. Requires the account to use the mailbox signature (setup page) and the draft capability.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
htmlstringHTML signature (scripts are stripped)
textstringPlain-text signature; derived from html when omitted

No output schema declared.

No examples provided.

trash_message ~61

Moves a message to the Trash folder. Never deletes permanently.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
folderstringFolder/label path. Defaults to All Mail on Gmail, INBOX elsewhere.
uidintegeryes

No output schema declared.

No examples provided.

upload_attachment ~136

Stores a file you have (text, or base64 for binary, up to policy.max_upload_bytes) in the mailbox folder "mailmcp-uploads" so it can be attached to a draft or a sent message. Returns {folder, uid, part} to use in the attachments parameter. The file is removed once attached. For large files or files on the user's disk use request_upload.

NameTypeReqDescription
accountstringyesAccount id from list_accounts
contentstringyesUTF-8 text or base64
content_typestring
encodingstring
filenamestringyes

No output schema declared.

No examples provided.

Common questions

What is the mailmcp MCP server?

mailmcp is an MCP server listed in the public MCP registry as ai.mailmcp/mailmcp. Your mailboxes in ChatGPT and Claude: Gmail, iCloud, Fastmail, any IMAP. Passwords stay yours. This page covers its MCPB bundle (https://github.com/kojott/mailmcp-dist/releases/download/v0.7.8/mailmcp.mcpb).

Is the mailmcp MCP server safe to use?

mailmcp scores 40 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the mailmcp MCP server expose?

mailmcp exposes 21 tools: list_accounts, list_folders, search_messages, get_message, get_thread, and 16 more. Their descriptions and schemas cost roughly 2,681 tokens of context every time the server is loaded.