MCP Compose : simplifier la config Claude

"Passer d’un JSON illisible à un YAML propre, puis revenir en arrière sans se demander ce qui va casser."

J’ai ouvert aujourd’hui le dépôt mcp-compose. Le but : gérer les MCP (Model Context Protocol) de Claude sans toucher directement au .claude.json. L’outil transforme ce fichier en YAML lisible, permet de l’éditer comme un docker-compose, puis réécrit automatiquement le JSON pour Claude. Il servira aussi de passerelle vers un marketplace d’extensions pour installer ou mettre à jour un MCP en un seul clic.

Ce qu’il y a dedans

  • ./mcp-compose dump lit ~/.claude/config/.claude.json et génère un YAML structuré (mcp-compose.yaml) par serveur, variables et options.
  • ./mcp-compose apply <fichier.yaml> pousse les modifications dans le JSON de Claude, en respectant la structure attendue et en conservant un backup.
  • ./mcp-compose convert <config.json> <project-path> sert à migrer d’anciens exports ou à préparer un dossier de travail prêt à versionner.
  • Un sous-ensemble marketplace (marketplace/) décrit chaque MCP dans un manifeste ; les commandes interactives installent les serveurs et ajoutent automatiquement leur configuration.
  • Des garanties de validation : schéma JSON, messages d’erreur explicites et sauvegarde du fichier original pour éviter de perdre ses MCP.

Commandes disponibles

Usage:
  ./mcp-compose init                                              - Initialize mcp-compose configuration
  ./mcp-compose dump                                              - Extract MCP servers from Claude config to YAML
  ./mcp-compose apply <config.yaml>                               - Update Claude config with MCP servers from YAML
  ./mcp-compose convert <config.json> <project-path>              - Convert JSON MCP config to YAML and optionally apply
  ./mcp-compose delete <config.yaml> <server-name> <project-path> - Delete MCP server from YAML and optionally from Claude config

Marketplace commands:
  ./mcp-compose marketplace list                                  - Browse and install MCP servers from marketplace (interactive)
  ./mcp-compose marketplace search <query>                        - Search for MCP servers in marketplace
  ./mcp-compose marketplace install <name> <project-path>         - Install an MCP server from marketplace

Lancer le projet

git clone https://github.com/flug/mcp-compose
cd mcp-compose
go build -o ./mcp-compose ./cmd/mcp-compose
./mcp-compose init
./mcp-compose dump

Ensuite, édite mcp-compose.yaml, ajoute ou retire un serveur, puis exécute ./mcp-compose apply mcp-compose.yaml pour synchroniser Claude. La CLI crée un backup horodaté dans ~/.claude/backups/ avant toute écriture. Le binaire est autonome : on peut le copier dans /usr/local/bin (ou l’exposer via go install ./cmd/mcp-compose@latest) et l’exécuter hors agent.

L’approche évite les erreurs de guillemets dans le JSON et documente l’ensemble des MCP. Chaque entrée du marketplace peut embarquer des scripts d’installation, des variables par défaut et des liens vers la doc officielle.

Pourquoi maintenant ?

Éditer manuellement .claude.json devient vite pénible : certaines valeurs doivent rester sur une même ligne, d’autres se répètent, et il n’existe pas d’outil pour versionner proprement la configuration. mcp-compose offre un format humain, compatible git, et prépare l’arrivée d’un catalogue commun pour partager des presets entre machines.