# mcp-framework `mcp-framework` est une bibliothèque Go et un petit CLI pour construire des binaires MCP avec une base commune : CLI, configuration locale, secrets, manifeste `mcp.toml`, diagnostic et auto-update. ## Installation Dans un projet Go : ```bash go get forge.lclr.dev/AI/mcp-framework ``` Pour utiliser le CLI : ```bash go install forge.lclr.dev/AI/mcp-framework/cmd/mcp-framework@latest ``` ## Créer un projet MCP ```bash mcp-framework scaffold init \ --target ./my-mcp \ --module example.com/my-mcp \ --binary my-mcp \ --profiles dev,prod cd my-mcp go mod tidy go run ./cmd/my-mcp help ``` Le scaffold crée une arborescence prête à adapter : ```text cmd//main.go internal/app/app.go mcp.toml install.sh README.md ``` ## Générer la glue depuis `mcp.toml` Dans un projet qui possède un `mcp.toml` à la racine : ```bash mcp-framework generate ``` La commande génère un package `mcpgen/` avec un loader de manifeste embarqué, des helpers de métadonnées, update, secret store, et des helpers de config si `[[config.fields]]` est déclaré. En CI : ```bash mcp-framework generate --check ``` ## Utiliser les packages Les packages peuvent être utilisés séparément : - `bootstrap` : CLI commune (`setup`, `login`, `mcp`, `config`, `update`, `version`). - `cli` : résolution de profil, setup interactif, résolution `flag/env/config/secret`, doctor. - `config` : stockage JSON versionné dans le répertoire de config utilisateur. - `manifest` : lecture de `mcp.toml` et fallback embarqué. - `secretstore` : keyring natif, environnement ou Bitwarden CLI. - `update` : téléchargement et remplacement du binaire depuis une release. - `scaffold` : génération d'un squelette de projet. - `generate` : génération de code Go depuis `mcp.toml`. ## Documentation - [Vue d'ensemble](docs/README.md) - [Installation et utilisation](docs/getting-started.md) - [Packages](docs/packages.md) - [Bootstrap CLI](docs/bootstrap-cli.md) - [Manifeste `mcp.toml`](docs/manifest.md) - [Génération depuis `mcp.toml`](docs/generate.md) - [Scaffolding](docs/scaffolding.md) - [Config JSON](docs/config.md) - [Secrets](docs/secrets.md) - [Helpers CLI](docs/cli-helpers.md) - [Auto-update](docs/auto-update.md) - [Exemple minimal](docs/minimal-example.md) - [Limites](docs/limitations.md)