Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Beschreibung vom Entwickler (englisches Original)
Send transactional email and manage domains, templates and webhooks in UniOne from AI agents.
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.
AuthorizationAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
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.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Führe das in deinem Terminal aus
claude mcp add --transport http unione https://mcp.unione.io/mcp --header 'Authorization: your-value'Trag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"unione": {
"url": "https://mcp.unione.io/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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": {
"unione": {
"type": "http",
"url": "https://mcp.unione.io/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Authorization geheim HTTP headerDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Der Server verlangt eine Anmeldung, bevor er seine Tools auflistet.
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 7. Nov. 2026
Der Registry-Name wurde über die Domain unione.io bestätigt (die Registry prüft, wem die Domain gehört)
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 537 ms (HTTP 401)
Gibt OAuth-Anmeldung an, damit deine KI-App dich zum Einloggen weiterleiten kann
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 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.
Das musst du eintragen: Authorization
Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.0.2) kam gestern in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Vexa, emailmd, MCP WhatsApp Cloud
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ 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.
The official Model Context Protocol server for UniOne (https://docs.unione.io). It lets AI assistants — Claude, ChatGPT, Cursor, Windsurf, VS Code, Cline and any other MCP client — work with your UniOne account: send email, manage sender domains, templates, webhooks, suppressions, event dumps, tags and projects. 32 tools, each one a call of the public UniOne Web API.
Two ways to use it:
https://mcp.unione.io/mcp. Nothing to install: add the URL to your client and sign in to UniOne through OAuth.UNIONE_API_KEY.URL: `https://mcp.unione.io/mcp`
The client opens the UniOne sign-in page on first use; you approve the access and the client keeps the token. Revoke it at any time in your UniOne account.
Claude Code
claude mcp add --transport http unione https://mcp.unione.io/mcp
Claude Desktop / claude.ai — Settings → Connectors → Add custom connector, URL https://mcp.unione.io/mcp.
Cursor, Windsurf, Cline, VS Code and other clients with an mcpServers config:
{
"mcpServers": { "unione": { "type": "http", "url": "https://mcp.unione.io/mcp" } } }
A client that cannot do OAuth can send an API key instead: add the header Authorization: Bearer .
Get an API key in your UniOne account: an account key reaches the whole account, a project key only its project. The server reads it from UNIONE_API_KEY.
npx (Node.js 18+; downloads the binary for your platform on first run):
{
"mcpServers": { "unione": { "command": "npx", "args": ["-y", "unione-mcp"], "env": { "UNIONE_API_KEY": " " } } } }
Docker:
{
"mcpServers": { "unione": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "UNIONE_API_KEY", "ghcr.io/unione-repo/unione-mcp", "stdio"], "env": { "UNIONE_API_KEY": " " } } } }
Binary — download unione-mcp- - from Releases, make it executable and put it on your PATH (or go install github.com/unione-repo/unione-mcp/cmd/unione-mcp@latest):
{
"mcpServers": { "unione": { "command": "unione-mcp", "args": ["stdio"], "env": { "UNIONE_API_KEY": " " } } } }
Claude Code, in one line:
claude mcp add unione --env UNIONE_API_KEY=<your API key> -- npx -y unione-mcp
Check the connection by asking *"show my UniOne account"*: the assistant calls get_account.
Every tool has a class, sent to the client as MCP annotations:
readOnlyHint);destructiveHint: false);destructiveHint: true). Clients ask you before such a call.| Area | Tool | What it does | Class |
|---|---|---|---|
| Account | get_account | Get UniOne account | read |
| Domains | list_domains | List sender domains | read |
| Domains | get_dns_records | Add domain / get its DNS records | write |
| Domains | validate_domain | Check domain DNS records | read |
| Domains | delete_domain | Delete sender domain | dangerous |
| Domains | get_sandbox_domain | Get sandbox domain | write |
| Confirmed emails | list_confirmed_emails | List confirmed emails | read |
| Confirmed emails | add_confirmed_email | Add confirmed email | write |
| Confirmed emails | delete_confirmed_email | Delete confirmed email | dangerous |
| Sending | send_email | Send email (billed) | dangerous |
| Templates | list_templates | List templates | read |
| Templates | get_template | Get template | read |
| Templates | set_template | Create or overwrite template | dangerous |
| Templates | delete_template | Delete template | dangerous |
| Webhooks | list_webhooks | List webhooks | read |
| Webhooks | get_webhook | Get webhook | read |
| Webhooks | set_webhook | Create or overwrite webhook | dangerous |
| Webhooks | delete_webhook | Delete webhook | dangerous |
| Suppressions | get_suppression | Get suppression of an address | read |
| Suppressions | list_suppressions | List suppressions | read |
| Suppressions | set_suppression | Block an address | dangerous |
| Suppressions | delete_suppression | Unblock an address | dangerous |
| Validation | validate_email | Validate an email address (billed) | write |
| Event dumps | request_event_dump | Request event dump | write |
| Event dumps | get_event_dump | Get event dump | read |
| Event dumps | delete_event_dump | Delete event dump | dangerous |
| Tags | list_tags | List tags | read |
| Tags | delete_tag | Delete tag | dangerous |
| Projects | list_projects | List projects | read |
| Projects | create_project | Create project | write |
| Projects | update_project | Update project | dangerous |
| Projects | delete_project | Delete project | dangerous |
send_email sends real mail and cannot be recalled. validate_email is billed per address. The tools that reach beyond your account — send_email and add_confirmed_email mail an address, set_webhook points UniOne at a URL, validate_email probes a mailbox — say so with openWorldHint: true.
Two switches narrow the tool list of a local server:
| Variable | Effect |
|---|---|
MCP_READ_ONLY=1 | only the read tools are listed: the assistant cannot change the account |
MCP_DISABLE_SEND=1 | send_email is not listed: the assistant cannot send mail |
"env": { "UNIONE_API_KEY": "<your API key>", "MCP_READ_ONLY": "1" }
With Docker, env reaches only the docker process: pass the switch into the container with its own -e, before the image name.
"args": ["run", "-i", "--rm", "-e", "UNIONE_API_KEY", "-e", "MCP_READ_ONLY", "ghcr.io/unione-repo/unione-mcp", "stdio"],
"env": { "UNIONE_API_KEY": " ", "MCP_READ_ONLY": "1" }
They guard against mistakes of the model, not against the key's owner: the same key works in the Web API directly. For a hard limit use a project API key.
Everything is an environment variable; a .env file in the working directory is read too. .env.example lists them all. Every value is validated at start-up.
| Variable | Purpose |
|---|---|
UNIONE_API_KEY | local mode: the API key every tool acts with |
UNIONE_API_URL | Web API base, default https://api.unione.io/en/transactional/api/v1 |
MCP_TRANSPORT | http (default) or stdio; unione-mcp stdio sets it too |
MCP_READ_ONLY, MCP_DISABLE_SEND | see above |
AUTH_MODE | self-hosted http mode: api_key (default) or oauth |
AUTHORIZATION_SERVER_URL, OAUTH_SCOPES, OAUTH_TOKEN_PREFIX, MCP_PUBLIC_URL | self-hosted oauth mode. OAUTH_TOKEN_PREFIX defaults to uoat_. |
LISTEN_HOST, PORT | self-hosted http mode listener (default: every interface, first free port from 3000) |
UPSTREAM_TIMEOUT, UPSTREAM_MAX_BODY_BYTES, MCP_MAX_REQUEST_BYTES | Web API call limits and the /mcp body cap |
LOG_LEVEL, LOG_FORMAT | debug, info, warn, error; text or json, always to stderr |
The API key, the Authorization header and Web API response bodies are never logged.
go build -o bin/unione-mcp ./cmd/unione-mcp
go test ./internal/... ./cmd/... # unit tests, no network
docker run -d --rm -p 8081:8081 wiremock/wiremock:3.4.1 --local-response-templating --port 8081 E2E_WIREMOCK_URL=http://localhost:8081 go test -tags=integration ./tests/...
MIT