@@ -308,29 +308,31 @@ func doGetMCPTools(ctx context.Context, permissions permission.Service, cfg *con
308func createMcpClient(m config.MCPConfig) (*client.Client, error) {
308func createMcpClient(m config.MCPConfig) (*client.Client, error) {
309 switch m.Type {
309 switch m.Type {
310 case config.MCPStdio:
310 case config.MCPStdio:
311− return client.NewStdioMCPClient(
311+ return client.NewStdioMCPClientWithOptions(
312 m.Command,
312 m.Command,
313 m.ResolvedEnv(),
313 m.ResolvedEnv(),
314− m.Args...,
314+ m.Args,
315+ transport.WithCommandLogger(mcpLogger{}),
316 case config.MCPHttp:
317 case config.MCPHttp:
317 return client.NewStreamableHttpClient(
318 return client.NewStreamableHttpClient(
319 transport.WithHTTPHeaders(m.ResolvedHeaders()),
320 transport.WithHTTPHeaders(m.ResolvedHeaders()),
320− transport.WithLogger(mcpHTTPLogger{}),
321+ transport.WithHTTPLogger(mcpLogger{}),
322 case config.MCPSse:
323 case config.MCPSse:
323 return client.NewSSEMCPClient(
324 return client.NewSSEMCPClient(
325 client.WithHeaders(m.ResolvedHeaders()),
326 client.WithHeaders(m.ResolvedHeaders()),
327+ transport.WithSSELogger(mcpLogger{}),
328 return nil, fmt.Errorf("unsupported mcp type: %s", m.Type)
330 return nil, fmt.Errorf("unsupported mcp type: %s", m.Type)
332−// for MCP's HTTP client.
334+// for MCP's clients.
333−type mcpHTTPLogger struct{}
335+type mcpLogger struct{}
335−func (l mcpHTTPLogger) Errorf(format string, v ...any) { slog.Error(fmt.Sprintf(format, v...)) }
337+func (l mcpLogger) Errorf(format string, v ...any) { slog.Error(fmt.Sprintf(format, v...)) }
336−func (l mcpHTTPLogger) Infof(format string, v ...any) { slog.Info(fmt.Sprintf(format, v...)) }
338+func (l mcpLogger) Infof(format string, v ...any) { slog.Info(fmt.Sprintf(format, v...)) }