ox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OX_MCP_MAIL_USER | No | Mailbox login (email address). | |
| OX_MCP_CALDAV_USER | No | CalDAV login. | |
| OX_MCP_MAIL_SERVER | No | Mail host. For the default ox-api transport this is the OX webmail host (e.g. webmail.example.com). | |
| OX_MCP_CARDDAV_USER | No | CardDAV login. | |
| OX_MCP_CALDAV_SERVER | No | CalDAV host (e.g. dav.example.com). | |
| OX_MCP_CARDDAV_SERVER | No | CardDAV host. | |
| OX_MCP_MAIL_TRANSPORT | No | ox-api (OX HTTP API) or imap (direct IMAP/SMTP). | ox-api |
| OX_MCP_TIMEOUT_SECONDS | No | Optional request timeout in seconds (default 300). | |
| OX_MCP_ENABLE_EMAIL_SEND | No | Enable the write tool email_send (writes are off by default). Similar OX_MCP_ENABLE_* flags exist per tool. | |
| OX_MCP_MAIL_APP_PASSWORD | No | Mail app password. | |
| OX_MCP_CALDAV_APP_PASSWORD | No | CalDAV app password (may be protocol-scoped). | |
| OX_MCP_CARDDAV_APP_PASSWORD | No | CardDAV app 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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_servers | List configured accounts/servers and their mail/calDav/cardDav sections (hosts, users, auth types). Never returns secrets. |
| email_list_folders | List IMAP mailboxes/folders for an account. |
| email_list | List the most recent emails in a folder (newest first). |
| email_read | Read a single email (headers + body) by UID. |
| email_search | Search emails by from/to/subject/body/text, date range, and flags. Searches ALL folders unless a folder is given. Note: on the ox-api transport, |
| email_filter_listA | List server-side mail filters managed by ox-mcp (sieve). |
| email_sendC | Send an email via SMTP. |
| email_save_draftA | Compose a message and save it to the Drafts folder (does not send). |
| email_replyB | Reply to the sender of an email, threading preserved. |
| email_reply_allA | Reply to all recipients of an email (sender + To/Cc, excluding yourself), threading preserved. |
| email_deleteA | Delete an email by UID (moves to Trash or expunges per server policy). |
| email_moveA | Move an email by UID to another folder. |
| email_flagC | Flag or unflag (star/unstar) an email. |
| email_mark_readC | Mark an email as read (sets the \Seen flag). |
| email_mark_unreadC | Mark an email as unread (clears the \Seen flag). |
| email_mark_spamA | Move an email to the account's spam/junk folder (special-use aware). |
| email_archiveB | Move an email to the account's archive folder (special-use aware). |
| email_create_folderA | Create a new IMAP folder. Use the delimiter of the account (usually "/") for nesting, e.g. "Projects/Acme". |
| email_delete_folderA | Delete an IMAP folder. The folder and its messages are removed — this cannot be undone. |
| email_filter_createA | Create a server-side mail filter (sieve). Note: ox-mcp manages its own sieve script and activates it. |
| email_filter_updateA | Replace an existing ox-mcp mail filter by id (see email_filter_list). |
| calendar_listA | List CalDAV calendars (own and any shared with the account). |
| calendar_list_eventsB | List events in a calendar within a time range. |
| calendar_free_busyA | Query attendees' availability (busy/free windows only) via the CalDAV scheduling outbox. No calendar sharing required. |
| calendar_create_eventC | Create a calendar event (VEVENT) in a calendar. |
| calendar_update_eventB | Replace an existing calendar event by its object URL. |
| calendar_delete_eventB | Delete a calendar event by its object URL. |
| calendar_accept_eventA | Accept a calendar event invitation as this account (sets your PARTSTAT to ACCEPTED; the server notifies the organizer). |
| calendar_decline_eventA | Decline a calendar event invitation as this account (sets your PARTSTAT to DECLINED; the server notifies the organizer). |
| calendar_tentative_eventA | Tentatively accept a calendar event invitation as this account (sets your PARTSTAT to TENTATIVE; the server notifies the organizer). |
| contact_listA | List all CardDAV contacts. Reads all address books unless one is given. To search, use contact_find instead. |
| contact_findA | Search CardDAV contacts by a case-insensitive substring (server-side where supported). Useful for resolving a name to an email address, e.g. before calendar_free_busy. |
| contact_createB | Create a CardDAV contact (vCard) in an address book. |
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 28 tools
Each tool targets a distinct action: calendar tools cover event CRUD and invitation responses, contacts cover create/find/list, and email tools cover folder and message operations with no overlap.
All tools follow a consistent `domain_verb_noun` pattern using underscores (e.g., calendar_accept_event, email_mark_read), with no deviations or mixed conventions.
28 tools is slightly high but justified by the three domains (calendar, contacts, email) and the breadth of email operations. No redundant tools exist.
Notable gaps: contacts lack update/delete, email lacks a tool to fetch or read an email's content and no folder listing. These omissions hinder common workflows.