# Génération depuis `mcp.toml` La commande `mcp-framework generate` génère la glue Go dérivée du manifeste racine d'un projet existant. Le premier usage couvert est le loader de manifeste embarqué. ## Usage Depuis la racine du projet consommateur : ```bash mcp-framework generate ``` La commande lit `./mcp.toml`, valide son contenu avec le package `manifest`, et génère : ```text mcpgen/ manifest.go ``` Le fichier généré expose : ```go func LoadManifest(startDir string) (manifest.File, string, error) ``` Cette fonction appelle `manifest.LoadDefaultOrEmbedded`. En développement, un `mcp.toml` présent sur disque reste prioritaire. Pour un binaire copié seul, elle utilise le contenu du manifeste embarqué au moment de la génération. ## Flags - `--manifest` : chemin du `mcp.toml` à lire. Par défaut, `./mcp.toml`. - `--package-dir` : répertoire du package généré. Par défaut, `mcpgen`. - `--package-name` : nom du package Go généré. Par défaut, dérivé du dossier. - `--check` : mode CI, échoue si les fichiers générés sont absents ou obsolètes. Exemple CI : ```bash mcp-framework generate --check ``` ## Migration d'un wrapper manuel Pour remplacer un wrapper local du type `internal/manifest` : 1. Déplacer le manifeste projet vers `mcp.toml` à la racine. 2. Lancer `mcp-framework generate`. 3. Remplacer les imports du wrapper local par le package généré, par exemple `example.com/my-mcp/mcpgen`. 4. Remplacer les appels `manifest.Load(...)` du wrapper par `mcpgen.LoadManifest(...)`. 5. Supprimer l'ancien wrapper manuel. Après génération, un simple `go build ./...` suffit. La compilation ne dépend pas de la commande `mcp-framework`.