From b38b40656c85509a742b027e8d21e37d7a9f5579 Mon Sep 17 00:00:00 2001 From: jdavis <45986634+shoopapa@users.noreply.github.com> Date: Thu, 3 Apr 2025 15:08:21 -0400 Subject: [PATCH] mcp supports cwd config and defaults to workspace cwd (#2171) * mcp supports cwd config and defaults to workspace cwd * clean up * Update src/services/mcp/McpHub.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- src/services/mcp/McpHub.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/services/mcp/McpHub.ts b/src/services/mcp/McpHub.ts index e490d603ce..037ff6a9f9 100644 --- a/src/services/mcp/McpHub.ts +++ b/src/services/mcp/McpHub.ts @@ -63,6 +63,7 @@ const createServerTypeSchema = () => { type: z.enum(["stdio"]).optional(), command: z.string().min(1, "Command cannot be empty"), args: z.array(z.string()).optional(), + cwd: z.string().default(() => vscode.workspace.workspaceFolders?.at(0)?.uri.fsPath ?? process.cwd()), env: z.record(z.string()).optional(), // Ensure no SSE fields are present url: z.undefined().optional(), @@ -314,7 +315,7 @@ export class McpHub { mcpSettingsFilePath, `{ "mcpServers": { - + } }`, ) @@ -427,6 +428,7 @@ export class McpHub { transport = new StdioClientTransport({ command: config.command, args: config.args, + cwd: config.cwd, env: { ...config.env, ...(process.env.PATH ? { PATH: process.env.PATH } : {}),