From 6a66ca5b233105c805b4405de70d2e8da60e29e4 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Thu, 10 Jul 2025 13:51:15 -0400 Subject: [PATCH 1/2] fix startup of webclient through cli --- cli/src/cli.ts | 49 ++++++++----------------------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) diff --git a/cli/src/cli.ts b/cli/src/cli.ts index 1f87b5163..037fe35c9 100644 --- a/cli/src/cli.ts +++ b/cli/src/cli.ts @@ -50,21 +50,13 @@ function delay(ms: number): Promise { } async function runWebClient(args: Args): Promise { - const inspectorServerPath = resolve( - __dirname, - "../../", - "server", - "build", - "index.js", - ); - // Path to the client entry point const inspectorClientPath = resolve( __dirname, "../../", "client", "bin", - "client.js", + "start.js", ); const CLIENT_PORT: string = process.env.CLIENT_PORT ?? "6274"; @@ -83,38 +75,13 @@ async function runWebClient(args: Args): Promise { let serverOk: unknown; try { - server = spawnPromise( - "node", - [ - inspectorServerPath, - ...(args.command ? [`--env`, args.command] : []), - ...(args.args ? [`--args=${args.args.join(" ")}`] : []), - ], - { - env: { - ...process.env, - PORT: SERVER_PORT, - MCP_ENV_VARS: JSON.stringify(args.envArgs), - }, - signal: abort.signal, - echoOutput: true, - }, - ); - - // Make sure server started before starting client - serverOk = await Promise.race([server, delay(2 * 1000)]); - } catch (error) {} - - if (serverOk) { - try { - await spawnPromise("node", [inspectorClientPath], { - env: { ...process.env, PORT: CLIENT_PORT }, - signal: abort.signal, - echoOutput: true, - }); - } catch (e) { - if (!cancelled || process.env.DEBUG) throw e; - } + await spawnPromise("node", [inspectorClientPath], { + env: { ...process.env, PORT: CLIENT_PORT }, + signal: abort.signal, + echoOutput: true, + }); + } catch (e) { + if (!cancelled || process.env.DEBUG) throw e; } } From 0eebd01ebe5cec1b61ce9a27d60f955643f22d1d Mon Sep 17 00:00:00 2001 From: cliffhall Date: Thu, 10 Jul 2025 15:17:54 -0400 Subject: [PATCH 2/2] Remove environment-related startup vars. Those will be captured by start.js --- cli/src/cli.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/cli/src/cli.ts b/cli/src/cli.ts index 037fe35c9..de0153b0c 100644 --- a/cli/src/cli.ts +++ b/cli/src/cli.ts @@ -59,11 +59,6 @@ async function runWebClient(args: Args): Promise { "start.js", ); - const CLIENT_PORT: string = process.env.CLIENT_PORT ?? "6274"; - const SERVER_PORT: string = process.env.SERVER_PORT ?? "6277"; - - console.log("Starting MCP inspector..."); - const abort = new AbortController(); let cancelled: boolean = false; process.on("SIGINT", () => { @@ -71,12 +66,8 @@ async function runWebClient(args: Args): Promise { abort.abort(); }); - let server: ReturnType; - let serverOk: unknown; - try { await spawnPromise("node", [inspectorClientPath], { - env: { ...process.env, PORT: CLIENT_PORT }, signal: abort.signal, echoOutput: true, });