pass in args
This commit is contained in:
14
bin/cli.js
14
bin/cli.js
@@ -6,20 +6,24 @@ import concurrently from "concurrently";
|
|||||||
|
|
||||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
|
|
||||||
// Paths to the server and client entry points
|
// Get command line arguments
|
||||||
const serverPath = join(__dirname, "../server/build/index.js");
|
const [, , environment, ...mcpServerArgs] = process.argv;
|
||||||
const clientPath = join(__dirname, "../client/bin/cli.js");
|
|
||||||
|
const inspectorServerPath = join(__dirname, "../server/build/index.js");
|
||||||
|
|
||||||
|
// Path to the client entry point
|
||||||
|
const inspectorClientPath = join(__dirname, "../client/bin/cli.js");
|
||||||
|
|
||||||
console.log("Starting MCP inspector...");
|
console.log("Starting MCP inspector...");
|
||||||
|
|
||||||
const { result } = concurrently(
|
const { result } = concurrently(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
command: `node ${serverPath}`,
|
command: `node ${inspectorServerPath}${environment ? ` --env ${environment}` : ""}${mcpServerArgs.length ? ` ${mcpServerArgs.join(" ")}` : ""}`,
|
||||||
name: "server",
|
name: "server",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: `node ${clientPath}`,
|
command: `node ${inspectorClientPath}`,
|
||||||
name: "client",
|
name: "client",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -186,9 +186,13 @@ const App = () => {
|
|||||||
}, [args]);
|
}, [args]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetch("http://localhost:3000/default-environment")
|
fetch("http://localhost:3000/config")
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
.then((data) => setEnv(data))
|
.then((data) => {
|
||||||
|
setEnv(data.defaultEnvironment);
|
||||||
|
setCommand(data.defaultCommand);
|
||||||
|
setArgs(data.defaultArgs);
|
||||||
|
})
|
||||||
.catch((error) =>
|
.catch((error) =>
|
||||||
console.error("Error fetching default environment:", error),
|
console.error("Error fetching default environment:", error),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
import { parseArgs } from "node:util";
|
||||||
import cors from "cors";
|
import cors from "cors";
|
||||||
import EventSource from "eventsource";
|
import EventSource from "eventsource";
|
||||||
|
|
||||||
@@ -16,6 +17,14 @@ import mcpProxy from "./mcpProxy.js";
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
(global as any).EventSource = EventSource;
|
(global as any).EventSource = EventSource;
|
||||||
|
|
||||||
|
const { values } = parseArgs({
|
||||||
|
args: process.argv.slice(2),
|
||||||
|
options: {
|
||||||
|
env: { type: "string", default: "" },
|
||||||
|
args: { type: "string", default: "" },
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
app.use(cors());
|
app.use(cors());
|
||||||
|
|
||||||
@@ -97,11 +106,16 @@ app.post("/message", async (req, res) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/default-environment", (req, res) => {
|
app.get("/config", (req, res) => {
|
||||||
try {
|
try {
|
||||||
res.json(getDefaultEnvironment());
|
const defaultEnvironment = getDefaultEnvironment();
|
||||||
|
res.json({
|
||||||
|
defaultEnvironment,
|
||||||
|
defaultCommand: values.env,
|
||||||
|
defaultArgs: values.args,
|
||||||
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error in /default-environment route:", error);
|
console.error("Error in /config route:", error);
|
||||||
res.status(500).json(error);
|
res.status(500).json(error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user