himalaya-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HIMALAYA_BINARY | No | Path to the himalaya binary. | |
| HIMALAYA_FOLDER | No | Default folder (mailbox) to use. | |
| HIMALAYA_ACCOUNT | No | Default himalaya account to use. | |
| HIMALAYA_TIMEOUT | No | Timeout for himalaya commands (e.g., '10s'). |
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
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_emailsA | List emails in a folder. Returns envelope data: subject, from, date, flags. |
| search_emailsB | Search emails using himalaya filter syntax. Combine conditions with |
| read_emailA | Read an email message body (plain text). Use the ID from list_emails or search_emails. |
| read_email_htmlA | Read an email message body as HTML. Useful for formatted emails. |
| flag_emailA | Add or remove flags on an email. Flags: Seen, Flagged, Answered, Draft (and Deleted on himalaya v1 only; on v2 delete by moving to the trash with move_email). Use 'add' to set flags, 'remove' to clear them. |
| move_emailB | Move an email to a different folder. Common targets: Archive, Trash, Spam, Sent, Drafts. |
| export_to_markdownA | Export an email as formatted markdown with YAML frontmatter (date, from, to, subject, flags). Returns the markdown text — you can then save it to a file or clipboard. |
| create_action_itemA | Read an email and extract action items, todos, deadlines, and commitments. Returns structured action items that can be used to create tasks, reminders, or calendar events. |
| draft_replyA | Generate a reply draft for an email. Returns the reply template with headers and quoted original message. Does NOT send — use send_email to send after user reviews. |
| send_emailA | Send an email template. SAFETY: requires confirm=true to actually send. Without confirm, returns a preview. Always show the user the preview and get their approval before sending with confirm=true. |
| compose_emailA | Compose and send a new email (not a reply). SAFETY: requires confirm=true to actually send. Without confirm, returns a preview for user review. With save_draft=true, saves the message (attachments included) to the drafts mailbox instead of sending: no confirm needed, nothing is sent (requires himalaya v2). |
| list_foldersB | List all email folders/mailboxes for an account. Returns folder names. |
| create_folderA | Create a new email folder/mailbox. |
| delete_folderA | Delete an email folder/mailbox. SAFETY: requires confirm=true to actually delete. Without confirm, returns a preview warning. |
| list_attachmentsA | List attachments for an email message. Downloads all attachments to inspect them, then returns filename, MIME type (inferred from extension), and size for each. |
| download_attachmentC | Download an email attachment to a temporary directory. Downloads all attachments, then returns the path to the requested file. |
| extract_calendar_eventA | Extract calendar event details from an email's ICS attachment. Downloads all attachments, finds the .ics file, parses it, and returns event summary, dates, location, and organizer. |
| create_calendar_eventA | Create an event in Apple Calendar. SAFETY: requires confirm=true to actually create. Without confirm, returns a preview. macOS only. |
| list_threadsA | List email threads (conversations) in a folder. Groups related emails by subject line. Returns threads sorted by most recent activity, with participant list and message count. |
| read_threadA | Read all messages in a conversation thread. Given a thread_id (the ID of the first message), fetches all related messages and returns them in chronological order. Use list_threads first to get thread IDs. |
| health_checkA | Check himalaya-mcp installation health and per-account IMAP connectivity (folder + envelope surfaces). Use when an email tool fails to diagnose which accounts are reachable. |
| copy_to_clipboardA | Copy text to the system clipboard (pbcopy on macOS, xclip on Linux). Useful for copying email content, markdown exports, or any text. |
| get_unread_countA | Get the number of unread emails in a folder (or across all folders). Uses himalaya's server-side filter for fast counting even in large mailboxes. |
| read_email_rawA | Read the raw MIME source of an email. Returns the full, unedited message including all headers. Useful for debugging, email forensics, and exporting to .eml format. |
| render_emailB | Read an email body rendered as clean markdown. For HTML emails, converts to markdown for a clean reading experience. For plain text emails, returns the body as-is. |
| list_starredB | List all flagged/starred emails. Returns envelopes with flag, subject, sender, and date. Uses server-side filtering for fast results. |
| create_reminderA | Create a reminder in Apple Reminders (macOS only). Use for action items, follow-ups, and tasks extracted from email. |
| snooze_emailB | Snooze an email until a specified time. The email will reappear in your inbox check after the snooze period expires. |
| list_snoozed_emailsA | List all snoozed emails and their unsnooze times. Emails past their snooze time are returned as expired and can be revisited. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| triage_inbox | Classify recent emails as actionable, FYI, or skip. Suggests flags and folder moves. |
| summarize_email | Produce a one-sentence summary and list action items for a specific email. |
| daily_email_digest | Create a markdown digest of today's important emails, grouped by priority. |
| draft_reply | Compose a professional reply to an email. Reads the original, generates a draft, and presents for review before sending. |
| morning_briefing | Comprehensive morning email briefing with urgency classification, calendar events, and action items. |
| inbox_check | Quick inbox status check with unread count, highlights, and suggested next actions. |
| weekly_email_digest | Create a markdown digest of this week's important emails, grouped by priority and day. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| inbox | Current inbox email listing |
| folders | Available email folders |
TDQS
Scored across 29 tools
Most tools are clearly differentiated by resource and action, such as list_emails vs search_emails vs list_threads. However, the four email-reading variants (read_email, read_email_html, render_email, read_email_raw) and the draft/send/compose tools have some overlap that could cause misselection. Descriptions provide enough guidance to resolve most ambiguity.
Nearly all tools follow a predictable verb_noun pattern: list_emails, read_email, create_folder, delete_folder, send_email, move_email, etc. Minor deviations like export_to_markdown and health_check do not significantly disrupt readability. The convention is consistent enough for an agent to infer behavior.
The server exposes 29 tools, which exceeds the reasonable range for a focused email MCP surface. While many tools are useful, the count includes overlapping read variants, specialized extras, and unrelated utilities like clipboard and Apple Calendar/Reminders. This feels heavy and increases the chance of tool-selection confusion.
The surface covers the core email lifecycle well: search, read, flag, move, compose, send, folders, threads, attachments, and diagnostics. Minor gaps exist, such as explicit forward support and editing existing drafts, but agents can work around these. Overall the tool set is fairly complete for the stated himalaya email domain.