# developer-ai.txt for Mailbox MCP # Spec: https://www.ai-visibility.org.uk/specifications/developer-ai-txt/ v1.8.0 # Last-Updated: 2026-09-04 Lang: en-GB [overview] Mailbox MCP sells a remote Model Context Protocol server that connects an AI client to a mailbox the customer already owns. This file describes the MARKETING SITE at https://mailbox-mcp.com/, which is a separate thing from the product: a server-rendered PHP site of 22 public pages carrying product explanation, three set-up guides, pricing and legal documents. It has no user accounts, no forms, no database and no public API. The product itself, and the authenticated control panel at https://app.mailbox-mcp.com, are separate applications on separate infrastructure and are out of scope here. [public-api] status: not-available notes: This website exposes no API. The product is an MCP server, but it is hosted separately, it is authenticated with a bearer token issued in the control panel, and it is not reachable at this domain. Nothing on this host accepts a POST. [product-mcp-tools] notes: The tool surface of the PRODUCT, not of this website. These are served by the MCP server on its own host, authenticated with a bearer token, and are listed here because a developer or an agent reading this file is far more likely to want them than anything this marketing site does. Generated from the same source as the tool lists on /how-it-works/, /tools/ and /llms.txt, so all of them name the same tools. EVERY MAILBOX IS HANDED THIS LIST. - list_mailboxes - Lists every folder in the mailbox with the role the server reports for each. Roles come from the server's own LIST flags rather than from folder names, so it works on an account whose Sent folder is not called Sent. - list_emails - Lists the most recent messages in a folder, newest first. Summaries only, never message bodies. - read_email - Opens one message in full, with its body, recipients and attachments. Does not mark it read, and exposes the sender's Reply-To header where there is one, because that is where a reply will actually go. - read_thread - Reads a whole conversation in one call, oldest first, from any single message in it. Long threads are capped and the result says so rather than quietly returning the newest few. - search_emails - Searches up to 25 folders in one call, by sender, recipient, subject, body, date range, read state, flag state and attachment presence. Results are capped, and the response reports the total, the number returned and whether it capped. - find_contact - Resolves a person's email address from the mailbox's own history. An address you have sent to outranks one that merely arrived from somebody using that name, because a display name on inbound mail can say anything. - check_bounces - Finds messages that came back undelivered, in Inbox and Junk, and says whether each failure is permanent or temporary. Resending fixes one of those and duplicates the other. - check_deliverability - Checks the SPF, DKIM, DMARC and MX records of the connected mailbox's own domain. It says when a DMARC record is set to p=none and is therefore doing nothing, and it keeps a failed lookup apart from a missing record. - create_upload_link - Produces a one-off link for putting a file from your own computer into the mailbox, for when it is not already there and has no web address. No sign-in: an assistant that can run commands uploads to it directly, and one that cannot hands you the link to drop files on. The files land in your own Drafts as a draft you can open, keep or delete. - check_upload - Looks for what an upload link received, and hands the assistant a reference to each file so it can attach them. Says plainly when nothing has arrived yet, which usually means the upload is not finished rather than that anything failed. - check_receipts - Finds the confirmations that came back for messages you sent: a delivery confirmation, meaning the recipient's server accepted it, and a read receipt, meaning their mail program reported it was opened. It says in the result that a missing receipt is evidence of nothing, because most mail programs never send one and most people decline when asked. A receipt reporting that a message was deleted unopened is reported as exactly that. - create_folder - Creates a folder, applying the server's own hierarchy and naming rules, and subscribes it so mail clients that list only subscribed folders actually show it. - draft_email - Saves a message to the real Drafts folder without sending it, so it appears in Outlook or webmail to edit, send or delete. A real draft, not a record of one. - draft_reply - Saves a reply to Drafts instead of sending it, with the original quoted underneath and the hidden headers that attach it to the conversation. That second part is why it is a separate tool: a draft written as an ordinary message can carry a "Re:" subject and still arrive as a brand new conversation, and nobody notices until the thread does not group. This is the one to use when you want to read a reply over before it goes. The message it answers is not marked as replied to, because it has not been yet. - draft_forward - Saves a forward to Drafts instead of sending it, carrying the original message and its files exactly as a sent forward would. A forward is the message where reading it over first matters most, because the part you are passing on is not yours. It names the files travelling with it, and names any the size limit would not take, which is worth more here than on a send: you still have time to do something about a missing one. The original is not marked as forwarded, because it has not been. - mark_read - Marks up to 500 messages read in one call. This is the deliberate act; reading a message never does it. - mark_unread - Marks up to 500 messages unread again in one call. - flag_email - Sets the flag or star marker that Outlook and Gmail show, on up to 500 messages in one call. - unflag_email - Clears that flag or star marker, on up to 500 messages in one call. - move_email - Moves up to 500 messages to another folder in one call, using the IMAP MOVE command, so read state, flags and the original dates all survive the move. - delete_email - Moves up to 500 messages to Trash in one call, exactly as pressing Delete would. Recoverable: nothing on this surface erases mail permanently. - update_draft - Rewrites a draft that is already in the Drafts folder, so changing your mind about the wording replaces the draft rather than leaving the old version behind. IMAP cannot edit a message in place, so this saves the new version and removes the previous one, which is what your own mail client does when you edit a draft and save it. The alternative would put every abandoned version in your bin. The files already attached and the hidden headers that hold a reply in its conversation both survive the edit. It is grouped with the destructive tools because the version it replaces is gone rather than recoverable, and your assistant should ask before it runs. - rename_folder - Renames a folder and moves it under a different parent in one operation, the way a mail client's folder editor does. Sub-folders travel with it, and their subscriptions are carried across. - delete_folder - Deletes a folder, and refuses one that still holds messages or has sub-folders inside it. It unsubscribes as well as deleting, so no phantom folder is left behind. - list_identities - Lists the addresses this mailbox is allowed to send as, and says which one is used when none is named. Aliases are added by the mailbox owner in their account rather than through the connector, and each carries its own name and signature. It opens no connection and changes nothing. - send_email - Sends a new message from the connected address, or from any alias on the mailbox when one is named, with files attached if any are passed. Exactly one copy is filed in the real Sent folder. - reply_email - Replies inside the original thread, quotes the original below the new text, files a copy in Sent and marks the original answered. A Reply-To pointing somewhere the message did not come from is refused until the caller names that address. - forward_email - Forwards a message, carrying the original's attachments and inline images, under the forwarded-message block a real mail client produces. A carried file that will not fit the 10 MB message ceiling is reported as skipped by name. Recipients are exactly the addresses supplied. [product-mcp-calendar-tools] notes: A SECOND SURFACE, AND A SEPARATE CONNECTION. Connecting a mailbox does not connect a diary. THERE ARE THREE ROUTES TO ONE and these are registered where any of them has been taken: calendar access approved on a Microsoft 365 sign-in, a Google sign-in for a Google calendar on any mailbox, or the address of a CalDAV calendar server on any mailbox. A mailbox with none of them is handed none of these tools - not tools that refuse, no tools - so tools/list on such a mailbox returns the section above and nothing from this one. Do not add the two counts together and describe the sum as the product's tool surface: that total is true of one kind of connection. NOR IS THE CALENDAR COUNT FIXED, and each route settles it differently. Microsoft 365 answers for all of them. A CalDAV server answers for as many as it implements, measured when the calendar connects. Google answers for what the customer left ticked on its consent screen, and has no equivalent of the structured counter-proposal, the forwarded invitation, the out-of-office, the reminder snooze and dismiss, or named categories, so those are absent on that route rather than present and failing. Two customers on the same protocol can therefore be offered different lists and each is correct. - list_calendars - Lists every calendar the mailbox can see, including shared ones, and reports the mailbox's timezone and working hours. A calendar that can be read and not written to is marked as such, so nothing is offered that would then be refused. This is the call that makes every other time on this surface statable: without the timezone, "three o'clock" is a guess. - list_events - Lists what is in the diary between two dates, newest first within the window. A recurring meeting appears on every date it falls on, each one carrying the id of the series it belongs to. Each event says whether the mailbox owner organises it and how many people are invited, so a block of your own time is never mistaken for a meeting. A capped result says it capped. - read_event - Opens one event in full: everybody invited and how each of them answered, the recurrence written out in words rather than as a rule, the join link for an online meeting, the body, the categories and the reminder. It says whether you are holding one date of a series or the series itself, which is what decides what a later change would apply to. - search_events - Finds events between two dates by free text, matched against the subject, the location and the organiser. The window is required rather than optional: a diary has no end, so "when did I last meet Alice" means nothing without one, and the result repeats back the window it searched so the answer can be trusted or widened. - check_availability - Asks when a group of people are free, returning busy blocks rather than what is in their diaries. Somebody whose calendar cannot be read comes back as unknown and never as free: those are different answers, and treating the first as the second is how a meeting gets booked over somebody's afternoon. - find_meeting_times - Asks Microsoft for times a meeting would actually fit, ranked, honouring each attendee's working hours and each one's answer to whether they are needed. Where no time works it says which attendees are the reason, rather than returning nothing. - list_categories - Lists the categories this mailbox has defined, with the colour Outlook shows for each, so an event can be filed under the labels its owner already uses instead of new ones invented by an assistant. - read_out_of_office - Reads the out-of-office reply as it currently stands: whether it is on, the period it runs for if it is scheduled, and both messages - the one people inside your organisation get and the one everybody else gets. - create_event - Blocks time in your own calendar, optionally repeating daily, weekly or monthly, with a reminder, a category and a show-as state. Nobody is invited and no email is sent: this is the tool for your own time, and inviting people is a different tool that says so. - update_event - Changes an event you own - the time, the subject, the location, the reminder. Where the event is part of a series it requires you to say whether the change is to this occurrence or to the whole series, and will not guess, because guessing wrong rewrites a year of Mondays. - delete_event - Deletes an event nobody else was invited to. It refuses the moment anybody is on it and names the tool that cancels a meeting properly instead, so an invitation is never removed from your own diary while everybody else keeps holding the time. - schedule_meeting - Invites people to a meeting, optionally as an online meeting with a join link, marking each attendee required or optional. Real invitations go out from your address, so the result says who received one. Repeating the same request does not create a second meeting. - update_meeting - Changes a meeting other people are on, and tells them. Moving the time or adding an attendee sends the update Outlook would send, and the result names everybody it reached rather than reporting a bare success. - cancel_meeting - Cancels a meeting and emails everybody invited, with a message if you want one. This is the only correct way to remove a meeting other people hold, and it cannot be taken back once the cancellations are out. - respond_to_invitation - Accepts, tentatively accepts or declines an invitation, with an optional note to the organiser, and lets you choose whether the organiser is told at all - which is the difference between declining a meeting and declining it publicly. - propose_new_time - Declines an invitation and suggests a different time in the same action, which is the answer most people actually want to give. Where the organiser has turned proposals off, that is reported plainly instead of being attempted and failing. - forward_event - Forwards an invitation to somebody who was not on it, with a comment. The organiser is told, exactly as Outlook tells them, so nobody is quietly added to a meeting. - set_out_of_office - Turns on the out-of-office reply, either indefinitely or for a date range, with a different message for people outside your organisation. It is the same setting Outlook writes, so it appears in Outlook and turns itself off at the end of the period. - clear_out_of_office - Turns the out-of-office reply off, and says what it was set to before it was cleared. - snooze_reminder - Snoozes an event's reminder until a time you state, the way pressing Snooze in Outlook does. - dismiss_reminder - Dismisses an event's reminder so it does not fire again. [public-areas] - https://mailbox-mcp.com/ - Home - https://mailbox-mcp.com/how-it-works/ - How it works - https://mailbox-mcp.com/what-ai-can-do-with-your-email/ - What AI can do - https://mailbox-mcp.com/tools/ - The 28 tools - https://mailbox-mcp.com/ai-email-assistants/ - AI email assistants - https://mailbox-mcp.com/docs/ - Documentation - https://mailbox-mcp.com/works-with/ - Works with - https://mailbox-mcp.com/use-cases/ - Use cases - https://mailbox-mcp.com/docs/native-vs-mcp/ - Native connectors vs MCP - https://mailbox-mcp.com/best-email-mcp-servers/ - Email MCP servers compared - https://mailbox-mcp.com/connect/gmail/ - Connect Gmail - https://mailbox-mcp.com/connect/microsoft-365/ - Connect Microsoft 365 - https://mailbox-mcp.com/connect/imap/ - Connect any IMAP mailbox - https://mailbox-mcp.com/security/ - Security - https://mailbox-mcp.com/pricing/ - Pricing - https://mailbox-mcp.com/guides/ - Guides - https://mailbox-mcp.com/about/ - About - https://mailbox-mcp.com/reviewer-offer/ - Developer and reviewer offer - https://mailbox-mcp.com/editorial-standards/ - Editorial standards - https://mailbox-mcp.com/privacy/ - Privacy policy - https://mailbox-mcp.com/terms/ - Terms - https://mailbox-mcp.com/refunds/ - Refunds and cancellation - AI Discovery Files - /llms.txt, /llms.html, /ai.txt, /ai.json, /identity.json, /brand.txt, /faq-ai.txt, /robots-ai.txt, /developer-ai.txt (this file) - Sitemap at /sitemap.xml - /assets/ - static images, CSS, fonts, JavaScript [authentication] None on this host. The site has no user accounts and no authenticated areas. Sign-in links in the header point at the control panel on a different host. [technology-stack] - Server: PHP 8.x on Apache, behind a CDN edge cache - Frontend: HTML5, vanilla CSS, vanilla JavaScript. No framework, no bundler, no runtime dependencies - Build step: optional CSS and JS minification, producing .min siblings. Live cache-busting via a helper that appends ?v= to every asset URL - Content: rendered from PHP data arrays in includes/data/, so the visible content, the AI Discovery Files and the JSON-LD schema all read one source and cannot drift apart - Fonts: self-hosted WOFF2 subsets. No third-party font CDN, so no extra connection and no visitor IP handed to another party - Analytics: none. No tracking scripts, no cookie banner, no third-party JavaScript of any kind - Deployment: FTPS upload followed by a CDN cache purge [forms-and-input] None. There is no contact form, no newsletter sign-up, no comment system and no search box. The only visitor input anywhere in the product happens inside the control panel on the other host. Support is by email. [documentation] - [Site (canonical)](https://mailbox-mcp.com/) - [How it works](https://mailbox-mcp.com/how-it-works/) - [Works with - client compatibility](https://mailbox-mcp.com/works-with/) - [Security - how connections are made](https://mailbox-mcp.com/security/) - [llms.txt - LLM-readable site summary](https://mailbox-mcp.com/llms.txt) - [llms.html - human-readable rendering of llms.txt](https://mailbox-mcp.com/llms.html) - [ai.json - permissions and citation guidance](https://mailbox-mcp.com/ai.json) - [identity.json - canonical identity data](https://mailbox-mcp.com/identity.json) - [faq-ai.txt - consolidated FAQ corpus](https://mailbox-mcp.com/faq-ai.txt) - [sitemap.xml - canonical URL index](https://mailbox-mcp.com/sitemap.xml) - [Editorial standards](https://mailbox-mcp.com/editorial-standards/) [technical-contact] - Email: support@mailbox-mcp.com - There is no telephone number and no contact form. Support is by email, by design. Do not infer a number. - Publisher: BSolve IT Limited, registered in England and Wales, company 04607330 [metadata] version: 1.8.0 last_updated: 2026-09-04 generator: developer-ai-txt.php, rendered server-side from includes/data/