MCP-Server.
Mailan spricht das Model Context Protocol. Verbinde einen KI-Assistenten wie Claude oder Cursor mit einem persönlichen Token, und er richtet ein Kontaktformular für eine Website selbstständig ein: Formular anlegen, Spamschutz und Benachrichtigungen konfigurieren, Integrationen hinzufügen und dir das HTML zum Einfügen geben.
Token erzeugen
Im Dashboard unter Einstellungen → Allgemein → „MCP für KI-Assistenten" vergibst du einen Namen und erzeugst den Token. Der Klartext (er beginnt mit mln_mcp_) wird genau einmal angezeigt; danach existiert nur noch sein Hash. MCP ist in jedem Tarif enthalten; ein Konto kann bis zu zehn aktive Tokens haben und jeden jederzeit widerrufen.
Assistenten verbinden
Der Server nutzt den Streamable-HTTP-Transport. Jeder Client, der einen entfernten MCP-Server mit eigenem Header erreichen kann, funktioniert; der Token gehört als Bearer-Token in den Authorization-Header.
Claude Desktop startet nur lokale Server, deshalb leitet die kleine Brücke mcp-remote an Mailan weiter. Für npx muss Node.js installiert sein.
Tools
Zehn Tools, die alle im Konto des Token-Besitzers arbeiten. Sie folgen denselben Regeln wie das Dashboard: Tariflimits, Validierung und die erlaubten Weiterleitungs-Domains gelten unverändert.
| Tool | Was es tut |
|---|---|
list_forms |
Alle Formulare des Kontos mit Einstellungen und Submit-URL. |
get_form |
Ein Formular mit allen Einstellungen. |
create_form |
Legt ein Formular an. Nur der Name ist Pflicht; ohne Empfänger gehen Einsendungen an deine Konto-E-Mail. |
update_form |
Ändert Einstellungen: Empfänger, Betreff, Weiterleitung, erlaubte Domains, Captcha, Spamfilter, Autoresponder, Absender. |
get_embed_code |
Fertiges HTML zum Einfügen mit Client-Script, Honeypot und den gewünschten Feldern. |
list_integration_types |
Die verfügbaren Integrationen und die Konfigurationsfelder, die jede braucht. |
list_integrations |
Die Integrationen eines Formulars. Secrets erscheinen nur als „gesetzt" oder „nicht gesetzt". |
create_integration |
Fügt eine aktive Integration hinzu, z. B. einen Webhook oder ein Google Sheet. |
update_integration |
Aktiviert oder deaktiviert eine Integration oder ersetzt ihre Konfiguration. |
test_integration |
Prüft die gespeicherte Konfiguration einer Integration, ohne eine Einsendung zuzustellen. |
Was ein Token nicht kann
Die Tool-Liste ist bewusst schmal, damit die Weitergabe eines Tokens an einen Assistenten ein kleines Risiko bleibt.
| Nur deine Daten | Jedes Tool ist an den Token-Besitzer gebunden. Ein Formular eines anderen Kontos antwortet mit „Form not found" — nicht zu unterscheiden von einem, das nicht existiert. |
| Nichts wird gelöscht | Es gibt kein Tool zum Löschen von Formularen oder Integrationen, zum Erneuern eines Access Keys oder zum Sperren eines Formulars. Integrationen lassen sich nur abschalten. |
| Kein Kontozugriff | Profil, Passwort, Tarif, verknüpfte E-Mails und Tokens sind außer Reichweite. Auch Einsendungen sind über MCP nicht lesbar. |
| Eigener Zugang | Ein MCP-Token wird von der REST-API nicht akzeptiert, und ein API-Schlüssel nicht vom MCP-Server. |
| Rate-Limit | 120 Anfragen pro Minute und Token, wie bei API-Schlüsseln. |
Beispiel
Frag in normaler Sprache — der Assistent wählt die Tools selbst:
„Leg ein Kontaktformular für example.com mit Name, E-Mail, Telefon und Nachricht an. Nimm nur Einsendungen von example.com an, schalte das ALTCHA-Captcha ein, schick jede Einsendung an meinen Webhook https://example.com/hook und gib mir das HTML."
Der Assistent ruft create_form, update_form, create_integration und get_embed_code auf und antwortet mit dem fertigen Formular zum Einfügen.
Protokolldetails
JSON-RPC 2.0 per POST, beantwortet mit reinem JSON — keine Session, keine Server-Sent Events. Unterstützte Protokollversionen: 2025-06-18, 2025-03-26 und 2024-11-05. Fehler, auf die ein Modell reagieren kann (Validierung, Tariflimits, nicht gefunden), kommen als Tool-Ergebnis mit isError zurück, sodass der Assistent die Meldung liest und sich korrigiert.