@@ -283,11 +283,14 @@ func doGetMCPTools(ctx context.Context, permissions permission.Service, cfg *con
283283 slog.Error("error creating mcp client", "error", err, "name", name)
284284 return
285285 }
286− if err := c.Start(ctx); err != nil {
287− updateMCPState(name, MCPStateError, err, nil, 0)
288− slog.Error("error starting mcp client", "error", err, "name", name)
289− _ = c.Close()
290− return
286+ // Only call Start() for non-stdio clients, as stdio clients auto-start
287+ if m.Type != config.MCPStdio {
288+ if err := c.Start(ctx); err != nil {
289+ updateMCPState(name, MCPStateError, err, nil, 0)
290+ slog.Error("error starting mcp client", "error", err, "name", name)
291+ _ = c.Close()
292+ return
293+ }
291294 }
292295 if _, err := c.Initialize(ctx, mcpInitRequest); err != nil {
293296 updateMCPState(name, MCPStateError, err, nil, 0)