From 336040310c624f2b526f043d7e540657544f4fc8 Mon Sep 17 00:00:00 2001 From: Willem Jiang Date: Fri, 9 Jan 2026 22:52:49 +0800 Subject: [PATCH] fix(frontend): passing the MCP header and env setting to backend (#810) This pull request adds support for custom HTTP headers to the MCP server configuration and ensures that these headers are properly validated and included when adding new MCP servers. The changes are primarily focused on extending the schema and data handling for MCP server metadata. --- web/src/app/settings/dialogs/add-mcp-server-dialog.tsx | 2 ++ web/src/core/mcp/schema.ts | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/web/src/app/settings/dialogs/add-mcp-server-dialog.tsx b/web/src/app/settings/dialogs/add-mcp-server-dialog.tsx index 92f1a10cf..924c717b5 100644 --- a/web/src/app/settings/dialogs/add-mcp-server-dialog.tsx +++ b/web/src/app/settings/dialogs/add-mcp-server-dialog.tsx @@ -99,6 +99,8 @@ export function AddMCPServerDialog({ transport: server.transport, name: key, url: server.url, + env: server.env, + headers: server.headers, }; addingServers.push(metadata); } diff --git a/web/src/core/mcp/schema.ts b/web/src/core/mcp/schema.ts index fc472cb9a..0e4c57ab5 100644 --- a/web/src/core/mcp/schema.ts +++ b/web/src/core/mcp/schema.ts @@ -47,6 +47,11 @@ export const MCPConfigSchema = z.object({ message: "`env` must be an object of key-value pairs", }) .optional(), + headers: z + .record(z.string(), { + message: "`headers` must be an object of key-value pairs", + }) + .optional(), transport: z .enum(["sse", "streamable_http"], { message: "transport must be either sse or streamable_http"