Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Beschreibung vom Entwickler (englisches Original)
Self-hosted email for AI agents: own IMAP/SMTP mailbox per key, allow lists, calendar invites.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"agent-mail-gateway": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/dominikamann/agent-mail-gateway:0.5.0"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add agent-mail-gateway -- docker run -i --rm ghcr.io/dominikamann/agent-mail-gateway:0.5.0In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"agent-mail-gateway": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/dominikamann/agent-mail-gateway:0.5.0"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"agent-mail-gateway": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/dominikamann/agent-mail-gateway:0.5.0"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto dominikamann bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.5.0) kam vor 20 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Docker auf deinem Computer.
In derselben Kategorie: Vexa, emailmd, MCP WhatsApp Cloud
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Give every AI agent its own email address — without giving it the keys to the mailbox.
Agent Mail Gateway is a small self-hosted service (one Docker container) that sits between your AI agents and ordinary mailboxes on your existing mail server. Each agent gets one API key for exactly one mailbox. Through the gateway it can read and answer mail, send attachments and manage calendar invitations — but only with the people you allow, and every outgoing message is checked before it leaves.
Agents talk to it over MCP (Model Context Protocol) or a plain REST API. Mail arrives as Markdown instead of HTML, which saves a lot of tokens.
Giving an agent the IMAP/SMTP password of a mailbox means it can read everything, write to anyone, and a single prompt injection in an incoming email can make it leak data or spam people. The gateway keeps the password to itself and enforces your rules on every request:
| Without the gateway | With the gateway |
|---|---|
| Agent knows the mailbox password | Agent only has an API key for its mailbox |
| Reads every mail, incl. spam and phishing | Sees only mail from senders you allow |
| Can write to anyone | Can only write to recipients you allow |
| Sloppy or wrong mails go out | Every mail is checked before sending (rules, optional LLM, your policies) |
| Malware and prompt injections reach the agent | Attachments and content are checked on arrival: hidden or flagged |
| HTML mails cost thousands of tokens | Mail arrives as compact Markdown |
Mailbox access
get_attachment with format: "text"): PDF text layer built in, images via a vision model or local OCR (Tesseract).Re:/Fwd: and threading.Calendar
Control and safety
name@domain or *@domain). Everything else is invisible to the agent and moved to Trash (or kept).Review before sending (details below)
Integration
/docs. Agent ──MCP / REST + API key──▶ ┌────────────────────────────────────────┐
│ Auth key → exactly one mailbox │ Agent ◀──signed webhook──────── │ Policy who may write / be written │ │ Review rules · LLM · your policies │ │ Inbound file types · virus · inject.│ │ Converter HTML ⇄ Markdown │ │ Calendar invitations and replies │ │ Mailbox IMAP + instant new-mail push│──IMAP──▶ your mail server │ Sender SMTP + copy to "Sent" │──SMTP──▶ └────────────────────────────────────────┘ config.yaml + .env (read-only)
Mail stays on your mail server; the gateway only keeps a small SQLite file with its own state.
Use a dedicated mailbox for each agent (for example
assistant@yourmailserver.eu), not your
personal one: by default, mail from senders that are not on the allow list is moved to Trash.
mkdir agent-mail-gateway && cd agent-mail-gateway
curl -LO https://raw.githubusercontent.com/dominikamann/agent-mail-gateway/main/docker-compose.yml curl -L -o config.yaml https://raw.githubusercontent.com/dominikamann/agent-mail-gateway/main/config.example.yaml curl -L -o .env https://raw.githubusercontent.com/dominikamann/agent-mail-gateway/main/.env.example
2. Edit `config.yaml`: one entry per agent with its mail server, login and allow lists.
.env (openssl rand -hex 32 makes a good API key). docker compose up -d
curl http://localhost:8080/health # {"status":"ok"}; with a key also that mailbox's state curl -H "Authorization: Bearer " http://localhost:8080/v1/mailbox
A minimal mailbox entry:
mailboxes:
Every option is explained in docs/configuration.md.
Agents are sometimes sloppy — an email with only an attachment, "please find attached" without a file, Hello {name}. The gateway checks every outgoing email and invitation before it is sent. If something is wrong, nothing is sent and the agent gets a clear error with the reasons (review_rejected), so it can fix the message and try again. Rejected attempts don't count towards the send limit.
There are three layers; you choose per mailbox:
| Layer | Default | What it does |
|---|---|---|
| Rules | on (block) | Fixed checks without AI: empty text, only an attachment, missing subject, attachment mentioned but missing, leftover placeholders, the same mail twice within 10 minutes, invitations in the past. |
| LLM review | off | Asks a language model whether the message is complete and makes sense (e.g. does the reply actually answer the question?). |
| Policies | off | Your own rules in plain language, checked by the language model — for all recipients or only for specific ones. |
Rules and the LLM review can block the message, only warn (send anyway and report it), or be switched off; each policy rule either blocks or warns. The check covers new mails, replies, forwards, invitations and their changes, and comments in invitation answers.
review:
rules: block # block | warn | off llm: # any OpenAI-compatible endpoint, e.g. a local Ollama url: http://ollama:11434/v1 model: llama3.1:8b mode: warn # quality check: warn | block | off policies: mode: block # what a violation does: block | warn rules:
Policies also read attachments: text files, PDFs, and images when attachments.read_images is set. A rule with recipients applies only when one of those people receives the message (To, Cc, Bcc or invitation attendee). With Ollama the review runs entirely on your own machine; no mail content leaves your server. Long messages are checked in parts — nothing is cut off; part size and limits are configurable to fit your model's context window. The built-in review prompt can be replaced or extended — see docs/configuration.md.
Allow lists decide *who* can reach your agent; these checks look at *what* arrives. For each check you choose what a finding does: hide the message (like a sender that is not allowed), flag it (the agent sees it with a warning and cannot download dangerous files), or off. With skip_senders a check is skipped for trusted senders — so you can still send your agent instructions by mail.
| Check | Default | What it does |
|---|---|---|
dangerous_attachment | flag | Programs and scripts (by name and content), Office files with macros, disguised files (invoice.pdf that is not a PDF), ZIPs with programs, password-protected archives. Applies to outgoing files too. |
virus | hide | Scans every attachment with ClamAV (optional container); also outgoing. |
prompt_injection | flag | The model from review.llm checks text, PDFs and images for instructions aimed at an AI. |
scan_failed | flag | A check could not run (scanner or model unreachable). |
attachments:
clamav: { host: clamav, port: 3310 } # optional, see docker-compose.yml read_images: { engine: ocr, languages: [eng, deu] } # or a vision model inbound_checks: prompt_injection: action: flag skip_senders: [you@yourmailserver.eu] # your own instructions are not flagged dangero
Nur der Anfang wird gezeigt; den Rest findest du im Repo