MCP-Server
Lass Claude Code, Cursor, VS Code und andere KI-Agenten über den MCP-Server von Ikiform Formulare, Einsendungen und Webhooks verwalten.
Ikiform betreibt einen Remote-Model-Context-Protocol-Server. Verbinde ihn mit einem KI-Agenten, und der Agent kann in deinem Workspace Formulare erstellen, verdrahten und konfigurieren, Einsendungen lesen und sichten sowie Webhooks einrichten und debuggen, mit denselben Secret Keys und Scopes wie die REST API.
| URL | https://ikiform.com/mcp |
| Transport | Streamable HTTP, zustandslos, JSON-RPC über POST |
| Authentifizierung | Authorization: Bearer ik_sk_... |
| Rate-Limit | 100 Requests pro Minute und Schlüssel, geteilt mit der REST-API |
Schlüssel erstellen
Erstelle im Dashboard einen Secret Key und gib ihm nur die Scopes, die der Agent braucht. Jedes Tool arbeitet mit dem Workspace, dem der Schlüssel gehört. Halte den Schlüssel aus deinem Repository heraus: Nutze eine Umgebungsvariable oder die Secret-Abfrage deines Clients.
| Scope | Tools |
|---|---|
forms:read | list_forms, get_form und connect_form mit einer form_id |
forms:write | create_form, update_form, set_form_fields, delete_form |
submissions:read | list_submissions, get_submission |
submissions:write | mark_spam, mark_not_spam, delete_submission |
webhooks:read | list_webhook_endpoints, list_deliveries |
webhooks:write | create_webhook_endpoint und update_webhook_endpoint (mit submissions:read), roll_webhook_secret, delete_webhook_endpoint, send_test_event, replay_failed_deliveries |
forms:read und forms:write. Zum reinen Sichten ohne Schreibzugriff nutze submissions:read. Ein Tool, das ohne seinen Scope aufgerufen wird, gibt einen forbidden-Fehler zurück, der den fehlenden Scope nennt.Client verbinden
claude mcp add --transport http ikiform https://ikiform.com/mcp \
--header "Authorization: Bearer ik_sk_..."Setze in Cursor IKIFORM_API_KEY in deiner Umgebung. VS Code fragt beim ersten Mal nach dem Schlüssel und speichert ihn sicher. Jeder Client, der Remote-HTTP-Server mit eigenen Headern unterstützt, funktioniert genauso.
Ikiform ist in der offiziellen MCP Registry als io.github.preetsuthar17/ikiform eingetragen. In Claude Code fügt das Ikiform-Plugin den Server und einen Skill zum Anbinden von Formularen hinzu: Führe claude plugin marketplace add preetsuthar17/ikiform-plugin aus, dann claude plugin install ikiform@ikiform.
Tools
IDs sehen aus wie frm_... für Formulare, sub_... für Einsendungen, whk_... für Webhook-Endpunkte und dlv_... für Zustellungen. Listen liefern standardmäßig 25 Einträge und höchstens 100; wenn has_more true ist, übergib next_cursor als cursor.
| Tool | Was er macht |
|---|---|
list_forms | Formulare, neueste zuerst, mit ID, Name, Status, Anzahl der Einsendungen und Endpunkt |
get_form | Endpunkt, Felder, Honeypot-Feld, erlaubte Domains, Weiterleitungs-URL, Code-Snippets und Einrichtungsanleitung eines Formulars |
create_form | Erstellt ein Formular aus einem Namen, optional mit erlaubten Domains und Weiterleitungs-URL |
update_form | Pausiert oder setzt ein Formular fort und ändert seinen Namen, erlaubte Domains, die Weiterleitungs-URL, die Spamprüfung, Rate-Limits oder E-Mail-Benachrichtigungen |
set_form_fields | Veröffentlicht ein Feldschema, gegen das Posts validiert werden, oder entfernt es |
delete_form | Löscht ein Formular. Sein Endpunkt nimmt keine Posts mehr an |
list_submissions | Einsendungen, neueste zuerst, gefiltert nach Formular, Status (received oder spam) oder Datum |
get_submission | Eine Einsendung mit ihren Feldern, Metadaten und ihrem Spam-Score |
mark_spam, mark_not_spam | Verschiebt eine Einsendung in den Spam oder zurück und sendet die passenden Webhooks |
delete_submission | Löscht eine Einsendung endgültig. Kann nicht rückgängig gemacht werden |
list_webhook_endpoints | Endpunkte mit URL, Status, Events und Fehlerstatus. Secrets werden nie zurückgegeben |
create_webhook_endpoint | Fügt einen Endpunkt hinzu und gibt sein Signing-Secret einmalig zurück |
update_webhook_endpoint | Ändert die URL, das Formular, die Ereignisse oder die eigenen Header eines Endpunkts oder schaltet ihn aus und wieder ein |
roll_webhook_secret | Gibt ein neues Signing-Secret zurück. Das alte funktioniert noch 24 Stunden weiter |
delete_webhook_endpoint | Löscht einen Endpunkt und seinen Zustellungsverlauf |
list_deliveries | Letzte Zustellungen an einen Endpunkt, mit Status, Versuchen und dem letzten Fehler |
send_test_event | Sendet ein signiertes endpoint.test-Event an einen aktiven Endpunkt |
replay_failed_deliveries | Sendet fehlgeschlagene Zustellungen der letzten 24h, 3d oder 7d erneut |
Der Server bietet außerdem einen connect_form-Prompt: eine Schritt-für-Schritt-Anleitung, um das Formular in deinem Projekt anzubinden, ausgefüllt mit Endpunkt und Feldern deines Formulars, wenn du eine form_id übergibst.
Was du fragen kannst
- „Verbinde das Kontaktformular in diesem Projekt mit Ikiform.“
- „Zeig mir den Spam der letzten Woche im Wartelisten-Formular und stelle alles wieder her, was echt aussieht.“
- „Warum schlägt mein Webhook fehl? Korrigiere den Handler, sende einen Test und sende dann erneut, was heute fehlgeschlagen ist.“
- „Sende neue Wartelisten-Anmeldungen an meine API-Route unter /api/ikiform und lege das Secret in .env ab.“
- „Pausiere das alte Kontaktformular und schalte die Menschlichkeitsprüfung für das neue ein.“
Agenten sollten vor dem Löschen von Formularen, Einsendungen oder Endpunkten, dem erneuten Senden von Zustellungen, dem Veröffentlichen eines Feldschemas oder dem Ändern erlaubter Domains, Spam-Einstellungen oder Rate-Limits bei dir nachfragen. Der Skill des Claude-Code-Plugins weist sie dazu an. Signing- und Turnstile-Secrets gehören in Umgebungsvariablen, nie in den Code.
Nur im Dashboard
API-Schlüssel, Mitglieder, Benachrichtigungsempfänger und die Abrechnung bleiben im Dashboard, sodass ein geleakter Schlüssel keine Schlüssel erstellen, niemanden einladen, keine E-Mails an neue Adressen senden und kein Geld ausgeben kann.