2026-04-13 13:33:48 +00:00
|
|
|
# mcp-framework
|
|
|
|
|
|
2026-05-02 10:07:34 +00:00
|
|
|
`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.
|
2026-04-13 13:33:48 +00:00
|
|
|
|
2026-05-02 10:07:34 +00:00
|
|
|
## Installation
|
2026-04-13 13:46:28 +00:00
|
|
|
|
2026-05-02 10:07:34 +00:00
|
|
|
Dans un projet Go :
|
2026-04-13 13:53:53 +00:00
|
|
|
|
|
|
|
|
```bash
|
2026-05-05 10:23:14 +00:00
|
|
|
go get forge.lclr.dev/AI/mcp-framework
|
2026-04-13 13:53:53 +00:00
|
|
|
```
|
|
|
|
|
|
2026-05-02 10:07:34 +00:00
|
|
|
Pour utiliser le CLI :
|
2026-04-14 13:59:18 +00:00
|
|
|
|
|
|
|
|
```bash
|
2026-05-05 10:23:14 +00:00
|
|
|
go install forge.lclr.dev/AI/mcp-framework/cmd/mcp-framework@latest
|
2026-05-02 10:07:34 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Créer un projet MCP
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-04-14 13:59:18 +00:00
|
|
|
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
|
|
|
|
|
```
|
|
|
|
|
|
2026-05-02 10:07:34 +00:00
|
|
|
Le scaffold crée une arborescence prête à adapter :
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
cmd/<binary>/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`.
|
|
|
|
|
|
2026-04-15 12:06:28 +00:00
|
|
|
## Documentation
|
|
|
|
|
|
2026-05-02 10:07:34 +00:00
|
|
|
- [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)
|