From dac18ed55179b0edcbccb27d84b07e8f1109bb15 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 92f1a10c..924c717b 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 fc472cb9..0e4c57ab 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"