mail-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAIL_IMAP_DEFAULT_HOST | Yes | IMAP server hostname (e.g. imap.gmail.com) | |
| MAIL_IMAP_DEFAULT_PASS | Yes | IMAP password or app password | |
| MAIL_IMAP_DEFAULT_USER | Yes | IMAP username / email address |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| draft_createA | Save a new email as a draft in the account's Drafts folder (IMAP, EWS or Graph, chosen from the account's configuration). Nothing is sent. Requires MAIL_DRAFTS_ENABLED=true. |
| draft_deleteA | Delete a draft. Only acts on drafts. Requires MAIL_DRAFTS_ENABLED=true and confirm=true. |
| draft_listA | List the account's drafts, newest first, with their draft_id. Requires MAIL_DRAFTS_ENABLED=true. |
| draft_sendA | Send an existing draft and remove it from Drafts. Requires MAIL_DRAFTS_ENABLED=true and MAIL_SMTP_WRITE_ENABLED=true. Before calling, show the user the draft's recipients, subject and body and get explicit confirmation. |
| draft_updateA | Replace a draft's recipients, subject, body and attachments (full replacement). Returns a new draft_id; the old one stops working. Requires MAIL_DRAFTS_ENABLED=true. |
| ews_get_messageA | Get full email content via Exchange Web Services using an EWS item ID. |
| ews_search_messagesA | Search emails via Exchange Web Services. Preferred for Microsoft accounts. Supports inbox, sent, drafts, deleted, junk folders. |
| ews_send_messageA | Send email via Exchange Web Services. Works on Microsoft tenants that block SMTP and Graph API. Before calling, show the user a full preview (To, CC, BCC, subject, rendered body, attachments) and get explicit confirmation. |
| get_setup_guideA | Get detailed setup instructions for email providers (Microsoft OAuth2, Gmail, Zoho, etc.) |
| graph_send_messageA | Send email via Microsoft Graph API (required for personal hotmail/outlook.com accounts where SMTP is blocked). Before calling, show the user a full preview (To, CC, BCC, subject, rendered body, attachments) and get explicit confirmation. |
| imap_append_messageB | Append a raw RFC822 message to a mailbox |
| imap_bulk_deleteC | Delete up to 500 messages in one operation |
| imap_bulk_moveB | Move up to 500 messages to a mailbox in one operation |
| imap_bulk_update_flagsC | Update flags on up to 500 messages in one operation |
| imap_copy_messageC | Copy a message to mailbox |
| imap_create_mailboxC | Create a new mailbox/folder |
| imap_delete_mailboxC | Delete a mailbox/folder |
| imap_delete_messageC | Delete a message |
| imap_get_attachmentA | Download one attachment to disk |
| imap_get_messageC | Get parsed message details |
| imap_get_message_rawB | Get bounded RFC822 source |
| imap_list_accountsA | List configured IMAP accounts (use list_all_accounts for full capabilities view) |
| imap_list_mailboxesB | List mailboxes for an account |
| imap_mailbox_statusA | Get mailbox message counts (total, unseen, recent) without selecting it |
| imap_move_messageC | Move a message to mailbox |
| imap_rename_mailboxC | Rename a mailbox/folder |
| imap_search_all_mailboxesA | Search every mailbox of an account in one call (e.g. a whole conversation via thread_message_id); results are newest first and labelled with their mailbox |
| imap_search_and_deleteC | Search messages and delete matches in one operation (up to 500) |
| imap_search_and_moveA | Search messages and move matches to a mailbox in one operation (up to 500) |
| imap_search_messagesC | Search messages with cursor pagination |
| imap_update_message_flagsC | Add or remove IMAP flags |
| imap_verify_accountC | Verify account connectivity and capabilities |
| list_all_accountsA | List all configured email accounts with their capabilities (IMAP, SMTP, Graph API, EWS). Use this to know which send/read tools to use per account. |
| smtp_forward_messageA | Forward an existing message via SMTP. Before calling, show the user a full preview (To, CC, BCC, subject, rendered body, attachments) and get explicit confirmation. |
| smtp_reply_messageA | Reply to an existing message via SMTP (fetches original for proper threading). Before calling, show the user a full preview (To, CC, BCC, subject, rendered body, attachments) and get explicit confirmation. |
| smtp_send_messageA | Send a new email via SMTP. Before calling, show the user a full preview (To, CC, BCC, subject, rendered body, attachments) and get explicit confirmation. |
| smtp_verify_accountA | Test SMTP account connectivity and authentication |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 37 tools
The protocol-prefixed names help distinguish backends, but send/reply/forward functionality is duplicated across smtp_, ews_, graph_ and draft_ variants, and list_all_accounts vs imap_list_accounts, or imap_get_message vs imap_get_message_raw, invite misselection. Descriptions clarify intent, but an agent must reason carefully about account capabilities before choosing.
A clear protocol_action_resource pattern (imap_get_message, smtp_send_message, ews_search_messages) dominates and is predictable. Minor deviations like list_all_accounts, get_setup_guide, and resource-first draft_create keep it from being fully uniform.
37 tools is heavy for what is fundamentally a send/read/search/manage domain, and much of the bulk comes from near-duplicate per-protocol send and search tools. The surface exceeds what most agents will comfortably navigate.
Coverage is strong: send/reply/forward, drafts lifecycle, search (including all-mailbox and search-and-act), bulk flag/move/delete, mailbox management, attachments, and flags are all present. Only minor gaps like attachment handling limited to IMAP keep it from a 5.