on main help sign in
fix: panic at mcp config (#860)

* fix: panic at mcp config Signed-off-by: Yash Khare <khareyash05@gmail.com> * better logging Signed-off-by: Yash Khare <khareyash05@gmail.com> --------- Signed-off-by: Yash Khare <khareyash05@gmail.com>

commit6268f1e23a976041578fe3499f2271465232dc61 authorYash Khare <yash2010118@akgec.ac.in> dateSat 23 Aug 2025, 11:15 (1 year ago) parentf4f9d01
1 file changed+9
internal/llm/agent/mcp-tools.go+9
internal/llm/agent/mcp-tools.go+9
@@ -351,6 +351,9 @@ func createAndInitializeClient(ctx context.Context, name string, m config.MCPCon
351351func createMcpClient(m config.MCPConfig) (*client.Client, error) {
352352 switch m.Type {
353353 case config.MCPStdio:
354+ if strings.TrimSpace(m.Command) == "" {
355+ return nil, fmt.Errorf("mcp stdio config requires a non-empty 'command' field")
356+ }
354357 return client.NewStdioMCPClientWithOptions(
355358 m.Command,
356359 m.ResolvedEnv(),
@@ -358,12 +361,18 @@ func createMcpClient(m config.MCPConfig) (*client.Client, error) {
358361 transport.WithCommandLogger(mcpLogger{}),
359362 )
360363 case config.MCPHttp:
364+ if strings.TrimSpace(m.URL) == "" {
365+ return nil, fmt.Errorf("mcp http config requires a non-empty 'url' field")
366+ }
361367 return client.NewStreamableHttpClient(
362368 m.URL,
363369 transport.WithHTTPHeaders(m.ResolvedHeaders()),
364370 transport.WithHTTPLogger(mcpLogger{}),
365371 )
366372 case config.MCPSse:
373+ if strings.TrimSpace(m.URL) == "" {
374+ return nil, fmt.Errorf("mcp sse config requires a non-empty 'url' field")
375+ }
367376 return client.NewSSEMCPClient(
368377 m.URL,
369378 client.WithHeaders(m.ResolvedHeaders()),