Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者提供的说明(英文原文)
Private, EU-hosted email for AI agents over JMAP: read, search, reply, draft, organize, send.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
LETTIO_USERNAME, LETTIO_PASSWORD, LETTIO_HOST标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.lettio.eu/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"lettio": {
"command": "npx",
"args": [
"-y",
"@lettio/mcp"
],
"env": {
"LETTIO_USERNAME": "your-value",
"LETTIO_PASSWORD": "your-value",
"LETTIO_HOST": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http lettio https://mcp.lettio.eu/mcpclaude mcp add lettio --env LETTIO_USERNAME=your-value --env LETTIO_PASSWORD=your-value --env LETTIO_HOST=your-value -- npx -y @lettio/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"lettio": {
"url": "https://mcp.lettio.eu/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"lettio": {
"command": "npx",
"args": [
"-y",
"@lettio/mcp"
],
"env": {
"LETTIO_USERNAME": "your-value",
"LETTIO_PASSWORD": "your-value",
"LETTIO_HOST": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"lettio": {
"type": "http",
"url": "https://mcp.lettio.eu/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"lettio": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@lettio/mcp"
],
"env": {
"LETTIO_USERNAME": "your-value",
"LETTIO_PASSWORD": "your-value",
"LETTIO_HOST": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.lettio.eu/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
LETTIO_HOST env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
服务器要求先登录,才会列出它的工具。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过域名 lettio.eu 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 341 毫秒内响应(HTTP 401)
声明支持 OAuth 登录,你的 AI 应用可以带你去登录
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:LETTIO_USERNAME, LETTIO_PASSWORD
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.5.0)于5天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Let your AI assistant read, search and send email from a private, EU-hosted mailbox.
Lettio MCP is a Model Context Protocol server that connects an AI agent (Claude, Cursor, and any other MCP client) to a Lettio mailbox over JMAP. Your assistant can triage your inbox, find a message, and send a reply.
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.
The hosted server at https://mcp.lettio.eu/mcp adds three tools that open interactive cards in clients that support MCP Apps, such as Claude:
show_emails: the inbox, a folder or search results as a list you can open, archive and flagshow_email: a whole conversation, with Reply, Reply all, Archive and Trashpreview_email: a drafted message you can edit, preview in your brand and sendSending from a card always needs your click, even when the connection doesn't allow the agent to send on its own. One connection can cover up to 10 mailboxes; searches run across all of them.
| Tool | What it does |
|---|---|
whoami | Show the connected mailbox and whether it may send. |
list_accounts | List configured mailboxes (local server). |
list_mailboxes | List folders with message and unread counts. |
list_recent_emails | Latest messages in a folder, with paging. |
search_emails | Free text plus filters: sender, recipient, subject, dates, attachments, unread, folder. |
read_email | One message as text, with its attachments listed. HTML mail is converted. |
get_thread | A whole conversation, oldest first. |
get_attachment | Open an attachment: text and PDF as text, images as images, others as binary. Locally it can also save to a file. |
send_email | Send formatted mail as the signed-in mailbox, with attachments. |
reply_email | Reply in-thread, optionally to everyone, with attachments. |
create_draft | Save a message to Drafts without sending. |
create_reply_draft | Save a threaded reply to Drafts without sending. |
send_draft | Send a draft that is already in Drafts. |
set_read_status | Mark messages read or unread. |
flag_email | Flag or unflag messages. |
label_email | Add or remove a label. |
move_email | Move to a folder, archive, or trash (reversible). |
create_folder | Create a mail folder. |
Messages are written in Markdown and rendered as a styled email: headings, tables, quotes (end with > — Name), callouts (> [!NOTE] Title), code blocks, numbered steps and buttons ([Label](https://url "button")). The mailbox signature is added automatically; set it with set_signature.
To match your brand, set LETTIO_BRANDS to JSON (or a path to a JSON file) keyed by domain:
{ "example.com": { "primary": "#231F47", "accent": "#D8093A", "font": "Lexend, Arial, sans-serif" } }
Formatted mail goes out as HTML with a plain-text version. Pass format: "plain" to send text as written. Bulk tools take up to 100 ids.
Attachments can be base64 content, a local path, or from_email_id with attachment_id to reuse a file from another message.
Add this to your claude_desktop_config.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.
Configured entirely through environment variables.
| 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). |
Set LETTIO_ACCOUNTS to a JSON array and omit the single‑account variables:
[
{ "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.
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.
npm install
npm run build LETTIO_USERNAME=you@yourcompany.eu LETTIO_PASSWORD=app-password npm start
MIT © Valmia Solutions s.r.o.