/ Annuaire / Playground / shadcn/ui MCP Server
● Communauté Jpisnice ⚡ Instantané

shadcn/ui MCP Server

par Jpisnice · Jpisnice/shadcn-ui-mcp-server

Arrêtez de copier-coller les composants shadcn/ui — Claude récupère la source actuelle, les dépendances et la commande d'installation au moment de la conversation, sans connaissance obsolète.

Le serveur MCP shadcn/ui récupère la source de composants à jour, les démos, les commandes d'installation et les dépendances directement depuis le registre shadcn/ui. Supporte les variantes React, Vue (Vite/Nuxt), Svelte 5 et React Native. Élimine la classe de bugs « Claude a écrit un composant avec l'API de l'année dernière ».

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

shadcn-ui-mcp.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "shadcn-ui-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@jpisnice/shadcn-ui-mcp-server"
      ]
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "shadcn-ui-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@jpisnice/shadcn-ui-mcp-server"
      ]
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "shadcn-ui-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@jpisnice/shadcn-ui-mcp-server"
      ]
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "shadcn-ui-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@jpisnice/shadcn-ui-mcp-server"
      ]
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "shadcn-ui-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@jpisnice/shadcn-ui-mcp-server"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "shadcn-ui-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@jpisnice/shadcn-ui-mcp-server"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add shadcn-ui-mcp -- npx -y @jpisnice/shadcn-ui-mcp-server

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : shadcn/ui MCP Server

Créer un formulaire shadcn/ui sans dérive d'API

👤 Développeurs frontend construisant des applications React/Next ⏱ ~20 min intermediate

Quand l'utiliser : Vous voulez un Form + react-hook-form + Zod, mais Claude continue d'utiliser des imports shadcn obsolètes.

Prérequis
  • Application Next.js / Vite avec shadcn/ui initialisénpx shadcn@latest init
Déroulement
  1. Récupérer la source Form actuelle
    MCP shadcn-ui : récupère la source actuelle pour form (React) ainsi que ses dépendances. Montre-moi la commande d'installation.✓ Copié
    → Dernière source retournée ; la liste des dépendances inclut react-hook-form, zod
  2. Construire mon formulaire
    Construis maintenant un SignupForm avec ces APIs exactes. Email + mot de passe + case à cocher pour les conditions ; schéma Zod avec messages de validation. Pas d'imports inventés.✓ Copié
    → Le composant compile avec la version shadcn actuelle
  3. Vérifier
    Lance tsc --noEmit et signale les imports non résolus.✓ Copié
    → Vérification TS propre

Résultat : Un formulaire fonctionnel contre l'API shadcn/ui actuelle — pas d'erreurs import { ... } from '@/components/ui/old-name'.

Pièges
  • Le projet est sur une ancienne version de shadcn — Épinglez via --registry ou acceptez la mise à jour et lancez shadcn upgrade
Combiner avec : filesystem

Intégrer un bloc shadcn (auth/dashboard)

👤 Devs ayant besoin de mises en page préconstruites ⏱ ~15 min beginner

Quand l'utiliser : Vous avez besoin d'une page de connexion complète ou d'un layout de dashboard, pas juste d'un composant.

Déroulement
  1. Parcourir les blocs
    shadcn-ui : liste les blocs disponibles. Je veux un layout de dashboard avec sidebar.✓ Copié
    → Liste de blocs avec noms + aperçus
  2. Récupérer et adapter
    Récupère la source de sidebar-07. Adapte-la à mes routes — remplace les liens de démo par /dashboard, /clients, /settings.✓ Copié
    → Code du bloc retourné ; mes chemins swappés

Résultat : Layout de dashboard complet en cours d'exécution, personnalisé pour mon application, en moins de 10 min.

Pièges
  • Le bloc dépend de composants que vous n'avez pas installés — Le MCP retourne la liste des dépendances ; installez d'abord les manquants
Combiner avec : filesystem

Porter l'usage shadcn d'une application React vers Svelte

👤 Devs migrant de framework ⏱ ~30 min advanced

Quand l'utiliser : Vous passez de Next à SvelteKit et voulez les équivalents shadcn-svelte.

Déroulement
  1. Mapper les composants
    Liste les composants que mon application importe depuis @/components/ui. Pour chacun, récupère l'équivalent Svelte 5 depuis le MCP shadcn-ui.✓ Copié
    → Mapping composant par composant avec notes sur les différences d'API
  2. Traduire un exemple
    Traduis cet usage de Form React vers la version Svelte en utilisant l'API actuelle réelle.✓ Copié
    → Code Svelte 5 idiomatique

Résultat : Plan de migration + traduction de référence pour que l'équipe suive.

Pièges
  • Certains composants n'existent pas encore dans le port Svelte — Le MCP dira 'non trouvé' ; signalez ceux-là pour un port manuel

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

shadcn-ui-mcp + filesystem

Générer des composants directement dans votre dépôt

shadcn : récupère Form. Filesystem : écris le code dans src/components/SignupForm.tsx avec mon schema.✓ Copié
shadcn-ui-mcp + github

PR d'un refactoring UI qui utilise l'API shadcn actuelle

Récupère l'API Dialog actuelle. Refactorise src/components/Modal.tsx pour correspondre. Ouvre une PR.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
list_components framework?: react|vue|svelte|react-native Découverte 1 fetch
get_component name: str, framework?: str Avant d'écrire du code 1 fetch
get_component_demo name: str, framework?: str Voir un usage réel 1 fetch
list_blocks framework?: str Trouver des mises en page préconstruites 1 fetch
get_block name: str Intégrer un layout 1 fetch

Coût et limites

Coût d'exécution

Quota d'API
Fetches GitHub bruts (60/h sans authentification, 5000/h authentifié)
Tokens par appel
300–4000 (la source des composants peut être volumineuse)
Monétaire
OSS gratuit
Astuce
Passez GITHUB_PERSONAL_ACCESS_TOKEN pour éviter la limite de 60/h

Sécurité

Permissions, secrets, portée

Stockage des identifiants : Token GitHub optionnel pour augmenter la limite de débit
Sortie de données : github.com (raw et api)
Ne jamais accorder : repo:write

Dépannage

Erreurs courantes et correctifs

Limite de débit dépassée

Définissez la variable d'env GITHUB_PERSONAL_ACCESS_TOKEN

Composant non trouvé dans le framework

Les ports Vue/Svelte sont en retard sur React ; vérifiez list_components pour ce framework

La source retournée utilise une API différente de mon projet

Le projet est sur une ancienne version de shadcn ; soit mettez à jour, soit épinglez vers l'ancienne version du registre

Alternatives

shadcn/ui MCP Server vs autres

AlternativeQuand l'utiliserCompromis
Magic MCP (21st Dev)Vous voulez une génération UI plus large, pas seulement shadcnPlus opinioné ; plus lourd
MCP de composants (registre personnalisé)Vous avez un système de design interneÀ construire soi-même

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills