Private, EU-hosted email for AI agents — read, search, reply and send over MCP (JMAP).
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/lettio-eu/mcp{
"mcpServers": {
"mcp": {
"command": "node",
"args": ["/path/to/mcp/dist/index.js"],
"env": {
"LETTIO_USERNAME": "<lettio_username>",
"LETTIO_PASSWORD": "<lettio_password>"
}
}
}
}LETTIO_USERNAMELETTIO_PASSWORDMCP Servers overview
# Lettio MCP
**Let your AI assistant read, search and send email from a private, EU-hosted mailbox.**
Lettio MCP is a [Model Context Protocol](https://modelcontextprotocol.io) server that connects
an AI agent (Claude, Cursor, and any other MCP client) to a [Lettio](https://lettio.eu)
mailbox over [JMAP](https://jmap.io). Your assistant can triage your inbox, find a message,
and send a reply — without your email ever leaving Europe.
- 🇪🇺 **European by default** — talks to your own EU-hosted mailbox, no third‑party middleman.
- 🔒 **Safe sending** — the server can only ever send *as the mailbox it is signed in to*. It
cannot be tricked into sending from another address.
- 📬 **Everything an agent needs** — list, search, read and send, over the open JMAP standard.
- 👥 **One or many mailboxes** — configure a single account or several.
> Prefer nothing to install? Lettio also runs as a **hosted, OAuth‑secured** MCP server at
> `https://mcp.lettio.eu/mcp` — add that URL in your client and sign in. This npm package is the
> **local / self‑hosted** option for people who want to run it on their own machine.
## Tools
| Tool | What it does |
|------|--------------|
| `list_accounts` | List the mailboxes this server is configured for. |
| `list_mailboxes` | List folders in an account, with message and unread counts. |
| `list_recent_emails` | Most recent messages in a mailbox (defaults to the inbox). |
| `search_emails` | Free‑text search across sender, subject and body. |
| `read_email` | Full content of one message by id. |
| `send_email` | Send a plain‑text email **as the signed‑in mailbox**. |
| `reply_email` | Reply in‑thread (keeps the conversation), optionally reply‑all. |
| `set_read_status` | Mark a message read or unread. |
| `flag_email` | Flag (star) or unflag a message. |
| `move_email` | Move to a folder — `archive`, `trash` (reversible), or a folder name. |
## Requirements
- Node.js 18 or newer.
- A Lettio mailbox and an **app password** for it (use a dedicated app password, not your main login).
## Use with Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"lettio": {
"command": "npx",
"args": ["-y", "@lettio/mcp"],
"env": {
"LETTIO_USERNAME": "you@yourcompany.eu",
"LETTIO_PASSWORD": "your-app-password"
}
}
}
}
```
Restart Claude Desktop; the Lettio tools appear in the tools menu.
## Configuration
Configured entirely through environment variables.
### Single mailbox
| Variable | Required | Description |
|----------|----------|-------------|
| `LETTIO_USERNAME` | yes | Full email address, e.g. `you@yourcompany.eu`. |
| `LETTIO_PASSWORD` | yes | Mailbox **app password**. |
| `LETTIO_HOST` | no | Mail host. Defaults to `https://mail.lettio.eu`. |
| `LETTIO_ACCOUNT_NAME` | no | Friendly name for the account (default: the username). |
### Several mailboxes
Set `LETTIO_ACCOUNTS` to a JSON array and omit the single‑account variables:
```json
[
{ "name": "work", "username": "you@yourcompany.eu", "password": "app-password" },
{ "name": "sales", "username": "sales@yourcompany.eu", "password": "app-password" }
]
```
Then pass `account: "work"` to any tool to choose which mailbox to use.
## Security
Sending is deliberately constrained. Before it sends, the server asks the mail host for the
identities the signed‑in mailbox is allowed to use and requires one that matches the login
address. The `From` header **and** the SMTP envelope `MAIL FROM` are both pinned to that
address. There is no parameter for choosing a different sender, so an agent can never send
"from" a foreign or arbitrary mailbox. Credentials are read from the environment, kept only in
memory, and never logged.
## Run from source
```bash
npm install
npm run build
LETTIO_USERNAME=you@yourcompany.eu LETTIO_PASSWORD=app-password npm start
```
## License
[MIT](./LICENSE) © Valmia Solutions s.r.o.
What people ask about mcp
What is lettio-eu/mcp?
+
lettio-eu/mcp is mcp servers for the Claude AI ecosystem. Private, EU-hosted email for AI agents — read, search, reply and send over MCP (JMAP). It has 0 GitHub stars and its last recorded update is dated 2026-09-15.
How do I install mcp?
+
You can install mcp by cloning the repository (https://github.com/lettio-eu/mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is lettio-eu/mcp safe to use?
+
Our security agent has analyzed lettio-eu/mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains lettio-eu/mcp?
+
lettio-eu/mcp is maintained by lettio-eu. The last recorded GitHub activity is dated 2026-09-15, with 0 open issues.
Are there alternatives to mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/lettio-eu-mcp)<a href="https://claudewave.com/repo/lettio-eu-mcp"><img src="https://claudewave.com/api/badge/lettio-eu-mcp" alt="Featured on ClaudeWave: lettio-eu/mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ
The fastest path to AI-powered full stack observability, even for lean teams.