MCP Emails
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_EMAILS_API_KEY | No | MCP Emails API key used to authorize forwarded tool calls to the hosted service. | |
| MCP_EMAILS_ENDPOINT | No | Optional Streamable HTTP endpoint; defaults to https://mcpemails.com/api/mcp. |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| inbox_listA | List every inbox (mailbox or account) this API key may use. Call it FIRST for the inbox_id the other tools take. Each entry carries the UUID, email address, display name, provider, optional service brand (icloud/yahoo/zoho/yandex/generic) and a capabilities object. |
| email_readA | Read, list and search email in one inbox. list and search return a single page: when the response says has_more, call again with the returned next_offset and otherwise identical arguments. Only has_more: false means you have seen everything. Long bodies are windowed the same way: body_truncated means read again with body_next_offset as body_offset. |
| email_organizeA | Move, copy, flag or archive messages in one inbox. Get message ids from email_read first. On Gmail a move adds the destination label and removes INBOX, leaving other labels in place. Needs manage:folders; deleting is the separate email_delete tool. |
| email_deleteA | Delete messages in one inbox. Flagged DESTRUCTIVE so your MCP client can ask for confirmation first. Deleted mail goes to Trash and stays recoverable unless you pass permanent: true, which is irreversible. Needs the delete:email scope. |
| email_composeA | Send new mail, reply, or forward from one inbox. The inbox's signature is appended automatically, above the quoted text on replies and forwards; pass include_signature: false to suppress it. |
| folderA | Manage mailbox folders, which are labels on Gmail: the arguments say 'folder' for cross-provider compatibility, but Gmail returns and manages labels (type: 'label'). 'list' needs read:email, the rest manage:folders. |
| draftA | Manage unsent drafts in one inbox. On IMAP a draft_id changes on every update, so always use the most recent one. The signature is embedded on create and update (include_signature: false to skip) and 'send' transmits the stored body as-is, so it is never doubled. 'reply' also needs read:email, 'send' needs send:email. |
| scheduleA | Queue mail for later delivery, and manage what is queued. |
| signatureA | Read or set an inbox's signature, which the server appends on send/reply/forward/draft/scheduled mail. Setting one marks the source 'manual', which overrides Gmail auto-import. 'get' needs read:email, 'set' needs send:email. |
| automationA | Create and manage unattended scheduled triage rules. A rule is a stored search plus one fixed action, evaluated on a cadence with NO model in the loop: mail is matched, never interpreted. Set |
| contact_searchA | Find people by name or email fragment. There is no stored contact list: each call runs a bounded, header-only scan of a RECENT window of matching mail, so message_count counts matches inside that window, not an all-time total. Returns display name, address, count and last-contacted time, most recent first. For general or cross-inbox questions ('who do I email most about X?') OMIT inbox_id so every accessible inbox is scanned. |
| approval_reviewA | Fetch the full contents of a send that is waiting for human approval, including its body, so it can be shown in the review card. Read-only. Approving is not possible from here: it requires the signed-in review page linked as review_url. |
| approval_decideA | Reject a send that is waiting for human approval, so it is never delivered. |
| approval_updateA | Change the subject or body of a send that is waiting for human approval. The message still has to be approved afterwards, and the reviewer sees the edited version. Subject can only be set on operations that carry one (email_send, schedule_create). |
| approval_scheduleA | Set the delivery time of a send that is waiting for human approval. Nothing is queued until it is approved; this only decides when an approved message goes out. send_at must be in the future. |
| bulk_executeA | Run a bulk delete or move that was previewed as a plan. Takes only the plan_id: which messages are affected was decided and frozen when the preview was created, and cannot be changed here. A plan runs at most once and expires 15 minutes after it is created. |
| bulk_cancelA | Decline a previewed bulk delete or move, so it can never run. Takes only the plan_id. Nothing in the mailbox changes. A preview would also expire on its own after 15 minutes; cancelling records the decision instead of leaving it implicit. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| morning_inbox_triage | Prioritize recent unread email without changing the mailbox. |
| find_and_brief | Search email and give an evidence-backed answer. |
| follow_up_radar | Find conversations where a response is owed or overdue. |
| decision_tracker | Extract decisions, owners, commitments, and deadlines from recent mail. |
| prepare_reply_drafts | Create reviewable drafts for messages that need responses. |
| clean_up_safely | Propose a reversible inbox organization plan before changing anything. |
| review_scheduled_sends | Review pending deliveries and surface anything needing attention. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| review_card | Interactive review surface for outbound and bulk mailbox operations: shows exactly what will be sent, deleted, or moved before it happens. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Albretsen/MCPEmails'
If you have feedback or need assistance with the MCP directory API, please join our Discord server