Skip to content

Commit 6268f1e

Browse files
authored
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>
1 parent f4f9d01 commit 6268f1e

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

internal/llm/agent/mcp-tools.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,19 +351,28 @@ func createAndInitializeClient(ctx context.Context, name string, m config.MCPCon
351351
func 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(),
357360
m.Args,
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()),

0 commit comments

Comments
 (0)