readNdraft IMAP MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 safe account aliases. Call this before using an unknown alias. |
| list_mailboxesA | List exact mailbox names for 1-10 accounts with isolated failures. |
| search_emailsC | Search 1-500 metadata rows in stable mailbox order with optional paging. |
| get_emailC | Read safe headers/plain text using one complete returned identity. |
| get_emailsB | Read plain text for 1-10 exact identities with ordered partial results. |
| get_email_htmlA | Read strictly filtered HTML without remote loading; empty paragraphs are preserved. |
| list_attachment_inputsA | List safe files available in readNdraft's fixed attachment input directory. |
| save_attachmentC | Save one attachment; saved_path is its absolute native-platform location. |
| create_draftB | Save a draft; authored HTML permits normal mail layout CSS but rejects remote resources, hidden content, and message-box escapes. Empty paragraphs are preserved. No send capability. |
| update_draftB | Replace a draft; authored HTML permits normal mail layout CSS but rejects remote resources, hidden content, and message-box escapes. Empty paragraphs are preserved. No send capability. |
| set_starC | Set one starred state idempotently. |
| set_read_stateC | Set one read state idempotently. |
| set_read_state_batchA | Set one read state for 1-50 identities. |
| set_star_batchB | Set one starred state for 1-50 identities. |
| move_emailA | Move one ordinary message to an existing ordinary mailbox. |
| move_emails_batchA | Move 1-50 ordinary messages from one account to one mailbox. |
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 16 tools
Most tools target distinct operations, and single vs. batch pairs are clearly separated by the '_batch' suffix and cardinality ranges. Minor potential confusion between get_email (plain text/headers) and get_email_html (HTML) since both read the same message in different representations.
Consistent snake_case with a predictable verb_noun pattern (list_, get_, create_, set_, move_, search_, save_). Batch variants consistently append '_batch'. The only minor irregularity is 'get_email_html' using a content-type suffix, but the convention remains clear.
16 tools is slightly above the ideal 3-15 range but each has a clear role; batch variants support scale without redundancy. Not excessive for an IMAP client covering read, draft, flag, and move operations.
Core read/search, draft lifecycle (create/update), flag setting, move, and attachment save are present. However, no delete/expunge for messages or drafts, and no mailbox creation—notable gaps for a full IMAP surface.