MCP Email Service
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FEISHU_WEBHOOK | No | Feishu/Lark webhook URL for notifications | |
| OPENAI_API_KEY | No | OpenAI API key for AI filtering (optional) |
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": true
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_emailsA | List emails from inbox (supports multi-account). UIDs are scoped to each account—pass account_id for deterministic follow-up actions. Performs live IMAP fetch; failures usually indicate network or credential issues. |
| get_email_detailA | Get detailed content of a specific email including body and attachments. Requires IMAP connectivity to download the latest message content. |
| mark_emailsA | Mark one or more emails as read or unread. Pass account_id when operating within a single account, or provide email_accounts mapping for mixed-account batches. |
| mark_email_readA | Mark a single email as read (account_id optional but recommended to avoid cross-account lookup). |
| mark_email_unreadB | Mark a single email as unread (account_id optional but recommended). |
| batch_mark_readC | Mark multiple emails as read |
| delete_emailsA | Delete one or more emails (move to trash or permanently delete). Provide account_id or email_accounts mapping so each UID can be routed to the right mailbox. |
| delete_emailA | Delete a single email (move to trash or permanently delete). account_id optional but recommended. |
| batch_delete_emailsC | Delete multiple emails (move to trash or permanently delete) |
| search_emailsB | Search emails with various criteria across all accounts or specific account. Returned UIDs must be used with the same account; specify account_id for precise targeting. |
| send_emailB | Send a new email with optional attachments via SMTP. Ensure the account has SMTP server configuration and valid credentials. |
| reply_emailA | Reply to an email (preserves thread). Requires SMTP access for the originating account. |
| forward_emailC | Forward an email to other recipients using SMTP credentials of the selected account. |
| list_foldersB | List all email folders/labels in the account (IMAP). Provide account_id to target a specific mailbox. |
| move_emails_to_folderB | Move emails to a different folder. Requires IMAP access; pass account_id (or use per-email mapping in mark/delete first) so UIDs match the correct account. |
| flag_emailA | Flag/star or unflag an email. Runs against the live mailbox—account_id recommended to avoid cross-account lookups. |
| get_email_attachmentsA | Extract attachments from an email by downloading them over IMAP. Requires a reachable mailbox and may incur network latency. |
| analyze_contactsA | Analyze contact frequency and communication patterns using the local sync database. Works only after emails have been synchronized to the cache. |
| get_contact_timelineA | Get communication timeline with a specific contact from the local sync cache (no live IMAP). |
| list_unread_foldersA | List folders with unread counts per configured account. Requires live IMAP connectivity; returns empty list when the mailbox cannot be reached. |
| get_email_headersA | Fetch only email headers (From, To, Subject, Date, Message-ID, etc.) without downloading the body. account_id recommended so the UID lookup hits the right mailbox. |
| get_recent_activityB | Return recent sync activity/health per account based on local cache data. |
| check_connectionB | Test email server connections (IMAP and SMTP) for all configured accounts using stored credentials. |
| list_accountsB | List all configured email accounts |
| get_versionB | Get MCP Email Service version and git commit |
| sync_emailsB | Unified email synchronization tool: start/stop scheduler, force sync, get status, search cache, manage config (action: start|stop|force|status|search|recent|config). Operates on the local sync service and databases. |
| get_sync_healthA | Get sync health status for all accounts or a specific account based on cached sync metrics (no live IMAP). |
| get_sync_historyB | Get synchronization history for all accounts or a specific account within specified hours from the local sync logs. |
| get_connection_pool_statsA | Get IMAP connection pool statistics from the local sync service, including connection reuse rate and active connections (no remote calls). |
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 29 tools
The tool set has clear functional distinctions for core email operations like sending, replying, and listing, but there is significant overlap in batch operations (e.g., delete_email, delete_emails, batch_delete_emails) and read/unread marking tools (mark_email_read, mark_email_unread, mark_emails, batch_mark_read), which could cause confusion. Descriptions help clarify some differences, but the boundaries are not always sharp.
Most tools follow a consistent verb_noun naming pattern (e.g., list_emails, send_email, search_emails), with clear and descriptive names. There are minor deviations like get_version and check_connection, which use 'get' and 'check' instead of more specific verbs, but overall the naming is predictable and readable across the set.
With 29 tools, the count feels excessive for an email service, leading to redundancy and potential confusion. While email management can involve many operations, the set includes multiple tools for similar actions (e.g., three deletion tools), suggesting it could be streamlined without losing functionality, making it borderline heavy for the domain.
The tool set provides comprehensive coverage for email management, including CRUD operations (send, list, delete), synchronization (sync_emails), folder management (list_folders, move_emails_to_folder), contact analysis (analyze_contacts, get_contact_timeline), and health monitoring (get_sync_health, check_connection). There are no obvious gaps, and agents can handle full email workflows effectively.