From 015632a146db8ce0d04c989b4394f67490ad0c21 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Thu, 16 Oct 2025 19:36:29 -0300 Subject: [PATCH] fix(mcp): make sure to cancel context on error (#1246) Signed-off-by: Carlos Alexandro Becker --- Taskfile.yaml | 2 +- internal/llm/agent/mcp-tools.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Taskfile.yaml b/Taskfile.yaml index 92b162dfbb847356e09eb17ea5996e6093a305b2..65a7e2d42fe8dcb307bced7c1fa9a0326b35ccc1 100644 --- a/Taskfile.yaml +++ b/Taskfile.yaml @@ -99,7 +99,7 @@ tasks: cmds: - task: fetch-tags - git commit --allow-empty -m "{{.NEXT}}" - - git tag --annotate -m "{{.NEXT}}" {{.NEXT}} {{.CLI_ARGS}} + - git tag --annotate --sign -m "{{.NEXT}}" {{.NEXT}} {{.CLI_ARGS}} - echo "Pushing {{.NEXT}}..." - git push origin main --follow-tags diff --git a/internal/llm/agent/mcp-tools.go b/internal/llm/agent/mcp-tools.go index d2ff6454e9a7135ee9404ef665495772b90ba86c..6838c54ab4dc8cface0eb311e0fb933a5c18aae6 100644 --- a/internal/llm/agent/mcp-tools.go +++ b/internal/llm/agent/mcp-tools.go @@ -365,6 +365,8 @@ func createMCPSession(ctx context.Context, name string, m config.MCPConfig, reso if err != nil { updateMCPState(name, MCPStateError, err, nil, 0) slog.Error("error creating mcp client", "error", err, "name", name) + cancel() + cancelTimer.Stop() return nil, err } @@ -391,6 +393,7 @@ func createMCPSession(ctx context.Context, name string, m config.MCPConfig, reso updateMCPState(name, MCPStateError, maybeTimeoutErr(err, timeout), nil, 0) slog.Error("error starting mcp client", "error", err, "name", name) cancel() + cancelTimer.Stop() return nil, err }