{"apiVersion":"v1","directorySlug":"designbrain-mcp-caade00ef2","title":"DesignBrain","description":"Vos IA génèrent vite et tout se ressemble. DesignBrain encode votre identité de marque (charte, tokens, ton) dans Claude, ChatGPT et Cursor. Audit gratuit.","pageUrl":"https://www.mcpbundles.com/skills/designbrain-mcp-caade00ef2","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.designbrain.fr/mcp","hostedMcpUrl":null,"toolCount":59,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"fr.designbrain/designbrain-mcp-caade00ef2","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"create_client","description":"[admin] Crée un nouveau client (org).","inputSchema":{"type":"object","required":["slug","name"],"properties":{"name":{"type":"string"},"slug":{"type":"string"}},"additionalProperties":false},"logicalName":"create_client","displayName":"create_client","title":"create_client","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_brand","description":"[admin] Crée une marque et renvoie son connecteur d'ÉQUIPE, clair une seule fois (D61).","inputSchema":{"type":"object","required":["org_id","slug","name"],"properties":{"name":{"type":"string"},"slug":{"type":"string"},"org_id":{"type":"string"}},"additionalProperties":false},"logicalName":"create_brand","displayName":"create_brand","title":"create_brand","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_clients","description":"[admin] Le catalogue : chaque client, ses MARQUES et leur slug.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_clients","displayName":"list_clients","title":"list_clients"},{"name":"open_client","description":"[admin] Ouvre une marque : la session travaille dessus, et un token `da` court est rendu.","inputSchema":{"type":"object","required":["brand"],"properties":{"brand":{"type":"string"},"ttl_minutes":{"type":"integer","default":30}},"additionalProperties":false},"logicalName":"open_client","displayName":"open_client","title":"open_client","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"current_client","description":"Sur quelle marque on travaille — la question à poser AVANT d'écrire.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"current_client","displayName":"current_client","title":"current_client"},{"name":"close_client","description":"[admin] Referme la marque ouverte. À faire en fin de séance : la marque suivante ne doit\npas hériter de la précédente par simple oubli. Un connecteur épinglé (D67) n'a rien à refermer —\net refermer depuis lui toucherait la session du connecteur `/mcp` nu, pas la sienne.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"logicalName":"close_client","displayName":"close_client","title":"close_client","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_memory","description":"Sert la mémoire de la marque du token : foundations, design_tokens, patterns.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_memory","displayName":"get_memory","title":"get_memory"},{"name":"set_foundation","description":"[da] Met à jour l'état courant d'un layer. Passe par le lint (D4) : refus si valeur en dur / token inconnu.","inputSchema":{"type":"object","required":["layer","content"],"properties":{"layer":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false},"logicalName":"set_foundation","displayName":"set_foundation","title":"set_foundation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_token","description":"[da] Crée/maj un design_token de la marque (name→value).","inputSchema":{"type":"object","required":["group","name","value"],"properties":{"name":{"type":"string"},"group":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false},"logicalName":"set_token","displayName":"set_token","title":"set_token","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_page","description":"Publie un HTML autonome en preprod (Storage privé + ligne pages) ET le mesure.","inputSchema":{"type":"object","required":["title","html"],"properties":{"html":{"type":"string"},"kind":{"type":"string","default":"page"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"retours":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"note_retours":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"figma_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"publish_page","displayName":"publish_page","title":"publish_page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_page_from_upload","description":"Publie une page dont le HTML ne passe PAS par la conversation — pour les pages lourdes\n(import d'un site existant, balisage de plusieurs centaines de Ko).","inputSchema":{"type":"object","required":["title"],"properties":{"kind":{"type":"string","default":"page"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"retours":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"note_retours":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"figma_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"publish_page_from_upload","displayName":"publish_page_from_upload","title":"publish_page_from_upload","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"lint_support","description":"Mesure un HTML contre la mémoire de la marque, SANS rien publier ni écrire.","inputSchema":{"type":"object","required":["html"],"properties":{"html":{"type":"string"},"kind":{"type":"string","default":"page"},"exclude":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lint_support","displayName":"lint_support","title":"lint_support"},{"name":"tirer_direction","description":"Tire la direction de composition d'un support — un CALCUL, jamais un choix (le protocole\nde `variance-creative`, étape C : le modèle REÇOIT sa direction, il ne la négocie pas).","inputSchema":{"type":"object","required":["support","seq","directions"],"properties":{"seq":{"type":"string"},"support":{"type":"string"},"directions":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"tirer_direction","displayName":"tirer_direction","title":"tirer_direction"},{"name":"verifier_seed","description":"Recalcule le tirage de `tirer_direction` (mêmes entrées) et dit si la direction déclarée\nest bien celle qui devait sortir — le seul moyen de détecter un « tirage » choisi de tête,\nl'équivalent variance du scoreur qui s'auto-note.","inputSchema":{"type":"object","required":["support","seq","directions","direction"],"properties":{"seq":{"type":"string"},"support":{"type":"string"},"direction":{"type":"string"},"directions":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"verifier_seed","displayName":"verifier_seed","title":"verifier_seed"},{"name":"read_page","description":"Le HTML COMPLET de la tête d'une page — pour une relecture entière, pas pour une correction.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"read_page","displayName":"read_page","title":"read_page"},{"name":"find_in_page","description":"Cherche un texte EXACT dans le HTML stocké d'une page — l'étape « localiser » d'une correction.","inputSchema":{"type":"object","required":["slug","query"],"properties":{"slug":{"type":"string"},"query":{"type":"string"},"context":{"type":"integer","default":240},"max_matches":{"type":"integer","default":20}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_in_page","displayName":"find_in_page","title":"find_in_page"},{"name":"patch_page","description":"Corrige une page EN LIGNE en n'envoyant que l'ÉCART, et republie au même lien.","inputSchema":{"type":"object","required":["slug","edits"],"properties":{"kind":{"type":"string","default":"page"},"slug":{"type":"string"},"edits":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},"dry_run":{"type":"boolean","default":false},"retours":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"note_retours":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"patch_page","displayName":"patch_page","title":"patch_page","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_pages","description":"Les pages publiées de la marque : leur titre, leur slug, leur ADRESSE et l'environnement\n(preprod ou prod) où chacune est en ligne.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_pages","displayName":"list_pages","title":"list_pages"},{"name":"list_assets","description":"Les médias déposés de la marque (logos, photos, illustrations, fonts) et leur URL `/a/…`.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_assets","displayName":"list_assets","title":"list_assets"},{"name":"record_support","description":"Enregistre un support généré ET garde son fichier : le HTML dans Pages, l'image dans Médias.","inputSchema":{"type":"object","required":["kind","title"],"properties":{"html":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"kind":{"type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"status":{"type":"string","default":"draft"},"hauteur":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"largeur":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"payload":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"verdict":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"page_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"image_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"image_format":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"record_support","displayName":"record_support","title":"record_support","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_supports","description":"Les derniers supports produits de la marque : type, titre, score, geste, empreinte, contrat —\net, depuis D78, leur `page` (slug, path) et leur `media` (url `/a/…`) : là où le fichier est rangé.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_supports","displayName":"list_supports","title":"list_supports"},{"name":"write_report","description":"Écrit un report de review (score/verdict) lié à un support.","inputSchema":{"type":"object","required":["body"],"properties":{"body":{"type":"string"},"data":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"html":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"kind":{"type":"string","default":"page"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"verdict":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"support_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"write_report","displayName":"write_report","title":"write_report","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_open_feedback","description":"Les retours d'intégration ouverts de la marque — avec de quoi les TRAITER sans rien redemander.","inputSchema":{"type":"object","properties":{"screen_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_open_feedback","displayName":"list_open_feedback","title":"list_open_feedback"},{"name":"mark_feedback_applied","description":"[da] Marque un retour comme appliqué (`applied`), écarté (`dismissed`) ou rendu (`rendu`).","inputSchema":{"type":"object","required":["feedback_id"],"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"status":{"type":"string","default":"applied"},"feedback_id":{"type":"string"}},"additionalProperties":false},"logicalName":"mark_feedback_applied","displayName":"mark_feedback_applied","title":"mark_feedback_applied","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"prendre_retours","description":"[da] Dit au client que tu ATTAQUES ces retours — à appeler AVANT d'écrire la correction.","inputSchema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"logicalName":"prendre_retours","displayName":"prendre_retours","title":"prendre_retours","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rendre_retours","description":"[da] « Je ne peux pas faire ça seul » — tu rends la main au client, AVEC la raison.","inputSchema":{"type":"object","required":["ids","raison"],"properties":{"ids":{"type":"array","items":{"type":"string"}},"raison":{"type":"string"}},"additionalProperties":false},"logicalName":"rendre_retours","displayName":"rendre_retours","title":"rendre_retours","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"voir_page","description":"Voir la page RENDUE, en image — tes yeux sur ce que le client regarde.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"},"largeur":{"type":"integer","default":1280},"selecteur":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"voir_page","displayName":"voir_page","title":"voir_page"},{"name":"appliquer_apercu","description":"[da] Applique un APERÇU de style dans la page OUVERTE du client — elle change sous ses yeux,\nsans republication ni rechargement. C'est le `apply_changes` de la boucle : montrer un essai\nAVANT de livrer.","inputSchema":{"type":"object","required":["page_slug","changes"],"properties":{"changes":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},"effacer":{"type":"boolean","default":false},"page_slug":{"type":"string"}},"additionalProperties":false},"logicalName":"appliquer_apercu","displayName":"appliquer_apercu","title":"appliquer_apercu","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"propose_rule","description":"Propose un candidat-mémoire (foundation|token|pattern|rule) → file de validation.","inputSchema":{"type":"object","required":["target","payload"],"properties":{"target":{"type":"string"},"payload":{"type":"object","additionalProperties":true}},"additionalProperties":false},"logicalName":"propose_rule","displayName":"propose_rule","title":"propose_rule","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_proposals","description":"La file propose → valide de la marque : ce qui attend une décision du DA.","inputSchema":{"type":"object","properties":{"status":{"type":"string","default":"pending"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_proposals","displayName":"list_proposals","title":"list_proposals"},{"name":"validate_rule","description":"[da] Valide une proposition → écrit la mémoire (lint) + grave une consolidation.","inputSchema":{"type":"object","required":["proposal_id","validated_by_label"],"properties":{"proposal_id":{"type":"string"},"validated_by_label":{"type":"string"}},"additionalProperties":false},"logicalName":"validate_rule","displayName":"validate_rule","title":"validate_rule","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"reject_rule","description":"[da] Refuse une proposition : elle sort de la file, rien n'entre en mémoire.","inputSchema":{"type":"object","required":["proposal_id","rejected_by_label"],"properties":{"motif":{"type":"string","default":""},"proposal_id":{"type":"string"},"rejected_by_label":{"type":"string"}},"additionalProperties":false},"logicalName":"reject_rule","displayName":"reject_rule","title":"reject_rule","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_skills","description":"Le CATALOGUE des skills servis au token : nom, résumé, taille — SANS les corps.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_skills","displayName":"list_skills","title":"list_skills"},{"name":"get_skill","description":"Le corps d'un skill du catalogue (ou d'un fichier de référence `x/references/y`).","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"outils_vus":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_skill","displayName":"get_skill","title":"get_skill"},{"name":"create_brand_skill","description":"[da] Crée/maj un skill custom de la marque (surcharge le global de même nom).","inputSchema":{"type":"object","required":["name","body"],"properties":{"body":{"type":"string"},"name":{"type":"string"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"create_brand_skill","displayName":"create_brand_skill","title":"create_brand_skill","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"push_skill","description":"[admin] Écrit un skill. Sans `brand` : global, servi à TOUTES les marques. Avec `brand`\n(slug ou uuid) : un override qui ne part que chez ce client-là et masque le global de même nom.","inputSchema":{"type":"object","required":["name","body"],"properties":{"body":{"type":"string"},"name":{"type":"string"},"brand":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"push_skill","displayName":"push_skill","title":"push_skill","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"skills_catalogue","description":"[admin] Tous les skills et leur diffusion : scope, audience, et qui les reçoit.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"skills_catalogue","displayName":"skills_catalogue","title":"skills_catalogue"},{"name":"demarrer","description":"Panneau d'accueil — À APPELER AU PREMIER MESSAGE d'une conversation, avant toute autre chose.","inputSchema":{"type":"object","properties":{"version":{"type":"integer","default":0}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"demarrer","displayName":"demarrer","title":"demarrer"},{"name":"panneau","description":"Réservé au panneau d'accueil (interface) — le modèle n'a pas à appeler ceci, il a `demarrer`.","inputSchema":{"type":"object","properties":{"client":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"panneau","displayName":"panneau","title":"panneau"},{"name":"get_brand_examples","description":"Récupère les exemples few-shot de la marque (avant génération).","inputSchema":{"type":"object","properties":{"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_brand_examples","displayName":"get_brand_examples","title":"get_brand_examples"},{"name":"add_brand_example","description":"[da] Ajoute un exemple few-shot (reference/own_good/dodont…) à la marque.","inputSchema":{"type":"object","required":["kind","title"],"properties":{"kind":{"type":"string"},"payload":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"add_brand_example","displayName":"add_brand_example","title":"add_brand_example","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_onboarding_template","description":"Le plan de la mémoire à remplir : chaque couche, ce qu'on y attend, et si elle est déjà écrite.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_onboarding_template","displayName":"get_onboarding_template","title":"get_onboarding_template"},{"name":"list_foundation_gaps","description":"Ce qui manque dans la mémoire, mesurablement : couche absente, trop mince, tokens absents.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_foundation_gaps","displayName":"list_foundation_gaps","title":"list_foundation_gaps"},{"name":"calibrate","description":"Compte les valeurs encore écrites À LA MAIN dans la prose de marque. Objectif : `manual: 0`.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"logicalName":"calibrate","displayName":"calibrate","title":"calibrate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"export_identity","description":"Exporte l'identité : foundations + design_tokens + CSS dérivé (réversibilité client, D22a).","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"export_identity","displayName":"export_identity","title":"export_identity"},{"name":"import_identity","description":"[da] Recharge une identité exportée. Tokens d'abord, prose ensuite (le lint refuse un token inconnu).","inputSchema":{"type":"object","required":["payload"],"properties":{"payload":{"type":"object","additionalProperties":true},"overwrite":{"type":"boolean","default":false}},"additionalProperties":false},"logicalName":"import_identity","displayName":"import_identity","title":"import_identity","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"creer_theme","description":"[admin] Crée un thème vide dans le catalogue, avec ses hôtes de pages.","inputSchema":{"type":"object","required":["slug","nom"],"properties":{"nom":{"type":"string"},"slug":{"type":"string"}},"additionalProperties":false},"logicalName":"creer_theme","displayName":"creer_theme","title":"creer_theme","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"lister_themes","description":"[admin] Le catalogue des thèmes et l'état réel de chacun (rôles, foundations, démo, note).","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lister_themes","displayName":"lister_themes","title":"lister_themes"},{"name":"appliquer_theme","description":"[da] Pose l'identité d'un thème comme POINT DE DÉPART de la marque ouverte (spec/91 § 4).","inputSchema":{"type":"object","required":["theme"],"properties":{"theme":{"type":"string"},"overwrite":{"type":"boolean","default":false}},"additionalProperties":false},"logicalName":"appliquer_theme","displayName":"appliquer_theme","title":"appliquer_theme","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"verifier_palette","description":"[admin] Mesure une palette de rôles AVANT de la graver : les 4 paires de contraste WCAG.","inputSchema":{"type":"object","required":["clair"],"properties":{"clair":{"type":"object","additionalProperties":{"type":"string"}},"sombre":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"default":null},"exceptions":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"verifier_palette","displayName":"verifier_palette","title":"verifier_palette"},{"name":"deposer_asset","description":"Dépose une image dans le dossier de la marque ouverte → utilisable en `/a/<chemin>`.","inputSchema":{"type":"object","required":["chemin","contenu_base64"],"properties":{"kind":{"type":"string","default":"photo"},"meta":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"chemin":{"type":"string"},"contenu_base64":{"type":"string"}},"additionalProperties":false},"logicalName":"deposer_asset","displayName":"deposer_asset","title":"deposer_asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"lire_asset_texte","description":"Lit un fichier texte partagé du site (`/a/*.css`, `/a/*.js`) : contenu + sha256.","inputSchema":{"type":"object","required":["chemin"],"properties":{"chemin":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lire_asset_texte","displayName":"lire_asset_texte","title":"lire_asset_texte"},{"name":"lire_asset_image","description":"Lit un média déposé de la marque : contenu en base64 + sha256 — le chemin de RETOUR.","inputSchema":{"type":"object","required":["chemin"],"properties":{"chemin":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lire_asset_image","displayName":"lire_asset_image","title":"lire_asset_image"},{"name":"decrire_asset","description":"Décrit un média DÉJÀ déposé : son rôle, sa pose, le prompt qui l'a produit.","inputSchema":{"type":"object","required":["chemin"],"properties":{"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"meta":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"chemin":{"type":"string"}},"additionalProperties":false},"logicalName":"decrire_asset","displayName":"decrire_asset","title":"decrire_asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"deposer_asset_texte","description":"Dépose un fichier texte partagé du site (`.css`/`.js`, texte brut) → servi en `/a/<chemin>`.","inputSchema":{"type":"object","required":["chemin","contenu"],"properties":{"label":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"chemin":{"type":"string"},"contenu":{"type":"string"},"sha256_attendu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"deposer_asset_texte","displayName":"deposer_asset_texte","title":"deposer_asset_texte","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"traiter_image","description":"Applique une recette d'image à un média déposé (service `imagerie`) et range le résultat.","inputSchema":{"type":"object","required":["chemin","etapes"],"properties":{"chemin":{"type":"string"},"etapes":{"type":"array","items":{"type":"object","additionalProperties":true}},"format":{"type":"string","default":"PNG"},"sortie":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"logicalName":"traiter_image","displayName":"traiter_image","title":"traiter_image","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"detourer_asset","description":"Détoure un média déposé (fond retiré, îlots nettoyés, recadré au sujet) → PNG transparent.","inputSchema":{"type":"object","required":["chemin"],"properties":{"pad":{"type":"integer","default":12},"chemin":{"type":"string"},"modele":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"sortie":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"matting":{"type":"boolean","default":false}},"additionalProperties":false},"logicalName":"detourer_asset","displayName":"detourer_asset","title":"detourer_asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"poser_logo","description":"Pose le VRAI logo de la marque sur une image déposée — la seule façon qu'il soit EXACT.","inputSchema":{"type":"object","required":["chemin"],"properties":{"logo":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"marge":{"type":"number","default":0.04},"chemin":{"type":"string"},"format":{"type":"string","default":"PNG"},"sortie":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"largeur":{"type":"number","default":0.18},"opacite":{"type":"number","default":1.0},"position":{"type":"string","default":"bas-droite"}},"additionalProperties":false},"logicalName":"poser_logo","displayName":"poser_logo","title":"poser_logo","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"verifier_detourage","description":"Contrôle MÉCANIQUE le sujet entier d'un détourage — OBLIGATOIRE avant de le poser.","inputSchema":{"type":"object","required":["chemin"],"properties":{"seuil":{"type":"number","default":0.06},"chemin":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"verifier_detourage","displayName":"verifier_detourage","title":"verifier_detourage"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=DesignBrain&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuZGVzaWduYnJhaW4uZnIvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22DesignBrain%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.designbrain.fr%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22DesignBrain%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.designbrain.fr%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=DesignBrain&connectorUrl=https%3A%2F%2Fmcp.designbrain.fr%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"DesignBrain\" --url \"https://mcp.designbrain.fr/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/designbrain-mcp-caade00ef2","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/designbrain-mcp-caade00ef2/tools/{tool}","mcpServerUrl":"https://mcp.designbrain.fr/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/designbrain-mcp-caade00ef2?live=1"}