kreatoai/Documentation API

Serveur MCP

Kreatoai expose un serveur MCP (Model Context Protocol) : le standard qui permet à un assistant IA d'utiliser des outils externes. Une fois connecté, vous pouvez dire à Claude ou Cursor « publie cette vidéo sur mes deux comptes TikTok jeudi à 18 h en brouillon » ou « crée une image pour annoncer notre soirée de vendredi », et l'assistant appelle Kreatoai pour vous.

Principe

POST
/mcp

Serveur MCP distant (Streamable HTTP), aucune installation

Le serveur est hébergé : rien à installer, il suffit de donner l'URL https://api.kreatoai.com/mcp et une clé API à votre client. Chaque outil rejoue un appel de l'API /v1 avec cette clé : mêmes règles, mêmes quotas, mêmes permissions que l'API — le MCP n'a aucun privilège particulier.

Deux adresses existent. https://api.kreatoai.com/mcp expose tous les outils, création d'images comprise. https://api.kreatoai.com/mcp/social publie, programme et héberge des médias, sans génération : c'est celle du connecteur Claude décrit sur kreatoai.com/claude, pour l'annuaire des connecteurs d'Anthropic, qui n'accepte pas la génération.

Connexion en un clic (OAuth)

Les clients qui gèrent l'authentification OAuth n'ont pas besoin de clé : donnez-leur seulement l'URL https://api.kreatoai.com/mcp, ils vous renvoient sur une page Kreatoai où vous choisissez les permissions, puis la connexion est établie. Elle apparaît dans Réglages → Claude et API → Applications reliées, d'où vous la déconnectez d'un geste. Le jeton d'accès expire au bout d'une heure et se renouvelle tout seul ; si le renouvellement est refusé — connexion fermée de votre côté, jeton réutilisé par un tiers — l'application vous redemande l'autorisation.

ClientOù coller l’URL
claude.ai (web et mobile)Paramètres → Connecteurs → « Ajouter un connecteur personnalisé » → URL, puis « Connecter »
Claude DesktopParamètres → Connecteurs → « Ajouter un connecteur personnalisé » (même flux, sans mcp-remote)
Claude Codeclaude mcp add --transport http kreatoai https://api.kreatoai.com/mcp puis /mcp → « Authenticate »
Cursor, Devin Desktop (ex-Windsurf), VS CodeServeur MCP distant avec l’URL seule : le client détecte le flux OAuth
Tout autre client MCPChatGPT, Codex, OpenClaw, Hermes, Zed… : l’URL seule suffit dès que le client gère OAuth 2.1

Standard implémenté : OAuth 2.1 avec PKCE (S256), enregistrement dynamique du client (RFC 7591), découverte via /.well-known/oauth-authorization-server et /.well-known/oauth-protected-resource. Les sections suivantes décrivent l'alternative par clé API, utile pour les automatisations sans navigateur (n8n, scripts).

Claude Code

claude mcp add --transport http kreatoai https://api.kreatoai.com/mcp \
  --header "Authorization: Bearer sk-kre-v1-votre_cle"

Puis, dans une session : « Liste mes comptes connectés » ou « Programme ce texte sur LinkedIn demain à 9 h ». Vérifiez la connexion avec /mcp.

Claude Desktop

Claude Desktop se connecte aux serveurs distants via le pont mcp-remote. Ajoutez ceci à votre claude_desktop_config.json :

{
  "mcpServers": {
    "kreatoai": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.kreatoai.com/mcp",
        "--header", "Authorization: Bearer sk-kre-v1-votre_cle"
      ]
    }
  }
}

Cursor

Dans .cursor/mcp.json (projet) ou ~/.cursor/mcp.json (global) :

{
  "mcpServers": {
    "kreatoai": {
      "url": "https://api.kreatoai.com/mcp",
      "headers": { "Authorization": "Bearer sk-kre-v1-votre_cle" }
    }
  }
}

n8n et autres clients

Tout client compatible Streamable HTTP fonctionne : nœud « MCP Client » de n8n (transport HTTP Streamable, en-tête Authorization), Devin Desktop, Zed, VS Code, le MCP Inspector… La clé peut aussi être passée via l'en-tête x-api-key.

Outils disponibles

OutilScopeRôle
get_workspacetout scopeIdentité, marque, plan et solde de crédits — à appeler en premier
list_accountsaccounts:read / publish:postsComptes connectés et leurs identifiants
request_connect_linkaccounts:read / publish:postsLien de 30 minutes pour relier soi-même un compte Facebook, Instagram, TikTok, LinkedIn ou YouTube, sans quitter la conversation
create_postpublish:postsPublier ou programmer sur un ou plusieurs comptes (brouillon TikTok possible, ou lien de dépôt avec awaitMedia)
get_post / list_posts / update_post / cancel_postpublish:postsSuivre, lister, modifier ou annuler une publication programmée
list_commentsaccounts:read / publish:postsLire les commentaires d’une Page Facebook ou d’un compte Instagram, et voir ceux qui attendent une réponse
reply_to_comment / hide_commentpublish:postsRépondre à un commentaire au nom du compte, ou le masquer et le réafficher
create_generationgenerations:writeProduire une image depuis une phrase (2 crédits)
get_generation / list_generationsgenerations:writeSuivre une création, lister les précédentes et le solde
upload_mediamedia:writeHéberger une image ou une vidéo depuis une URL (ou un fichier joint dans ChatGPT)
create_upload_urlmedia:writeEnvoyer un fichier de l’ordinateur, vidéo jusqu’à 512 Mo : rend une adresse et la commande curl à lancer (assistants qui exécutent des commandes : Claude Code, Codex, Cursor)

Exemple de conversation complète : « Fais-moi une image verticale d'un plat qui sort du four, puis publie-la sur Instagram et Facebook avec la légende “Trois dîners prêts en 10 minutes” ». L'assistant enchaîne get_workspace (solde) → create_generation → get_generation (jusqu'à completed) → create_post.

Permissions et sécurité

Les scopes de la clé sont les permissions de l'assistant. Un outil dont la clé n'a pas le scope n'est pas exposé du tout : une clé accounts:read ne peut pas publier. Créez une clé dédiée par assistant, avec le minimum nécessaire, et une durée de vie courte.

Les actions qui coûtent (création d'image) ou publient sont marquées comme telles auprès de l'assistant, qui vous demande normalement confirmation avant de les exécuter. Les erreurs renvoyées expliquent quoi faire (compte non connecté, quota atteint…) pour que l'assistant puisse vous guider sans consulter cette documentation.