1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| package cmd
import ( "context"
"github.com/muesli/coral" "github.com/pkg/errors" "go.uber.org/zap"
"{{{ .Package }}}/app" "{{{ .Package }}}/app/lib/log" "{{{ .Package }}}/app/lib/mcpserver" "{{{ .Package }}}/app/util" )
func mcpCmd() *coral.Command { f := func(*coral.Command, []string) error { return runMCP(rootCtx) } ret := &coral.Command{Use: "mcp", Short: "Handles Model Context Protocol requests", RunE: f} return ret }
func runMCP(ctx context.Context) error { // override logging l, err := log.InitDevLogging(log.GetLevel(zap.FatalLevel)) if err != nil { return errors.Wrap(err, "error initializing logging") } logger := l.Sugar() util.RootLogger = logger
if _, err = initIfNeeded(ctx); err != nil { return errors.Wrap(err, "error initializing application") } st, err := app.Bootstrap(ctx, _buildInfo, _flags.ConfigDir, _flags.Port, false, logger) if err != nil { return err } mcp, err := mcpserver.NewServer(ctx, st, logger) if err != nil { return err } if err := mcp.ServeCLI(ctx); err != nil { return err } return nil }
|