mcp-framework/docs/generate.md

1.7 KiB

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 :

mcp-framework generate

La commande lit ./mcp.toml, valide son contenu avec le package manifest, et génère :

mcpgen/
  manifest.go

Le fichier généré expose :

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 :

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.