Le Model Context Protocol est un standard ouvert qui donne des outils aux assistants IA. Gradiently héberge un serveur MCP à l’adresse https://gradiently.design/api/mcp. Connectez-le une fois avec une clé API, et votre assistant peut appeler les outils de Gradiently pendant que vous lui parlez. Chaque outil fait les mêmes requêtes API que votre propre code : il a donc les mêmes permissions, licences, crédits et limites.
Avant de vous connecter
- Créez une clé dans Paramètres › API et agents (voir Clés API et permissions). La clé détermine dans quel espace de travail l’assistant travaille et quels outils fonctionneront.
- Chaque requête vers le serveur doit porter la clé sous la forme
Authorization: Bearer gr_live_…, y compris la première. Sans elle, le serveur répond 401. - Le serveur parle Streamable HTTP, sans état, avec des réponses JSON. Il n’a besoin d’aucune session et n’a pas de flux d’événements séparé à ouvrir.
- Le serveur n’accepte que les clés API. Il ne propose pas de connexion OAuth.
Connecter Claude Code
Ajoutez Gradiently comme serveur distant en HTTP, avec votre clé dans l’en-tête. Gardez la clé dans une variable d’environnement pour qu’elle ne se retrouve jamais dans l’historique de votre terminal ni dans un fichier committé.
export GRADIENTLY_API_KEY="gr_live_…"
claude mcp add --transport http gradiently https://gradiently.design/api/mcp \
--header "Authorization: Bearer $GRADIENTLY_API_KEY"Ouvrez une nouvelle session Claude Code et demandez-lui de lister les outils de Gradiently pour vérifier la connexion. S’il signale une erreur d’authentification, la clé a été mal saisie, a été révoquée, ou son créateur n’est plus propriétaire ou admin de l’espace de travail.
Autres clients
Tout client capable d’ajouter un serveur MCP distant en Streamable HTTP et d’envoyer un en-tête de requête personnalisé peut utiliser Gradiently avec la même URL et le même en-tête. Que le vôtre le puisse dépend du client et de sa version.
- Claude Desktop et claude.ai ajoutent les serveurs distants comme connecteurs personnalisés. Si le formulaire du connecteur permet de définir un en-tête Authorization, utilisez l’URL et l’en-tête ci-dessus. S’il ne propose qu’une connexion OAuth, Gradiently ne peut pas encore y être connecté.
- ChatGPT et les autres assistants : même règle. Là où le client prend en charge les serveurs MCP distants avec un en-tête bearer, connectez-le avec l’URL et votre clé.
- Les clients configurés par un fichier JSON acceptent souvent la forme ci-dessous, également affichée dans les Paramètres sous Connecter un client MCP. Consultez la documentation de votre client pour son format exact.
{
"mcpServers": {
"gradiently": {
"url": "https://gradiently.design/api/mcp",
"headers": { "Authorization": "Bearer gr_live_…" }
}
}
}Comment se comportent les outils
- Chaque outil renvoie son résultat sous forme de texte JSON. En cas d’échec, l’outil renvoie à la place le message d’erreur de l’API, par exemple une permission manquante ou un modèle inconnu.
- Les outils qui ont besoin d’une marque acceptent un
personalityfacultatif (son id ou son slug). Sans lui, ils utilisent la première marque de l’espace de travail. - Les outils qui enregistrent une création renvoient son lien Studio, l’adresse
/studio/<id>de la création sur gradiently.design. - Plusieurs outils cherchent d’abord vos marques via
/api/me, qui demande à la foisworkspaces:readetdesigns:read. Ces outils indiquent les deux permissions ci-dessous. - Un appel d’outil compte dans la limite de débit de votre clé une fois pour la requête MCP, puis une fois pour chaque requête API que fait l’outil.
Marks
| Outil | Ce qu’il fait | Entrées | Permissions |
|---|---|---|---|
search_marks | Recherche dans le Marché public par nom ou par code. Renvoie couleurs, matières, statut et détenteur. | q, tone (dark ou light), limit (de 1 à 120, 24 par défaut), tous facultatifs | marks:read |
get_mark | Un Mark et sa recette complète. | code (un code ou un id) | marks:read |
list_marks | Les Marks détenus pour cet espace de travail, avec l’état de leur licence, et vos brouillons qui s’y trouvent. | aucune | marks:read |
claim_mark | Réserve un Mark disponible. C’est le créateur de la clé qui le détient, jamais l’espace de travail. | code | marks:read, marks:claim |
make_mark | Construit une recette de Mark à partir d’une intention, ou en modifie une, avec une vérification de la couleur et de la lisibilité et le Mark le plus proche dans le Marché. N’enregistre rien. | spec, ou recipe et edit | marks:read |
save_mark | Enregistre une recette comme Mark brouillon privé, ou met à jour un brouillon qui vous appartient. Renvoie son lien Forge. | name, recipe, id (facultatif) | brand:generate |
export_mark | Rend un Mark seul en PNG, jusqu’à 4096 px de côté. | mark, width, height, personality | workspaces:read, designs:read, designs:write |
list_mark_versions | Les versions enregistrées d’un brouillon, de la plus récente à la plus ancienne. Seul le créateur du Mark les voit. | mark, cursor | marks:read |
save_mark_version | Garde un brouillon tel qu’il est, ou une recette donnée, comme version nommée. | mark, label, recipe | brand:generate |
restore_mark_version | Rétablit une version comme brouillon. L’état actuel est d’abord gardé comme version. | mark, version | brand:generate |
update_mark_version | Renomme une version ou la marque d’une étoile. Les versions étoilées sont conservées. | mark, version, label, starred | brand:generate |
delete_mark_version | Supprime une version, jamais celle qui est publiée. | mark, version | brand:generate |
Une réservation qui demande un paiement échoue avec un message indiquant qu’elle doit passer par le paiement ; terminez-la dans Gradiently. Une clé ne peut rien payer.
Marques et espace de travail
| Outil | Ce qu’il fait | Entrées | Permissions |
|---|---|---|---|
generate_brand | Crée des propositions de marque à partir d’un nom et d’une description. La même entrée donne toujours les mêmes propositions. | input : name, description, industry, tone, colours, count, nonce | brand:generate |
adopt_brand | Transforme une proposition en Mark brouillon, en marque et en trois créations de départ, en une seule étape. | input (inchangé), key | brand:generate |
list_personalities | Les marques de l’espace de travail, avec leurs ids. | aucune | workspaces:read, designs:read |
create_personality | Crée une marque nommée. | name | personalities:write |
get_brand_profile | Ce qu’est une marque, à qui elle s’adresse, son ton, ce qu’il faut faire et éviter, et ses polices. | personality | workspaces:read, designs:read |
update_brand_profile | Remplace le profil d’une marque. Le Designer le lit avant chaque création. | personality, profile | workspaces:read, designs:read, personalities:write |
my_workspace | Vous, les marques de l’espace de travail avec les codes de leurs Marks, et les Marks détenus pour lui. | aucune | workspaces:read, designs:read, marks:read |
list_workspaces | L’espace de travail de la clé et votre rôle dans celui-ci. | cursor | workspaces:read |
invite_member | Envoie par e-mail une invitation valable sept jours à rejoindre l’espace de travail. | workspaceId, email, role (admin, editor ou viewer) | members:write |
tone accepte jusqu’à trois valeurs parmi calm, bold, warm, cool, playful, luxe, natural, technical, editorial et nocturnal ; une requête qui en envoie davantage est refusée. colours accepte jusqu’à huit couleurs hexadécimales et count demande de une à huit propositions ; au-delà, la requête est refusée aussi. Pour adopter une proposition, envoyez exactement l’entrée qui l’a générée avec la key de la proposition : le serveur recrée la proposition à partir de cette entrée et ne fait jamais confiance à une recette envoyée par le client.
Créer
| Outil | Ce qu’il fait | Entrées | Permissions |
|---|---|---|---|
design | Demande au Designer de Gradiently de réaliser une création, ou d’en modifier une, à partir d’une demande en langage courant. Il lit le profil de la marque et le Mark, crée, vérifie et enregistre. | request, personality, size, designId, scope, selection | workspaces:read, designs:read, designs:write |
create_designs | Réalise en arrière-plan une série de douze créations au plus à partir d’un seul brief. | brief, items (size, brief, title), title, personality, mark, wait | workspaces:read, designs:read, designs:write |
get_design_set | La progression d’une série et le lien Studio de chaque création dès qu’elle existe. | id | designs:read |
stop_design_set | Arrête une série en cours. Les créations déjà dessinées restent enregistrées. | id | designs:write |
compose_design | Met en page votre texte avec le moteur de mise en page et l’enregistre. Renvoie les problèmes relevés à corriger. | composition, personality, designId, title | workspaces:read, designs:read, designs:write |
find_templates | Recherche parmi les créations faites main de Gradiently. En renvoie six au plus, avec une image et leurs emplacements. | query, size | toute clé |
use_template | Crée une création enregistrée à partir d’un modèle, en gardant sa composition. | template, text, photos, icons, hide, personality, designId | workspaces:read, designs:read, designs:write |
list_templates | Les ids des modèles de départ avec les ids de leurs éléments de texte, et chaque taille prédéfinie. | aucune | toute clé |
create_design | Crée une création à partir d’un id de modèle de départ, d’une taille prédéfinie et de textes associés aux ids d’éléments. | template, size, copy, look, personality | workspaces:read, designs:read, designs:write |
design et create_designs consomment les crédits IA de l’espace de travail, comme le Designer dans le Studio. Quand le solde est trop bas, ils échouent avec un message qui le signale ; rechargez dans Paramètres › Crédits IA. Deux séries au plus tournent en même temps par personne, et une série terminée reste consultable une vingtaine de minutes. Les créations elles-mêmes restent.
Une composition indique une size (un id de taille prédéfinie comme ig-post, x-post ou li-banner, ou {w, h} en pixels), un layout (statement, editorial, poster, split, stat, quote, list, event ou minimal) et des blocks dans l’ordre de lecture, chacun avec un role comme headline, body ou cta, et son text.
{
"composition": {
"size": "ig-post",
"layout": "event",
"blocks": [
{ "role": "eyebrow", "text": "Summer supper club" },
{ "role": "headline", "text": "Long table on the roof" },
{ "role": "details", "text": "", "items": ["Saturday 21 June", "7pm till late"] },
{ "role": "cta", "text": "Book a seat" }
]
}
}compose_design. La réponse contient l’id de la création, son lien Studio, les problèmes relevés et les éléments placés.Modifier et exporter
| Outil | Ce qu’il fait | Entrées | Permissions |
|---|---|---|---|
list_designs | Les créations enregistrées d’une marque, avec leurs liens Studio. | personality | workspaces:read, designs:read |
get_design | La taille d’une création, ses pages et chaque élément avec ses propriétés. Filtrez les longues créations par page, type, nom ou texte. | id, page, kind, name, text | designs:read |
edit_design | Modifie une création avec jusqu’à 100 opérations, comme le ferait une personne dans le Studio, puis l’enregistre. | id, ops, page | designs:write |
update_design_text | Remplace les mots des éléments de texte choisis et garde la mise en page. | id, text (id d’élément vers mots) | designs:read, designs:write |
resize_copies | Enregistre des copies dans jusqu’à huit autres tailles, remises en page comme le fait le Studio. L’original ne change pas. | id, sizes | designs:read, designs:write |
wear_mark | Applique un Mark à une création, ou en fait le Mark d’une marque pour les nouvelles créations. | mark, et design ou personality | voir ci-dessous |
render_design | Rend une création enregistrée en PNG ou en PDF avec le moteur du Studio. Renvoie le fichier en base64. | id, width, height, format, page | designs:read |
export_design_link | Publie un lien de consultation, /d/<id>, que toute personne qui l’a peut ouvrir. | id | designs:write |
wear_mark sur une création demande designs:read et designs:write. Faire d’un Mark celui d’une marque demande workspaces:read, designs:read et personalities:write, ainsi qu’un Mark que vous détenez avec une licence active. Désigner le Mark par son code demande aussi marks:read.
render_design accepte width et height de 1 à 4096 pixels et format png ou pdf. page compte à partir de 0 : par défaut, le PNG rend la première page et le PDF toutes les pages. Un PDF garde chaque page à sa taille dans le Studio : la taille demandée doit donc correspondre. Le rendu exige la même licence d’export pour le Mark de la création que dans le Studio, et il ne publie ni ne modifie jamais la création.
Exemples de demandes
- « Trouve dans le Marché des Marks sombres avec du chrome et montre-moi les trois plus proches du bleu canard profond. » Utilise
search_marks. - « Génère des directions de marque pour Hearth, une boulangerie de quartier, calme et chaleureuse, et adopte celle à la palette la plus douce. » Utilise
generate_brandetadopt_brand. - « Forge un Mark appelé Night Harbour : un fond vide, du bleu marine à l’orange sodium, une seule couche de grain discrète. Corrige tout ce que la vérification signale, puis enregistre-le. » Utilise
make_marketsave_mark. - « Remplace le titre de la création 4f1c… par “Ouverture des portes à 19 h” et fais-en des copies pour une story Instagram et un post X. » Utilise
get_design,update_design_textetresize_copies. - « Rends la création 4f1c… en PNG de 1080 sur 1350 et enregistre-la sous launch.png. » Utilise
render_design. - « Crée une affiche pour notre fête du solstice sur le toit, le 21 juin, du coucher au lever du soleil. » Utilise
design, qui demandeworkspaces:read.
La référence complète des points de terminaison derrière ces outils se trouve dans Référence de l’API. Pour tout le reste, envoyez-nous une demande.

