From 102097222d6c9993cd33fdd094885eea9d74539d Mon Sep 17 00:00:00 2001 From: Virgil Date: Tue, 31 Mar 2026 18:08:03 +0000 Subject: [PATCH] refactor(mcp): remove dead stdio transport state Drop the unused stdioMode field, route Run() through ServeStdio(), and keep startup logging on the service logger. Co-Authored-By: Virgil --- pkg/mcp/mcp.go | 7 +------ pkg/mcp/register.go | 3 +-- pkg/mcp/transport_stdio.go | 1 - 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/pkg/mcp/mcp.go b/pkg/mcp/mcp.go index 218b755..cf30975 100644 --- a/pkg/mcp/mcp.go +++ b/pkg/mcp/mcp.go @@ -39,7 +39,6 @@ type Service struct { wsServer *http.Server // WebSocket HTTP server (optional) wsAddr string // WebSocket server address wsMu sync.Mutex // Protects wsServer and wsAddr - stdioMode bool // True when running via stdio transport tools []ToolRecord // Parallel tool registry for REST bridge } @@ -668,11 +667,7 @@ func (s *Service) Run(ctx context.Context) error { if addr := core.Env("MCP_ADDR"); addr != "" { return s.ServeTCP(ctx, addr) } - s.stdioMode = true - return s.server.Run(ctx, &mcp.IOTransport{ - Reader: os.Stdin, - Writer: sharedStdout, - }) + return s.ServeStdio(ctx) } // countOccurrences counts non-overlapping instances of substr in s. diff --git a/pkg/mcp/register.go b/pkg/mcp/register.go index 5708832..34bd985 100644 --- a/pkg/mcp/register.go +++ b/pkg/mcp/register.go @@ -6,7 +6,6 @@ import ( "context" core "dappco.re/go/core" - "forge.lthn.ai/core/go-log" ) // Register is the service factory for core.WithService. @@ -68,7 +67,7 @@ func (s *Service) OnStartup(ctx context.Context) core.Result { c.Command("serve", core.Command{ Description: "Start as a persistent HTTP daemon", Action: func(opts core.Options) core.Result { - log.Default().Info("MCP HTTP server starting") + s.logger.Info("MCP HTTP server starting") if err := s.Run(ctx); err != nil { return core.Result{Value: err, OK: false} } diff --git a/pkg/mcp/transport_stdio.go b/pkg/mcp/transport_stdio.go index bd32d58..5d1e197 100644 --- a/pkg/mcp/transport_stdio.go +++ b/pkg/mcp/transport_stdio.go @@ -16,7 +16,6 @@ import ( // } func (s *Service) ServeStdio(ctx context.Context) error { s.logger.Info("MCP Stdio server starting", "user", log.Username()) - s.stdioMode = true return s.server.Run(ctx, &mcp.IOTransport{ Reader: os.Stdin, Writer: sharedStdout,