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) |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
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/leeguooooo/email-mcp-service'
If you have feedback or need assistance with the MCP directory API, please join our Discord server