Himalaya MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HIMALAYA_MODE | No | The operating mode of the server. 'readonly' (default) allows only reading operations. 'full' enables write operations like moving or flagging messages. 'dangerzone' enables sending emails. | readonly |
| APPROVED_RECIPIENTS | No | A comma-separated list of email addresses the AI is allowed to send to. This environment variable is required when HIMALAYA_MODE is set to 'dangerzone'. |
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 |
|---|---|
| account_listA | List all configured email accounts. Returns a list of accounts with their name, backend type, and default status. Args: account: Optional specific account name to query. |
| folder_listB | List all folders/mailboxes for an email account. Args: account: Account name. If omitted, uses the default account. |
| envelope_listA | List message envelopes (headers) in a folder. Returns sender, subject, date, and flags for each message without downloading full bodies. Args: folder: Folder name (e.g. "INBOX"). Defaults to INBOX. account: Account name. If omitted, uses the default account. page: Page number for pagination (starts at 1). page_size: Number of envelopes per page. query: Search/filter query string (himalaya query syntax). |
| envelope_threadA | Get thread view for a specific envelope. Shows the conversation thread structure for the given message. Args: envelope_id: The envelope/message ID. folder: Folder name. Defaults to INBOX. account: Account name. If omitted, uses the default account. |
| message_readB | Read a message by its envelope ID. Returns the plain text body of the message by default. Args: envelope_id: The envelope/message ID to read. folder: Folder name. Defaults to INBOX. account: Account name. If omitted, uses the default account. headers: If True, include message headers. raw: If True, return raw MIME content. |
| message_threadA | Read a full message thread by envelope ID. Returns all messages in the conversation thread. Args: envelope_id: The envelope/message ID. folder: Folder name. Defaults to INBOX. account: Account name. If omitted, uses the default account. |
| attachment_downloadC | Download all attachments from a message. Attachments are saved to the current working directory. Args: envelope_id: The envelope/message ID. folder: Folder name. Defaults to INBOX. account: Account name. If omitted, uses the default account. |
| template_writeA | Generate a new email template (MML format). Returns a blank email template that can be filled in and sent via template_send. MML (MIME Meta Language) is himalaya's format for composing emails. Args: account: Account name. If omitted, uses the default account. headers: Optional pre-filled headers (e.g. "To: user@example.com\nSubject: Hello"). |
| template_replyB | Generate a reply template for a message. Returns an MML template pre-filled with reply headers and quoted original message. Args: envelope_id: The envelope/message ID to reply to. folder: Folder name. Defaults to INBOX. account: Account name. If omitted, uses the default account. reply_all: If True, reply to all recipients. |
| template_forwardB | Generate a forward template for a message. Returns an MML template pre-filled with forwarded message content. Args: envelope_id: The envelope/message ID to forward. folder: Folder name. Defaults to INBOX. account: Account name. If omitted, uses the default account. |
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 10 tools
Most tools have distinct purposes, but there is some overlap between envelope_thread and message_thread that could cause confusion. Both tools involve retrieving message threads, though envelope_thread focuses on structure while message_thread returns full messages. Other tools like account_list, folder_list, and attachment_download are clearly distinct.
The naming follows a consistent pattern with underscores separating words (snake_case). However, there is a minor inconsistency: most tools use a verb_noun format (e.g., account_list, envelope_list), but template_forward, template_reply, and template_write use a noun_verb format, which slightly deviates from the overall convention.
With 10 tools, the count is well-suited for an email management server. It covers essential operations like listing accounts and folders, reading messages, handling attachments, and generating email templates, without being overwhelming or too sparse for the domain.
The tool set provides good coverage for email reading, organization, and template generation, but lacks explicit tools for sending emails (e.g., a send_message tool) or managing drafts beyond templates. While template_send is mentioned in a description, it's not included as a tool, creating a minor gap in the email lifecycle.