@@ -12,11 +12,9 @@ import (
12 "github.com/charmbracelet/crush/internal/config"
12 "github.com/charmbracelet/crush/internal/config"
13 "github.com/charmbracelet/crush/internal/csync"
13 "github.com/charmbracelet/crush/internal/csync"
14 "github.com/charmbracelet/crush/internal/llm/tools"
14 "github.com/charmbracelet/crush/internal/llm/tools"
15+ "github.com/charmbracelet/crush/internal/permission"
15 "github.com/charmbracelet/crush/internal/pubsub"
16 "github.com/charmbracelet/crush/internal/pubsub"
16 "github.com/charmbracelet/crush/internal/version"
17 "github.com/charmbracelet/crush/internal/version"
18− "github.com/charmbracelet/crush/internal/permission"
20 "github.com/mark3labs/mcp-go/client"
18 "github.com/mark3labs/mcp-go/client"
21 "github.com/mark3labs/mcp-go/client/transport"
19 "github.com/mark3labs/mcp-go/client/transport"
22 "github.com/mark3labs/mcp-go/mcp"
20 "github.com/mark3labs/mcp-go/mcp"
@@ -319,6 +317,7 @@ func createMcpClient(m config.MCPConfig) (*client.Client, error) {
319 return client.NewStreamableHttpClient(
317 return client.NewStreamableHttpClient(
321 transport.WithHTTPHeaders(m.ResolvedHeaders()),
319 transport.WithHTTPHeaders(m.ResolvedHeaders()),
320+ transport.WithLogger(mcpHTTPLogger{}),
323 case config.MCPSse:
322 case config.MCPSse:
324 return client.NewSSEMCPClient(
323 return client.NewSSEMCPClient(
@@ -329,3 +328,9 @@ func createMcpClient(m config.MCPConfig) (*client.Client, error) {
329 return nil, fmt.Errorf("unsupported mcp type: %s", m.Type)
328 return nil, fmt.Errorf("unsupported mcp type: %s", m.Type)
332+// for MCP's HTTP client.
333+type mcpHTTPLogger struct{}
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...)) }