story-theme-mcp
v1.5.0
Published
Serveur MCP du Story Thème : votre assistant IA connaît le thème Shopify Story par cœur et construit des boutiques propres et professionnelles.
Maintainers
Readme
MCP Story Thème
Votre assistant IA connaît le Story Thème par cœur — chaque section, chaque bloc, chaque réglage — et construit des boutiques Shopify propres et professionnelles, sans jamais produire un fichier que Shopify refuserait.
Réservé aux titulaires d'une licence Story Thème. Le jeton se génère dans l'espace membre : Story Thème > MCP & Appli.
Vous : « Crée la boutique Maison Lumen : bougies parfumées coulées à la main à Lyon. »
IA : couleurs, polices, accueil de 9 sections, fiche produit, collection, pages Notre
histoire / Comment utiliser / Contact / FAQ / Suivi, thème traduit, démos retirées,
zip prêt à importer — puis trois questions pour affiner.Installation
Le plus simple — l'extension Claude. Téléchargez story-theme-mcp.mcpb depuis votre espace membre (page MCP & Appli) et ouvrez le fichier : Claude installe le serveur et vous demande votre jeton dans un formulaire. Rien d'autre à installer, Node compris.
Les deux méthodes ci-dessous restent valables si vous préférez configurer à la main. Elles demandent Node 20 ou plus (nodejs.org).
Claude (application) — Réglages > Développeur > Modifier la configuration, puis dans claude_desktop_config.json :
{
"mcpServers": {
"story-theme": {
"command": "npx",
"args": ["-y", "story-theme-mcp@latest"],
"env": { "STORY_MCP_TOKEN": "VOTRE_JETON" }
}
}
}Claude Code :
claude mcp add story-theme --scope user -e STORY_MCP_TOKEN=VOTRE_JETON -- npx -y story-theme-mcp@latestRedémarrez, puis demandez : « Sur quelle version du Story Thème travailles-tu ? »
Le mode d'emploi complet, avec les cas de dépannage : https://story-theme.com/mcp
Toujours la dernière version du thème
Le MCP ne contient pas le thème : au démarrage, il demande à l'espace membre la dernière version publiée, la télécharge une fois et la garde en cache. Une version sort, il la prend au démarrage suivant — rien à réinstaller. Hors ligne, il travaille sur la version en cache. Les comptes testeurs reçoivent la version en test (STORY_MCP_CANAL=test).
theme_source dit d'où vient le thème et vérifie les mises à jour à la demande.
Ce qu'il fait
| Étape | Outils |
|---|---|
| Connaître le thème | get_started, theme_source, search_theme, list_sections, get_section, list_blocks, get_block, get_theme_settings, get_theme_template, read_guide |
| S'inspirer | inspiration : les 11 boutiques démo composées par le designer — l'ossature de leurs pages, à regarder avant de construire |
| Concevoir | recipes (15 compositions de pages), generate_color_schemes, check_contrast, find_fonts |
| Construire vite | build_store : la V1 complète d'une boutique en un appel (direction artistique, pages de marque, moments signature, textes, traduction, zip) |
| Composer librement | compose_page : n'importe quelle page avec toutes les sections du thème, en donnant seulement le contenu (titre, texte, boutons, étapes, cartes, questions, chiffres…) |
| Construire | create_project, update_brief, apply_recipe, localize_template, list_texts, edit_template, write_file, update_theme_settings, read_file, exclude_template |
| Contrôler | validate_json, review_project, undo, revert_file |
| Livrer | export_theme (zip à importer + check-list), import_theme (auditer un thème téléchargé d'une boutique) |
| Vos boutiques | list_shops, shops_overview, shop_graphql (Admin GraphQL sur une, plusieurs ou toutes les boutiques), push_to_shop (écrire le projet dans un thème non publié, sans zip) — via l'appli Shopify Story Apps, sans aucune clé Shopify |
Prompts prêts à l'emploi : creer-boutique, refaire-une-page, auditer-un-theme. Les guides sont aussi exposés en ressources (storytheme://guides/<sujet>).
Garde-fous
- Aucun fichier invalide n'est enregistré. Chaque modèle, groupe de sections et
settings_data.jsonest validé contre les vrais schémas du thème : types de sections et de blocs, blocs privés, blocs statiques et leurs identifiants, réglages (identifiant, type, options, bornes et pas des curseurs), texte riche, liens, images, palettes, polices de la bibliothèque Shopify, limites Shopify (25 sections, 50 blocs, 8 niveaux). Les erreurs proposent la bonne orthographe (« vouliez-vous dire banner ? »). - Plus strict que Shopify Theme Check : sur un même fichier piégé, Theme Check ne voit que le bloc interdit ; le MCP refuse aussi le réglage inconnu et la valeur hors limites.
- Revue design : textes d'exemple ou en anglais laissés sur une boutique française, faux avis et faux chiffres des presets, bouton sans lien, plusieurs
<h1>, contrastes insuffisants (WCAG AA, boutons compris), polices dépréciées par Shopify (Futura → Jost…), compte à rebours qui redémarre et stock simulé (pratiques commerciales trompeuses), pop-ups multiples, rythme des palettes. - Jamais le code du thème : seuls
templates/*.json,sections/<groupe>.jsonetconfig/settings_data.jsonsont modifiables, dans un dossier de projet. Le Liquid, le CSS et le JS du thème ne sont jamais touchés, ni en local ni à distance. - Écrire dans une boutique reste encadré :
push_to_shopn'envoie que les fichiers du projet, refuse une boutique qui ne tourne pas sur un Story Thème de la même version majeure, refuse le thème publié sans confirmation explicite, et ne supprime jamais rien à distance. Les accès passent par l'appli Story Apps (OAuth par boutique, révocable par le marchand) et sont journalisés. - Historique : chaque écriture est précédée d'un instantané ;
undorevient en arrière autant de fois que nécessaire. - Export bloqué tant qu'une erreur bloquante reste ; signalé « pas prêt à publier » tant qu'un point 🔴 reste.
Variables
| Variable | Défaut | Rôle |
|---|---|---|
| STORY_MCP_TOKEN | — | Jeton personnel (espace membre > MCP & Appli). Vérifie la licence et donne accès au thème publié. |
| STORY_MCP_HOME | ~/Documents/Story Theme MCP | Projets, historique, exports, cache du thème. |
| STORY_MCP_LANGUAGE | fr | Langue par défaut des projets et des textes. |
| STORY_MCP_CANAL | stable | test pour la version en test du thème (comptes testeurs). |
| STORY_THEME_DIR | — | Dossier de thème local, prioritaire sur le thème publié. Pour développer le thème lui-même. |
| STORY_MCP_API | https://story-theme.com | Espace membre interrogé. |
Déroulé type
- Premier message (« Crée la boutique X, qui vend Y ») : l'IA appelle
build_storesans poser de question. En un appel : couleurs et polices selon le style, accueil de 8 à 10 sections, fiche produit, collection, pages à propos / contact / FAQ / suivi, reste du thème traduit, démos retirées, textes clés de la marque placés, zip exporté.- Photos : avec un connecteur Shopify, l'IA copie d'abord 3 à 6 belles photos de la boutique dans Contenu > Fichiers (
fileCreate) et les passe àbuild_store(images) : héro, histoire, ambiance. Seules les photos de 1600 px de large ou plus (images.large) vont en plein écran : une petite photo n'est jamais étirée. Sans photo : héro typographique sur la couleur de marque, et les sections qui exigent des photos sont remplacées. Jamais de carré « image manquante ». - Preuves : avis, note et chiffres uniquement réels (
proofs). Sans eux, les sections d'avis, de chiffres et de presse sont remplacées par des sections factuelles ou catalogue, pas supprimées. - Direction artistique (
direction) : editorial, minimal, organique, artisan, douceur, pop, energie, tech. Chacune règle arrondis, boutons, survols, transitions de page, formes de séparation animées et polices. - Moments signature (selon la direction et
copy) : manifeste qui s'illumine au défilement, mots qui tournent dans le titre, cartes empilées, étapes de fabrication. - Pages de marque créées d'office : Notre histoire (
page.story) et Comment utiliser (page.utilisation).
- Photos : avec un connecteur Shopify, l'IA copie d'abord 3 à 6 belles photos de la boutique dans Contenu > Fichiers (
- Elle résume la V1, donne le zip, puis pose 3 à 5 questions (collection principale, avis réels, conditions de livraison, couleur et logo, photos).
- Chaque réponse s'applique au projet en cours, sans le re-préciser.
review_project, puisexport_themepour un nouveau zip.- Dans Shopify : Boutique en ligne > Thèmes > Ajouter un thème > Importer un fichier zip, vérifier dans l'éditeur, suivre la check-list, publier.
Limites
Le MCP ne publie jamais un thème : il écrit dans un thème non publié, le marchand vérifie et publie lui-même. Sans l'appli Story Apps installée sur la boutique, il fabrique seulement un zip à importer. Il ne crée ni produits, ni collections, ni menus, ni images, ni réductions par lui-même : shop_graphql le permet quand une boutique est connectée, sinon la check-list les liste. Et il ne remplace pas une vérification visuelle dans l'éditeur Shopify.
Développement (New Story)
npm test # validateur, presets, recettes, couleurs, polices, projets, export, source, serveur MCP
npm run check # après une mise à jour du thème : presets, recettes et descriptions toujours valides ?
npm run fonts # recharge la bibliothèque de polices Shopify (shopify.dev)
npm run bundle # fabrique build/story-theme-mcp-<version>.mcpb (extension Claude, un clic)Après npm run bundle, déposer le .mcpb dans le dossier mcp/ de l'espace membre : la page MCP & Appli sert automatiquement la version la plus récente qu'elle y trouve.
Avec STORY_THEME_DIR sur le dépôt du thème, le MCP lit le thème en cours d'écriture et n'appelle pas l'espace membre. Les connaissances rédigées à la main vivent dans src/knowledge/ ; tout le reste vient du thème.
Publication : npm version <x.y.z> (mettre à jour src/version.js à l'identique), npm publish — prepublishOnly vérifie l'ensemble.
Licence
Propriétaire — voir LICENSE. Réservé aux licences Story Thème actives.
