From 7c92cef2b7f2faf816970c7a8bca73c8ad6e4be0 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Tue, 6 May 2025 10:14:17 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=20fix:=20Custom=20Headers=20for=20?= =?UTF-8?q?Initial=20MCP=20SSE=20Connection=20(#7246)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: add custom to as workaround to include custom headers to the initial connection request * chore: bump MCP client version to 1.2.1 in package-lock and package.json for librechat-mcp --- package-lock.json | 2 +- packages/mcp/package.json | 2 +- packages/mcp/src/connection.ts | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index bb99d9ff53..65393a0644 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44008,7 +44008,7 @@ }, "packages/mcp": { "name": "librechat-mcp", - "version": "1.2.0", + "version": "1.2.1", "license": "ISC", "dependencies": { "@modelcontextprotocol/sdk": "^1.9.0", diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 6e084dd811..b9acef0c22 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "librechat-mcp", - "version": "1.2.0", + "version": "1.2.1", "type": "commonjs", "description": "MCP services for LibreChat", "main": "dist/index.js", diff --git a/packages/mcp/src/connection.ts b/packages/mcp/src/connection.ts index 9f941efa0a..415059a66f 100644 --- a/packages/mcp/src/connection.ts +++ b/packages/mcp/src/connection.ts @@ -68,7 +68,7 @@ export class MCPConnection extends EventEmitter { this.client = new Client( { name: 'librechat-mcp-client', - version: '1.2.0', + version: '1.2.1', }, { capabilities: {}, @@ -159,6 +159,15 @@ export class MCPConnection extends EventEmitter { headers: options.headers, signal: abortController.signal, }, + eventSourceInit: { + fetch: (url, init) => { + const headers = new Headers(Object.assign({}, init?.headers, options.headers)); + return fetch(url, { + ...init, + headers, + }); + }, + }, }); transport.onclose = () => {