emperor-mail
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RUST_LOG | No | Log level; logs go to stderr. | info |
| IMAP_HOST | No | IMAP server host. | |
| IMAP_PORT | No | IMAP port (default 993). | |
| MAIL_FROM | No | From address for draft and send. | |
| MAIL_USER | No | Mailbox login (usually the address). | |
| SMTP_HOST | No | SMTP server host. | |
| SMTP_PORT | No | SMTP port (default 465). | |
| IMAP_SECURITY | No | tls, starttls or plain. | |
| MAIL_PASSWORD | No | Password or app password; or use MAIL_OAUTH_TOKEN. | |
| MAIL_WRITABLE | No | List the draft tool. true, 1, yes or on turns it on; unset or false leaves it off. | false |
| SMTP_SECURITY | No | tls, starttls or plain. | |
| MAIL_ALLOW_SEND | No | List the send tool (implies writable). true, 1, yes or on turns it on; unset or false leaves it off. | false |
| MAIL_FROM_ALLOW | No | From addresses send and draft may use: addresses or @domains. | |
| MAIL_SEND_ALLOW | No | Recipients send may write to: addresses or @domains, comma-separated. | |
| MAIL_OAUTH_TOKEN | No | OAuth2 access token (Gmail, Microsoft 365) instead of a password. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| draftA | Save a message in the Drafts folder for a person to review and send. Always allowed. With in_reply_to (a uid) it threads as a reply and defaults to the original sender. |
| list_foldersA | List mail folders with their special use (drafts, sent, trash, ...) and message and unread counts. |
| read_attachmentA | Read the text of one attachment of a message (text, HTML, PDF, DOCX, XLSX/XLS/ODS; other types return metadata only). Index comes from read_message. |
| read_messageC | Read one message: headers, plain-text body (HTML converted) and the attachment list (index, name, type, size). Leaves the message unread unless mark_read is true. |
| searchA | Search a folder (default INBOX) by from, to, subject, text, date range (since/before, YYYY-MM-DD) and unread state. Returns uid, date, from, subject, size and has_attachments, newest first. |
| sendA | Send a message over SMTP and copy it to the Sent folder. Only works when the server allows sending, and only to allowed recipients; otherwise use draft. |
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 6 tools
Each tool targets a clearly distinct operation: folder listing, searching, reading a message, reading an attachment, drafting, and sending. The draft vs send boundary is explicitly explained in the descriptions, and read_attachment is unambiguously tied to read_message output.
All names begin with a verb and are lowercase snake_case, giving a predictable verb-first convention (list_folders, read_message, read_attachment). Minor inconsistency: draft, search, and send omit the noun object, though the context makes them clear.
Six tools is well-scoped for an email server covering the essential read/search/draft/send lifecycle. Each tool earns its place with no redundant operations.
Core workflows are covered (list folders, search, read message/attachment, draft, send), and mark_read is handled via a parameter. However, notable lifecycle operations are missing: no delete, move/archive to another folder, flag, or mark-unread-after-reading, which are common email agent tasks.