mcp-framework/README.md

91 lines
2.3 KiB
Markdown
Raw Normal View History

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-05-02 10:07:34 +00:00
Dans un projet Go :
2026-04-13 13:53:53 +00:00
```bash
go get gitea.lclr.dev/AI/mcp-framework
```
2026-05-02 10:07:34 +00:00
Pour utiliser le CLI :
2026-04-14 13:59:18 +00:00
```bash
go install gitea.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`.
## 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)