2026-04-15 12:06:28 +00:00
|
|
|
# Exemple minimal
|
|
|
|
|
|
|
|
|
|
```go
|
|
|
|
|
type Profile struct {
|
|
|
|
|
BaseURL string `json:"base_url"`
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-16 14:56:00 +00:00
|
|
|
var embeddedManifest = `...` // fallback utilisé si aucun mcp.toml runtime n'est trouvé
|
|
|
|
|
|
2026-04-15 12:06:28 +00:00
|
|
|
func run(ctx context.Context, flagProfile string) error {
|
|
|
|
|
cfgStore := config.NewStore[Profile]("my-mcp")
|
|
|
|
|
|
|
|
|
|
cfg, _, err := cfgStore.LoadDefault()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
profileName := cli.ResolveProfileName(flagProfile, os.Getenv("MY_MCP_PROFILE"), cfg.CurrentProfile)
|
|
|
|
|
profile := cfg.Profiles[profileName]
|
|
|
|
|
|
2026-04-16 14:56:00 +00:00
|
|
|
manifestFile, _, err := manifest.LoadDefaultOrEmbedded(".", embeddedManifest)
|
2026-04-15 12:06:28 +00:00
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
err = update.Run(ctx, update.Options{
|
|
|
|
|
CurrentVersion: version,
|
|
|
|
|
BinaryName: "my-mcp",
|
|
|
|
|
ReleaseSource: manifestFile.Update.ReleaseSource(),
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_ = profile
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
```
|