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 92f1a10..924c717 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 fc472cb..0e4c57a 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"