From 2826c7a1c60bc09d256d7a7c11bdd98f65316cb7 Mon Sep 17 00:00:00 2001 From: Jack Wotherspoon Date: Fri, 11 Jul 2025 15:59:42 -0400 Subject: feat: add headers support to SSE transport MCP servers (#3902) --- packages/core/src/tools/mcp-client.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'packages/core/src/tools/mcp-client.ts') diff --git a/packages/core/src/tools/mcp-client.ts b/packages/core/src/tools/mcp-client.ts index 89e97963..e4a87b68 100644 --- a/packages/core/src/tools/mcp-client.ts +++ b/packages/core/src/tools/mcp-client.ts @@ -6,7 +6,10 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; -import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js'; +import { + SSEClientTransport, + SSEClientTransportOptions, +} from '@modelcontextprotocol/sdk/client/sse.js'; import { StreamableHTTPClientTransport, StreamableHTTPClientTransportOptions, @@ -190,7 +193,16 @@ async function connectAndDiscover( transportOptions, ); } else if (mcpServerConfig.url) { - transport = new SSEClientTransport(new URL(mcpServerConfig.url)); + const transportOptions: SSEClientTransportOptions = {}; + if (mcpServerConfig.headers) { + transportOptions.requestInit = { + headers: mcpServerConfig.headers, + }; + } + transport = new SSEClientTransport( + new URL(mcpServerConfig.url), + transportOptions, + ); } else if (mcpServerConfig.command) { transport = new StdioClientTransport({ command: mcpServerConfig.command, -- cgit v1.2.3