From 8213402185705675b322ec04fad00d423a39e3ad Mon Sep 17 00:00:00 2001 From: Shiv Deepak Muddada Date: Thu, 17 Apr 2025 21:29:47 -0700 Subject: [PATCH] attach auth headers to the streamable http request --- server/src/index.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/server/src/index.ts b/server/src/index.ts index cbb6766..e966910 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -20,6 +20,7 @@ import { findActualExecutable } from "spawn-rx"; import mcpProxy from "./mcpProxy.js"; const SSE_HEADERS_PASSTHROUGH = ["authorization"]; +const STREAMABLE_HTTP_HEADERS_PASSTHROUGH = ["authorization"]; const defaultEnvironment = { ...getDefaultEnvironment(), @@ -96,8 +97,24 @@ const createTransport = async (req: express.Request): Promise => { console.log("Connected to SSE transport"); return transport; } else if (transportType === "streamable-http") { + const headers: HeadersInit = {}; + + for (const key of STREAMABLE_HTTP_HEADERS_PASSTHROUGH) { + if (req.headers[key] === undefined) { + continue; + } + + const value = req.headers[key]; + headers[key] = Array.isArray(value) ? value[value.length - 1] : value; + } + const transport = new StreamableHTTPClientTransport( new URL(query.url as string), + { + requestInit: { + headers, + }, + }, ); await transport.start(); console.log("Connected to Streamable HTTP transport");