ID du formulaire

Serveur MCP

Laissez Claude Code, Cursor, VS Code et d'autres agents IA gérer formulaires, soumissions et webhooks via le serveur MCP d'Ikiform.

Ikiform exploite un serveur Model Context Protocol distant. Connectez-le à un agent IA et l'agent peut créer, brancher et configurer des formulaires, lire et trier les soumissions, et configurer et déboguer les webhooks de votre espace de travail, avec les mêmes clés secrètes et les mêmes portées que l'API REST.

URLhttps://ikiform.com/mcp
TransportStreamable HTTP, sans état, JSON-RPC via POST
AuthentificationAuthorization: Bearer ik_sk_...
Limite de débit100 requêtes par minute et par clé, partagées avec l'API REST

Créer une clé

Dans le tableau de bord, créez une clé secrète et ne lui donnez que les portées dont l'agent a besoin. Chaque outil agit sur l'espace de travail auquel appartient la clé. Gardez la clé hors de votre dépôt : utilisez une variable d'environnement ou la saisie de secret de votre client.

PortéeOutils
forms:readlist_forms, get_form et connect_form avec un form_id
forms:writecreate_form, update_form, set_form_fields, delete_form
submissions:readlist_submissions, get_submission
submissions:writemark_spam, mark_not_spam, delete_submission
webhooks:readlist_webhook_endpoints, list_deliveries
webhooks:writecreate_webhook_endpoint et update_webhook_endpoint (avec submissions:read), roll_webhook_secret, delete_webhook_endpoint, send_test_event, replay_failed_deliveries
Pour connecter des formulaires dans votre code, forms:read et forms:write suffisent. Pour un tri en lecture seule, utilisez submissions:read. Un outil appelé sans sa portée renvoie une erreur forbidden qui nomme la portée manquante.

Connecter votre client

claude mcp add --transport http ikiform https://ikiform.com/mcp \
  --header "Authorization: Bearer ik_sk_..."

Dans Cursor, définissez IKIFORM_API_KEY dans votre environnement. VS Code demande la clé la première fois et la stocke de façon sécurisée. Tout client qui prend en charge les serveurs HTTP distants avec des en-têtes personnalisés fonctionne de la même manière.

Ikiform figure dans le registre MCP officiel sous le nom io.github.preetsuthar17/ikiform. Dans Claude Code, le plugin Ikiform ajoute le serveur et un skill pour connecter vos formulaires : lancez claude plugin marketplace add preetsuthar17/ikiform-plugin, puis claude plugin install ikiform@ikiform.

Outils

Les id ressemblent à frm_... pour les formulaires, sub_... pour les soumissions, whk_... pour les endpoints de webhook et dlv_... pour les livraisons. Les listes renvoient 25 éléments par défaut et 100 au maximum ; quand has_more vaut true, passez next_cursor comme cursor.

OutilRôle
list_formsLes formulaires, du plus récent au plus ancien, avec id, nom, statut, nombre de soumissions et endpoint
get_formL'endpoint, les champs, le champ honeypot, les domaines autorisés, l'URL de redirection, les extraits de code et les instructions de mise en place d'un formulaire
create_formCrée un formulaire à partir d'un nom, avec des domaines autorisés et une URL de redirection facultatifs
update_formMet un formulaire en pause ou le reprend, et modifie son nom, ses domaines autorisés, son URL de redirection, sa vérification anti-spam, ses limites de débit ou ses notifications par e-mail
set_form_fieldsPublie un schéma de champs par rapport auquel les envois sont validés, ou le supprime
delete_formSupprime un formulaire. Son endpoint cesse d'accepter les envois
list_submissionsLes soumissions, de la plus récente à la plus ancienne, filtrées par formulaire, statut (received ou spam) ou date
get_submissionUne soumission avec ses champs, ses métadonnées et son score de spam
mark_spam, mark_not_spamDéplace une soumission vers le spam ou l'en sort, en envoyant les webhooks correspondants
delete_submissionSupprime définitivement une soumission. Action irréversible
list_webhook_endpointsLes endpoints avec leur URL, leur statut, leurs événements et leur état d'échec. Les secrets ne sont jamais renvoyés
create_webhook_endpointAjoute un endpoint et renvoie une seule fois son secret de signature
update_webhook_endpointModifie l'URL, le formulaire, les événements ou les en-têtes personnalisés d'un endpoint, ou le désactive et le réactive
roll_webhook_secretRenvoie un nouveau secret de signature. L'ancien continue de fonctionner pendant 24 heures
delete_webhook_endpointSupprime un endpoint et son historique de livraisons
list_deliveriesLes livraisons récentes d'un endpoint, avec statut, tentatives et dernière erreur
send_test_eventEnvoie un événement endpoint.test signé à un endpoint actif
replay_failed_deliveriesRenvoie les livraisons échouées des dernières 24h, 3d ou 7d

Le serveur propose aussi un prompt connect_form : des instructions pas à pas pour connecter le formulaire dans votre projet, remplies avec l'endpoint et les champs de votre formulaire quand vous passez un form_id.

Que demander

  • « Connectez le formulaire de contact de ce projet à Ikiform. »
  • « Montrez-moi le spam de la semaine dernière sur le formulaire de liste d'attente et restaurez tout ce qui semble réel. »
  • « Pourquoi mon webhook échoue-t-il ? Corrigez le handler, envoyez un test, puis renvoyez ce qui a échoué aujourd'hui. »
  • « Envoie les nouvelles inscriptions à la liste d'attente vers ma route d'API /api/ikiform et mets le secret dans .env. »
  • « Mets en pause l'ancien formulaire de contact et active la vérification humaine pour le nouveau. »

Les agents doivent vous demander confirmation avant de supprimer des formulaires, des soumissions ou des endpoints, de rejouer des livraisons, de publier un schéma de champs ou de modifier les domaines autorisés, les réglages anti-spam ou les limites de débit. La skill du plugin Claude Code le leur demande. Les secrets de signature et Turnstile doivent rester dans des variables d'environnement, jamais dans le code.

Tableau de bord uniquement

Les clés API, les membres, les destinataires des notifications et la facturation restent dans le tableau de bord : une clé qui fuite ne peut donc ni créer de clés, ni inviter des personnes, ni envoyer d'e-mails à de nouvelles adresses, ni dépenser de l'argent.