mcp-framework/docs/minimal-example.md

63 lines
1 KiB
Markdown

# Exemple minimal
Cet exemple suppose qu'un `mcp.toml` existe à la racine du module et que le
package généré est à jour :
```bash
mcp-framework generate
```
Exemple de runner Go :
```go
package main
import (
"context"
"fmt"
"os"
"example.com/my-mcp/mcpgen"
"forge.lclr.dev/AI/mcp-framework/config"
"forge.lclr.dev/AI/mcp-framework/update"
)
var version = "dev"
type Profile struct {
BaseURL string `json:"base_url"`
}
func main() {
if err := run(context.Background()); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
func run(ctx context.Context) error {
cfgStore := config.NewStore[Profile](mcpgen.BinaryName)
cfg, _, err := cfgStore.LoadDefault()
if err != nil {
return err
}
_, source, err := mcpgen.LoadManifest(".")
if err != nil {
return err
}
fmt.Println("manifest:", source)
updateOptions, err := mcpgen.UpdateOptions(version, os.Stdout)
if err != nil {
return err
}
if err := update.Run(ctx, updateOptions); err != nil {
return err
}
_ = cfg
return nil
}
```