email-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EMAIL_MCP_ACCOUNTS | No | Override path to accounts YAML file (default ~/.config/email-mcp/accounts.yml) | |
| EMAIL_MCP_PASSWORD | No | Password for local development (alternative to Keychain) | |
| EMAIL_MCP_CACHE_BYTES | No | Max cache size in bytes (default 32MiB) | |
| EMAIL_MCP_DOWNLOAD_DIR | No | Directory for downloading attachments (default ~/.local/state/email-mcp/attachments) | |
| EMAIL_MCP_CACHE_ENTRIES | No | Max number of cache entries (default 256) | |
| EMAIL_MCP_CACHE_BODY_MAX | No | Max body size per message in cache (default 64KiB) | |
| EMAIL_MCP_CACHE_RECENT_TTL | No | TTL for recent cache in seconds (default 180) | |
| EMAIL_MCP_PREFETCH_INTERVAL | No | Enable background prefetch with interval in seconds (e.g., 120) |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List accounts and which is the default. |
| set_default_accountB | Set the default account (used when |
| list_foldersB | List mail folders (folders the security policy blocks from reading are omitted). |
| get_emailsA | Fetch or search emails. Never marks mail read. Defaults to INBOX + Junk. Two modes, reported by
|
| send_emailA | Send an email. Idempotent: by default a second mail to the same recipients
within 10 minutes is BLOCKED, not resent. |
| download_attachmentA | Download a message's attachment(s) — read-only, never marks mail read.
Select one by |
| mark_emailA | Mark a message read or unread. Refused (folder_protected) for messages in a protected folder — Trash/Bin/Deleted * by default, plus security.protected_folders. |
| move_emailB | Move a message to another folder. Protected folders (Trash/Bin/Deleted * by default, plus security.protected_folders) are read-only: nothing can be moved into or out of them — i.e. with the default policy this server cannot delete mail. |
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 8 tools
Each tool targets a distinct operation (downloading attachments, fetching emails, listing accounts/folders, marking/moving/sending emails, setting default account). There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., download_attachment, get_emails, list_folders). No mixing of conventions.
With 8 tools, the server covers core email operations without being too sparse or overly heavy. Each tool serves a clear purpose.
Covers essential email operations (send, receive, list, mark, move, attachments) but lacks a direct delete capability; the move_email tool cannot move to protected folders like Trash, limiting deletion.