> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langmail.me/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server overview

> The Langmail MCP server at mcp.langmail.me — transport, authorization, result conventions, and the index of all 10 tools.

|               |                                                                                |
| ------------- | ------------------------------------------------------------------------------ |
| Endpoint      | `https://mcp.langmail.me/mcp`                                                  |
| Transport     | Streamable HTTP                                                                |
| Authorization | OAuth 2.1 bearer token — see [How authorization works](/connect/authorization) |
| Server name   | `langmail-mcp`                                                                 |
| Surface       | 10 tools; no MCP resources or prompts                                          |

The server is stateless: every request is authenticated independently, and all tools operate on the mailbox of the user who granted the token.

## Tools

### Email — read-only

| Tool                                            | Purpose                                                                              |
| ----------------------------------------------- | ------------------------------------------------------------------------------------ |
| [`search_emails`](/reference/mcp/search-emails) | Structured search — free text plus category, sender, date-range, and mailbox filters |
| [`get_email`](/reference/mcp/get-email)         | Fetch one message's recipients and full plain-text body                              |
| [`get_thread`](/reference/mcp/get-thread)       | List every message in a conversation, oldest-first                                   |

There are no tools that send, draft, move, or delete email.

### Calendar — read-write

| Tool                                                            | Purpose                                                  |
| --------------------------------------------------------------- | -------------------------------------------------------- |
| [`list_calendars`](/reference/mcp/list-calendars)               | List calendars with their CalDAV URLs                    |
| [`create_calendar`](/reference/mcp/create-calendar)             | Create a new calendar                                    |
| [`list_calendar_events`](/reference/mcp/list-calendar-events)   | List events, optionally within a time window             |
| [`create_calendar_event`](/reference/mcp/create-calendar-event) | Create an event or recurring series and send invitations |
| [`update_calendar_event`](/reference/mcp/update-calendar-event) | Replace an event in place and notify attendees           |
| [`delete_calendar_event`](/reference/mcp/delete-calendar-event) | Delete an event and send cancellations                   |
| [`respond_to_event`](/reference/mcp/respond-to-event)           | RSVP to an invitation — accept, decline, or tentative    |

## Result conventions

* Every tool returns a single plain-text content block, formatted for direct agent consumption — compact and stable, no JSON envelope to parse.
* List results are numbered and include the identifiers (`id`, `uid`, `calendarUrl`) that downstream tools take.
* Search and thread results omit message bodies by design; bodies come from `get_email` only.
* Failures return a text block with the MCP `isError` flag and a one-line reason, for example `Email not found: M123` or `Calendar not found: <url>`.

## Datetimes

* Email filters (`after`, `before`) take **UTC** ISO 8601 timestamps ending in `Z`.
* Calendar times (`start`, `end`, `until`) take ISO 8601 **with an offset**, so events keep their intended local time — `2026-07-14T10:00:00+02:00` or `2026-07-14T08:00:00Z`.
