IMAP Mini MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IMAP_HOST | Yes | IMAP server hostname (e.g. imap.gmail.com) | |
| IMAP_PASS | Yes | Password or app-specific password | |
| IMAP_PORT | No | IMAP server port | 993 |
| IMAP_USER | Yes | Email address or username | |
| IMAP_SECURE | No | Use TLS for the connection | true |
| IMAP_STARTTLS | No | Upgrade to TLS via STARTTLS (when IMAP_SECURE=false) | true |
| IMAP_TLS_REJECT_UNAUTHORIZED | No | Reject self-signed TLS certificates | true |
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 |
|---|---|
| list_emails_24hA | List all emails received in the last 24 hours. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_7daysA | List all emails received in the last 7 days. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_monthA | List all emails received in the last 30 days. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_quarterA | List all emails received in the last 90 days. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_yearA | List all emails received in the last 365 days. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_allA | List ALL emails in the mailbox (no date filter). Warning: this may return a very large number of results. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_from_domainA | List all emails from a specific domain (e.g. "you.com" finds all emails from @you.com senders). Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| list_emails_from_senderA | List all emails from a specific sender email address (e.g. "alice@example.com"). Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| fetch_email_contentA | Fetch the full content of a single email by its id. Returns {id, subject, from, to, date, body, attachments}. The attachments array contains metadata only (id, filename, contentType, size) — use fetch_email_attachment to download actual attachment data. Use an id obtained from any of the list_emails_* tools. |
| fetch_email_attachmentA | Download a specific attachment from an email. Requires the email id and the attachment id (obtained from fetch_email_content). Returns {id, filename, contentType, size, contentBase64} where contentBase64 is the base64-encoded file content. |
| list_foldersA | List all folders in the email account. Returns an array of {path, name, delimiter} objects. Use the path value when specifying a folder in other tools. |
| create_folderA | Create a new folder. Use a path with the server's delimiter for subfolders (e.g. "INBOX/Receipts" or "Projects/2024"). Use list_folders first to discover the delimiter if unsure. |
| move_emailA | Move an email from one folder to another. Requires the email's id (from list_emails_* or fetch_email_content) and the destination folder to move it to. Returns {id, destination}. |
| create_draftA | Create a new email draft in the Drafts folder. Returns {id, subject, to, date} of the created draft. Optionally set in_reply_to with an email id to create a threaded reply draft (sets In-Reply-To and References headers automatically). |
| draft_replyA | Create a reply draft to an existing email. Automatically derives recipient, subject (Re: prefix), and threading headers from the original email. Set reply_all to true to include original recipients as CC. Returns {id, subject, to, date} of the created draft. |
| star_emailA | Add a star (flag) to an email. Requires the email's id (from list_emails_* or fetch_email_content). Returns {id, starred: true}. |
| unstar_emailA | Remove the star (flag) from an email. Requires the email's id (from list_emails_* or fetch_email_content). Returns {id, starred: false}. |
| list_starred_emailsA | List all starred (flagged) emails across all folders, grouped by folder. Returns an array of {id, subject, from, date} objects sorted newest-first. The id is a globally unique identifier — use it with fetch_email_content to read the full email. |
| update_draftA | Replace an existing draft with new content. The id must refer to an email in the Drafts folder — this tool cannot modify emails in other folders. Returns {id, subject, to, date} of the updated draft. |
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 19 tools
Most tools have distinct purposes, but the multiple list_emails_* tools (e.g., list_emails_24h, list_emails_7days) serve overlapping functions with only time filters differing, which could cause confusion in selection. However, descriptions clarify their specific scopes, and other tools like create_draft, move_email, and star_email are clearly differentiated.
All tool names follow a consistent verb_noun pattern with snake_case, such as create_draft, list_folders, and fetch_email_content. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
With 19 tools, the count is borderline high for an email management server, as many list_emails_* tools could be consolidated into a single tool with parameters. While it covers various use cases, the number feels heavy and may overwhelm agents, though it's not extreme.
The tool set provides comprehensive coverage for email operations, including CRUD for drafts, folder management, email listing with filters, attachment handling, and actions like starring and moving. Minor gaps include no direct send_email tool (relying on drafts) and limited search beyond sender/domain, but core workflows are well-supported.