Fix customers-mcp GET/SSE stream 502 loop: bind ai-mcp-proxy to the stream route too

The stream route (GET, mcp/routes.yaml) had no ai-mcp-proxy binding,
so GET requests fell through to the KongService's own upstream
target (REST_HOSTNAME, i.e. Kong's own external hostname) and
looped back into the Gateway, growing response headers each pass
until nginx rejected them (502, "upstream sent too big header").
Confirmed via customers dataplane pod logs while debugging a
LibreChat connection failure. catalog-mcp has the same structural
gap but happens to 405 instead of looping there — not touched here.
This commit is contained in:
Stéphane Tailland
2026-08-23 15:25:47 +02:00
parent a4967d13ee
commit 1d8922e1b5
+31
View File
@@ -34,6 +34,37 @@ spec:
kind: KongRoute
name: ${NAME}-customers-mcp
---
# Also bind to the GET/-stream route, not just the POST/DELETE one above.
# Without this, GET requests never reach ai-mcp-proxy at all and fall
# through to the KongService's own upstream target — which is
# ${REST_HOSTNAME} (Kong's own external hostname, mcp/service.yaml), so an
# unintercepted GET loops back into the Gateway and grows response headers
# on every pass until nginx rejects it ("upstream sent too big header",
# 502) — confirmed 2026-08-23 via customers dataplane pod logs (28
# occurrences) while debugging a LibreChat connection failure specific to
# customers-mcp. catalog-mcp has the identical gap (checked: its
# ai-mcp-proxy-binding also targets only the non-stream route) but happens
# to fail as a harmless 405 there instead of looping — not fixed here,
# flagged in STATUS.md, don't assume catalog's GET stream actually works
# just because nothing broke loudly.
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata:
name: ${NAME}-customers-mcp-ai-mcp-proxy-stream-binding
namespace: ${NAMESPACE}
spec:
controlPlaneRef:
type: konnectNamespacedRef
konnectNamespacedRef:
name: ${CONTROL_PLANE_REF_NAME}
pluginRef:
name: ${NAME}-customers-mcp-ai-mcp-proxy
targets:
routeRef:
group: configuration.konghq.com
kind: KongRoute
name: ${NAME}-customers-mcp-stream
---
apiVersion: configuration.konghq.com/v1alpha1
kind: KongPluginBinding
metadata: