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.
| URL | https://ikiform.com/mcp |
| Transport | Streamable HTTP, sans état, JSON-RPC via POST |
| Authentification | Authorization: Bearer ik_sk_... |
| Limite de débit | 100 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ée | Outils |
|---|---|
forms:read | list_forms, get_form et connect_form avec un 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 et update_webhook_endpoint (avec submissions:read), roll_webhook_secret, delete_webhook_endpoint, send_test_event, replay_failed_deliveries |
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.
| Outil | Rôle |
|---|---|
list_forms | Les formulaires, du plus récent au plus ancien, avec id, nom, statut, nombre de soumissions et endpoint |
get_form | L'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_form | Crée un formulaire à partir d'un nom, avec des domaines autorisés et une URL de redirection facultatifs |
update_form | Met 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_fields | Publie un schéma de champs par rapport auquel les envois sont validés, ou le supprime |
delete_form | Supprime un formulaire. Son endpoint cesse d'accepter les envois |
list_submissions | Les soumissions, de la plus récente à la plus ancienne, filtrées par formulaire, statut (received ou spam) ou date |
get_submission | Une soumission avec ses champs, ses métadonnées et son score de spam |
mark_spam, mark_not_spam | Déplace une soumission vers le spam ou l'en sort, en envoyant les webhooks correspondants |
delete_submission | Supprime définitivement une soumission. Action irréversible |
list_webhook_endpoints | Les endpoints avec leur URL, leur statut, leurs événements et leur état d'échec. Les secrets ne sont jamais renvoyés |
create_webhook_endpoint | Ajoute un endpoint et renvoie une seule fois son secret de signature |
update_webhook_endpoint | Modifie 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_secret | Renvoie un nouveau secret de signature. L'ancien continue de fonctionner pendant 24 heures |
delete_webhook_endpoint | Supprime un endpoint et son historique de livraisons |
list_deliveries | Les livraisons récentes d'un endpoint, avec statut, tentatives et dernière erreur |
send_test_event | Envoie un événement endpoint.test signé à un endpoint actif |
replay_failed_deliveries | Renvoie 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.