MCP · Agents IA
Motiongist dans ton assistant IA
https://motiongist.com/api/mcpIntroduction
Ce que fait le serveur MCP
Le serveur MCP (Model Context Protocol) de Motiongist permet à un assistant IA — Claude, ChatGPT, Cursor, Claude Code ou ton propre agent — de créer des vidéos motion design narrées pour toi : il rédige le script, te fait écouter la voix, t’annonce le prix exact, et ne lance la génération qu’après ton accord. Les vidéos apparaissent aussi dans ton studio.
Les vidéos sont narrées en anglais par défaut, ou en français : demande-le simplement à l’assistant, qui renseigne le paramètre language (en ou fr) du projet. Les outils et leurs descriptions sont en anglais ; l’assistant te répond dans ta langue.
| Endpoint | https://motiongist.com/api/mcp |
| Transport | Streamable HTTP, sans état (réponses JSON, pas de flux SSE) |
| Authentification | OAuth (connexion dans le navigateur) ou clé MCP dans l’en-tête x-api-key |
| Plans | Studio, Équipe. Sur les autres plans, seul motiongist_catalog répond. |
| Versions du protocole | 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 |
Accès
Authentification
OAuth (recommandé pour Claude.ai et ChatGPT). Ajoute simplement l’URL du serveur : le client découvre l’autorisation via /.well-known/oauth-protected-resource, ouvre une page de connexion Motiongist, tu choisis l’espace de travail et tu valides. Aucune clé à copier ; tu peux déconnecter l’assistant à tout moment dans API & agents IA.
Clé MCP (Claude Code, Cursor, agents maison). Crée une clé de type MCP (mg_mcp_…) dans API & agents IA et envoie-la dans l’en-tête x-api-key (ou Authorization: Bearer). Une clé REST (mg_live_…) fonctionne aussi. La clé donne accès à l’espace où elle a été créée : garde-la secrète.
Clients
Installer dans ton assistant
Claude (claude.ai, Claude Desktop)
- Ouvre Réglages → Connecteurs → Ajouter un connecteur personnalisé.
- Nom :
Motiongist, URL :https://motiongist.com/api/mcp. - Clique sur Connecter, connecte-toi à Motiongist et autorise l’accès. Active le connecteur dans la conversation.
ChatGPT
- Active le mode développeur dans Réglages → Applications et connecteurs → Paramètres avancés.
- Crée un connecteur avec l’URL
https://motiongist.com/api/mcpet l’authentification OAuth, puis connecte-toi à Motiongist.
Claude Code
claude mcp add --transport http motiongist https://motiongist.com/api/mcp \
--header "x-api-key: mg_mcp_…"Sans --header, lance /mcp dans Claude Code pour te connecter par OAuth.
Cursor
{
"mcpServers": {
"motiongist": {
"url": "https://motiongist.com/api/mcp",
"headers": {
"x-api-key": "mg_mcp_…"
}
}
}
}Autres clients (VS Code, Windsurf, agents maison)
{
"mcpServers": {
"motiongist": {
"type": "http",
"url": "https://motiongist.com/api/mcp",
"headers": {
"x-api-key": "mg_mcp_…"
}
}
}
}Pour tester à la main, le protocole est du JSON-RPC 2.0 sur un simple POST :
curl -X POST https://motiongist.com/api/mcp \
-H "x-api-key: $MOTIONGIST_MCP_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"motiongist_catalog","arguments":{}}}'Référence
Outils
Le déroulé type : motiongist_catalog → motiongist_project_create → motiongist_script_write (option) → motiongist_narration_generate (option) → motiongist_storyboard_write + motiongist_storyboard_get (option, relire les scènes) → motiongist_estimate → accord de l’utilisateur → motiongist_generate → motiongist_job_get → motiongist_video_get.
motiongist_catalog· Cataloguelecture seuleVoix, looks, durées, langues, coûts en crédits, plan et solde de l’espace. À appeler en premier.
motiongist_project_create· Créer un projetécritureCrée un projet de vidéo motion design (brouillon). Donne au moins le sujet ; language vaut en (par défaut) ou fr. Si tu as déjà le texte à narrer, passe-le dans script.
title?script?subject?inputKind?sourceText?audience?length?language?voice?look?brand?notes?mascot?tier?dimension?
motiongist_project_get· Lire un projetlecture seuleLit un projet : réglages, script, statut, dernière génération et dernière vidéo.
projectId
motiongist_project_list· Lister les projetslecture seuleListe les projets de l’espace, du plus récent au plus ancien.
limit?cursor?status?
motiongist_project_update· Modifier un projetécritureModifie le titre, le script ou les réglages d’un projet. Toute modification invalide le devis précédent.
projectIdtitle?script?subject?inputKind?sourceText?audience?length?language?voice?look?brand?notes?mascot?tier?dimension?
motiongist_script_write· Écrire le scriptécritureÉcrit un script narré à partir d’un sujet (accroche, une idée par phrase, récap). Avec projectId, le script est enregistré dans le projet. Gratuit.
topicprojectId?audience?length?language?tone?
motiongist_ideas· Idées de vidéoslecture seulePropose des idées de vidéos (titre + angle visuel) pour une niche.
nichelanguage?count?
motiongist_narration_generate· Écouter la narrationécritureSynthétise le script du projet avec la voix choisie pour l’écouter avant de générer (gratuit). Renvoie une URL audio valable 15 minutes.
projectId
motiongist_storyboard_write· Écrire le storyboardécritureOptionnel et gratuit : le moteur planifie la vidéo scène par scène (phrase de narration + ce qu’on voit) en une minute environ, pour la relire avant de payer un rendu. Interroge motiongist_storyboard_get jusqu’au statut "ready".
projectId
motiongist_storyboard_get· Lire le storyboardlecture seuleStatut (none, planning, ready, failed) et scènes du storyboard du projet. Après un rendu, c’est le storyboard de la dernière vidéo ; "dirty" liste les scènes que le prochain rendu reconstruit.
projectId
motiongist_storyboard_update· Modifier le storyboardécritureRemplace la liste des scènes (garde les ids des scènes existantes). Les scènes modifiées sont reconstruites au prochain rendu, les autres gardent leurs visuels. rebuild=[ids] reconstruit des scènes sans changer leur texte.
projectIdtitle?scenes?rebuild?
motiongist_estimate· Estimer le prixlecture seuleCalcule le prix exact en crédits et la durée de génération. Renvoie un devis signé (valable 1 h) à repasser tel quel à motiongist_generate après l’accord de l’utilisateur.
projectIdvoiceMode?
motiongist_generate· Lancer la générationécrituredébite des créditsLance la génération de la vidéo. Exige approved=true (l’utilisateur a accepté le prix) et le devis renvoyé par motiongist_estimate, inchangé. Une génération prend plusieurs minutes : interroge motiongist_job_get avec parcimonie.
projectIdquoteapproved
motiongist_job_get· Suivre une générationlecture seuleStatut d’une génération : file, étape (script, voix, storyboard, vérification, rendu), progression, erreur, et videoId une fois terminée.
jobId
motiongist_job_cancel· Annuler une générationécrituredestructifAnnule une génération tant que le rendu n’a pas commencé. Les crédits sont remboursés.
jobId
motiongist_video_list· Lister les vidéoslecture seuleListe les vidéos terminées de l’espace.
limit?cursor?
motiongist_video_get· Récupérer une vidéolecture seuleMétadonnées de la vidéo et liens signés (15 min) : MP4, sous-titres SRT, planche-contact, storyboard.
videoId
motiongist_post_copy· Post copyécritureTitle, description and hashtags of a video for YouTube, TikTok, Instagram and LinkedIn, in the video language, within each platform limit (generated on first call). regenerate=true rewrites it (optionally in another language); platforms={youtube:{title,description,hashtags}} saves edits. Free.
videoIdregenerate?language?platforms?
motiongist_publish· Publish to social mediaécriturePublishes a finished video to a connected YouTube, TikTok, Instagram or LinkedIn account, now or at scheduledAt (ISO 8601 with offset, up to 1 year ahead). Free (no credits). Without accountId or provider, it only lists the connected accounts and the posts of this video. The post uses the video post copy for the platform unless copy is given. Accounts are connected by a workspace member in the web app (/app/publishing). cancelPostId cancels a scheduled post instead. Poll again to see the status (scheduled, publishing, published with externalUrl, failed with error).
videoIdaccountId?provider?scheduledAt?copy?cancelPostId?
Paramètres en noir : obligatoires. Les schémas complets sont renvoyés par tools/list.
Ressources : chaque vidéo expose son storyboard (motiongist://videos/{videoId}/storyboard) et ses sous-titres (motiongist://videos/{videoId}/captions) via resources/read.
Sécurité
Validation du prix
motiongist_estimatecalcule le prix exact en crédits et renvoie un devis signé (quote) valable 1 heure. Il ne débite rien.- L’assistant doit te montrer ce prix.
motiongist_generateexigeapproved: trueet lequoteinchangé ; sans les deux, rien n’est lancé. - La génération ne coûte jamais plus que le devis. Si le projet change après l’estimation (script, voix, durée…), le devis est refusé et l’assistant doit ré-estimer.
- Les échecs et annulations (
motiongist_job_cancel, possible jusqu’au début du rendu) sont remboursés.
Aide
Dépannage
| Symptôme | Cause et solution |
|---|---|
| 401 avec un en-tête WWW-Authenticate | Pas de jeton ou de clé, ou jeton expiré. Reconnecte le connecteur (OAuth) ou vérifie l’en-tête x-api-key. |
| « MCP access is included from the Studio plan » | Ton espace n’est pas sur un plan Studio, Équipe. Change de plan dans Crédits & abonnement. |
| « Missing scope: jobs:write » | La clé ou l’autorisation OAuth est en lecture seule. Crée une clé avec les portées d’écriture. |
| QUOTE_INVALID | Le devis a plus d’une heure ou le projet a été modifié depuis. Relance motiongist_estimate et valide le nouveau prix. |
| INSUFFICIENT_CREDITS | Solde insuffisant : recharge ou passe au plan supérieur. |
| « Too many requests » | Limite de 60 appels d’outils par minute et par clé. Espace les appels à motiongist_job_get (toutes les 10 à 20 s). |
| GET renvoie 405 | Normal : le serveur est sans état et ne propose pas de flux SSE. Les clients compatibles Streamable HTTP utilisent POST. |
| L’assistant ne voit pas les outils | Vérifie que le connecteur est activé dans la conversation, puis demande-lui de lister les outils Motiongist. |
Tu préfères du code classique ? La même logique est disponible en API REST.