Skip to content

Commit 4550cf4

Browse files
committed
Unstuck some remote MCPs
Some remote MCPs get stuck when we try to connect to them because the MCP client also tries to create a persistent SSE connection. Disable the persistent connection to make init faster for these servers. This means that we can't receive notifications from remote servers which is fine for now since we don't listen to these (yet). More info modelcontextprotocol/go-sdk#633 Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
1 parent d3d6bb5 commit 4550cf4

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ require (
3737
github.com/goccy/go-yaml v1.19.2
3838
github.com/golang-jwt/jwt/v5 v5.3.0
3939
github.com/google/go-containerregistry v0.20.7
40-
github.com/google/jsonschema-go v0.3.0
40+
github.com/google/jsonschema-go v0.4.2
4141
github.com/google/uuid v1.6.0
4242
github.com/gorilla/websocket v1.5.3
4343
github.com/junegunn/fzf v0.67.0
4444
github.com/k3a/html2text v1.3.0
4545
github.com/labstack/echo/v4 v4.15.0
4646
github.com/mattn/go-isatty v0.0.20
4747
github.com/mattn/go-runewidth v0.0.19
48-
github.com/modelcontextprotocol/go-sdk v1.2.0
48+
github.com/modelcontextprotocol/go-sdk v1.2.1-0.20260115164613-13488f7da1ed
4949
github.com/openai/openai-go/v3 v3.16.0
5050
github.com/rivo/uniseg v0.4.7
5151
github.com/smacker/go-tree-sitter v0.0.0-20240827094217-dd81d9e9be82

go.sum

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNx
2929
github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
3030
github.com/RoaringBitmap/roaring/v2 v2.4.5 h1:uGrrMreGjvAtTBobc0g5IrW1D5ldxDQYe2JW2gggRdg=
3131
github.com/RoaringBitmap/roaring/v2 v2.4.5/go.mod h1:FiJcsfkGje/nZBZgCu0ZxCPOKD/hVXDS2dXi7/eUFE0=
32-
github.com/a2aproject/a2a-go v0.3.3 h1:NqGDw2c8hCSW3/9MakeeRpw5yCZUUmW2Y/yINV15GwQ=
33-
github.com/a2aproject/a2a-go v0.3.3/go.mod h1:8C0O6lsfR7zWFEqVZz/+zWCoxe8gSWpknEpqm/Vgj3E=
3432
github.com/a2aproject/a2a-go v0.3.4 h1:rSMR/IryydWkIjtxDLZCVgSc3RrVF4eHrycKlBC/WE0=
3533
github.com/a2aproject/a2a-go v0.3.4/go.mod h1:8C0O6lsfR7zWFEqVZz/+zWCoxe8gSWpknEpqm/Vgj3E=
3634
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
@@ -227,8 +225,8 @@ github.com/google/go-containerregistry v0.20.7 h1:24VGNpS0IwrOZ2ms2P1QE3Xa5X9p4p
227225
github.com/google/go-containerregistry v0.20.7/go.mod h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM=
228226
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
229227
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
230-
github.com/google/jsonschema-go v0.3.0 h1:6AH2TxVNtk3IlvkkhjrtbUc4S8AvO0Xii0DxIygDg+Q=
231-
github.com/google/jsonschema-go v0.3.0/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE=
228+
github.com/google/jsonschema-go v0.4.2 h1:tmrUohrwoLZZS/P3x7ex0WAVknEkBZM46iALbcqoRA8=
229+
github.com/google/jsonschema-go v0.4.2/go.mod h1:r5quNTdLOYEz95Ru18zA0ydNbBuYoo9tgaYcxEYhJVE=
232230
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
233231
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
234232
github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
@@ -295,8 +293,8 @@ github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwX
295293
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
296294
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
297295
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
298-
github.com/modelcontextprotocol/go-sdk v1.2.0 h1:Y23co09300CEk8iZ/tMxIX1dVmKZkzoSBZOpJwUnc/s=
299-
github.com/modelcontextprotocol/go-sdk v1.2.0/go.mod h1:6fM3LCm3yV7pAs8isnKLn07oKtB0MP9LHd3DfAcKw10=
296+
github.com/modelcontextprotocol/go-sdk v1.2.1-0.20260115164613-13488f7da1ed h1:v6U7x8QdZFPR+2klPe29iHrRTy35sQSodTxtGcOX7TU=
297+
github.com/modelcontextprotocol/go-sdk v1.2.1-0.20260115164613-13488f7da1ed/go.mod h1:AnQ//Qc6+4nIyyrB4cxBU7UW9VibK4iOZBeyP/rF1IE=
300298
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
301299
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
302300
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=

pkg/tools/mcp/remote.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,9 @@ func (c *remoteMCPClient) Initialize(ctx context.Context, _ *mcp.InitializeReque
9090
}
9191
case "streamable", "streamable-http":
9292
transport = &mcp.StreamableClientTransport{
93-
Endpoint: c.url,
94-
HTTPClient: httpClient,
93+
Endpoint: c.url,
94+
HTTPClient: httpClient,
95+
DisableStandaloneSSE: true,
9596
}
9697
default:
9798
return nil, fmt.Errorf("unsupported transport type: %s", c.transportType)

0 commit comments

Comments
 (0)