@@ -308,29 +308,31 @@ func doGetMCPTools(ctx context.Context, permissions permission.Service, cfg *con
308308func createMcpClient(m config.MCPConfig) (*client.Client, error) {
309309 switch m.Type {
310310 case config.MCPStdio:
311− return client.NewStdioMCPClient(
311+ return client.NewStdioMCPClientWithOptions(
312312 m.Command,
313313 m.ResolvedEnv(),
314− m.Args...,
314+ m.Args,
315+ transport.WithCommandLogger(mcpLogger{}),
315316 )
316317 case config.MCPHttp:
317318 return client.NewStreamableHttpClient(
318319 m.URL,
319320 transport.WithHTTPHeaders(m.ResolvedHeaders()),
320− transport.WithLogger(mcpHTTPLogger{}),
321+ transport.WithHTTPLogger(mcpLogger{}),
321322 )
322323 case config.MCPSse:
323324 return client.NewSSEMCPClient(
324325 m.URL,
325326 client.WithHeaders(m.ResolvedHeaders()),
327+ transport.WithSSELogger(mcpLogger{}),
326328 )
327329 default:
328330 return nil, fmt.Errorf("unsupported mcp type: %s", m.Type)
329331 }
330332}
331333
332−// for MCP's HTTP client.
333−type mcpHTTPLogger struct{}
334+// for MCP's clients.
335+type mcpLogger struct{}
334336
335−func (l mcpHTTPLogger) 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...)) }
337+func (l mcpLogger) Errorf(format string, v ...any) { slog.Error(fmt.Sprintf(format, v...)) }
338+func (l mcpLogger) Infof(format string, v ...any) { slog.Info(fmt.Sprintf(format, v...)) }