From 495a306d0dc18083dbb00d38eac23751086bc759 Mon Sep 17 00:00:00 2001 From: wizardchen Date: Tue, 16 Dec 2025 12:12:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8DMCP=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=A1=86=E4=B8=AD=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=BF=9D=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/settings/components/McpServiceDialog.vue | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/src/views/settings/components/McpServiceDialog.vue b/frontend/src/views/settings/components/McpServiceDialog.vue index 95036992b..0513aa089 100644 --- a/frontend/src/views/settings/components/McpServiceDialog.vue +++ b/frontend/src/views/settings/components/McpServiceDialog.vue @@ -439,11 +439,16 @@ const handleSubmit = async () => { command: formData.value.stdio_config.command, args } - // Filter out empty env vars + // Build env vars using envVarKeys to get the correct key names + // This fixes the issue where user-entered keys weren't being saved const envVars: Record = {} - for (const [key, value] of Object.entries(formData.value.env_vars)) { - if (key && key.trim() !== '' && value && value.trim() !== '') { - envVars[key] = value + const formEnvVarsEntries = Object.entries(formData.value.env_vars) + for (let i = 0; i < formEnvVarsEntries.length; i++) { + const [, value] = formEnvVarsEntries[i] + // Use the key from envVarKeys (which reflects user input) instead of formData key + const actualKey = envVarKeys.value[i] + if (actualKey && actualKey.trim() !== '' && value && value.trim() !== '') { + envVars[actualKey.trim()] = value.trim() } } data.env_vars = Object.keys(envVars).length > 0 ? envVars : undefined