Merge branch 'main' into cleanup-old-transports

This commit is contained in:
Cliff Hall
2025-03-31 12:36:34 -04:00
committed by GitHub
4 changed files with 61 additions and 49 deletions

View File

@@ -7,7 +7,7 @@ import { fileURLToPath } from "url";
const __dirname = dirname(fileURLToPath(import.meta.url)); const __dirname = dirname(fileURLToPath(import.meta.url));
function delay(ms) { function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms)); return new Promise((resolve) => setTimeout(resolve, ms, true));
} }
async function main() { async function main() {
@@ -73,8 +73,9 @@ async function main() {
cancelled = true; cancelled = true;
abort.abort(); abort.abort();
}); });
let server, serverOk;
const server = spawnPromise( try {
server = spawnPromise(
"node", "node",
[ [
inspectorServerPath, inspectorServerPath,
@@ -92,24 +93,21 @@ async function main() {
}, },
); );
const client = spawnPromise("node", [inspectorClientPath], { // 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 }, env: { ...process.env, PORT: CLIENT_PORT },
signal: abort.signal, signal: abort.signal,
echoOutput: true, echoOutput: true,
}); });
// Make sure our server/client didn't immediately fail
await Promise.any([server, client, delay(2 * 1000)]);
const portParam = SERVER_PORT === "3000" ? "" : `?proxyPort=${SERVER_PORT}`;
console.log(
`\n🔍 MCP Inspector is up and running at http://127.0.0.1:${CLIENT_PORT}${portParam} 🚀`,
);
try {
await Promise.any([server, client]);
} catch (e) { } catch (e) {
if (!cancelled || process.env.DEBUG) throw e; if (!cancelled || process.env.DEBUG) throw e;
} }
}
return 0; return 0;
} }

View File

@@ -16,4 +16,18 @@ const server = http.createServer((request, response) => {
}); });
const port = process.env.PORT || 5173; const port = process.env.PORT || 5173;
server.listen(port, () => {}); server.on("listening", () => {
console.log(
`🔍 MCP Inspector is up and running at http://127.0.0.1:${port} 🚀`,
);
});
server.on("error", (err) => {
if (err.message.includes(`EADDRINUSE`)) {
console.error(
`❌ MCP Inspector PORT IS IN USE at http://127.0.0.1:${port}`,
);
} else {
throw err;
}
});
server.listen(port);

View File

@@ -18,7 +18,7 @@
"dev": "vite", "dev": "vite",
"build": "tsc -b && vite build", "build": "tsc -b && vite build",
"lint": "eslint .", "lint": "eslint .",
"preview": "vite preview", "preview": "vite preview --port 5173",
"test": "jest --config jest.config.cjs", "test": "jest --config jest.config.cjs",
"test:watch": "jest --config jest.config.cjs --watch" "test:watch": "jest --config jest.config.cjs --watch"
}, },

View File

@@ -187,15 +187,15 @@ app.get("/config", (req, res) => {
const PORT = process.env.PORT || 3000; const PORT = process.env.PORT || 3000;
try { const server = app.listen(PORT);
const server = app.listen(PORT); server.on("listening", () => {
console.log(`⚙️ Proxy server listening on port ${PORT}`);
server.on("listening", () => { });
const addr = server.address(); server.on("error", (err) => {
const port = typeof addr === "string" ? addr : addr?.port; if (err.message.includes(`EADDRINUSE`)) {
console.log(`Proxy server listening on port ${port}`); console.error(`Proxy Server PORT IS IN USE at port ${PORT}`);
}); } else {
} catch (error) { console.error(err.message);
console.error("Failed to start server:", error); }
process.exit(1); process.exit(1);
} });