From 3ac414e97b25d2b5dfa9818ac3aa016642e465d3 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Thu, 22 May 2025 22:56:34 +0800 Subject: [PATCH] fix: handle proxy environment variables for bun command in MCPService - Added logic to remove proxy environment variables when the command ends with 'bun'. - Introduced a new private method `removeProxyEnv` to clean up the environment variables before starting the server. --- src/main/services/MCPService.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/services/MCPService.ts b/src/main/services/MCPService.ts index ba72c073ab..bb6fc2835a 100644 --- a/src/main/services/MCPService.ts +++ b/src/main/services/MCPService.ts @@ -243,6 +243,12 @@ class McpService { Logger.info(`[MCP] Starting server with command: ${cmd} ${args ? args.join(' ') : ''}`) // Logger.info(`[MCP] Environment variables for server:`, server.env) const loginShellEnv = await this.getLoginShellEnv() + + // Bun not support proxy https://github.com/oven-sh/bun/issues/16812 + if (cmd.endsWith('bun')) { + this.removeProxyEnv(loginShellEnv) + } + const stdioTransport = new StdioClientTransport({ command: cmd, args, @@ -651,6 +657,14 @@ class McpService { return {} } }) + + private removeProxyEnv(env: Record) { + delete env.HTTPS_PROXY + delete env.HTTP_PROXY + delete env.grpc_proxy + delete env.http_proxy + delete env.https_proxy + } } export default new McpService()