allow passing env vars to server from command line

This commit is contained in:
Ashwin Bhat
2024-12-13 16:34:42 +00:00
parent 5a5873277c
commit a976aefb39
4 changed files with 88 additions and 26 deletions

View File

@@ -11,8 +11,24 @@ function delay(ms) {
}
async function main() {
// Get command line arguments
const [, , command, ...mcpServerArgs] = process.argv;
// Parse command line arguments
const args = process.argv.slice(2);
const envVars = {};
const mcpServerArgs = [];
let command = null;
for (let i = 0; i < args.length; i++) {
if (args[i] === "-e" && i + 1 < args.length) {
const [key, value] = args[++i].split("=");
if (key && value) {
envVars[key] = value;
}
} else if (!command) {
command = args[i];
} else {
mcpServerArgs.push(args[i]);
}
}
const inspectorServerPath = resolve(
__dirname,
@@ -52,7 +68,11 @@ async function main() {
...(mcpServerArgs ? [`--args=${mcpServerArgs.join(" ")}`] : []),
],
{
env: { ...process.env, PORT: SERVER_PORT },
env: {
...process.env,
PORT: SERVER_PORT,
MCP_ENV_VARS: JSON.stringify(envVars),
},
signal: abort.signal,
echoOutput: true,
},