consolidate server URL configuration

This commit is contained in:
Ashwin Bhat
2024-11-26 13:27:13 -05:00
parent a3d542c0a3
commit f876b1ec0d
3 changed files with 19 additions and 18 deletions

View File

@@ -61,7 +61,7 @@ async function main() {
// Make sure our server/client didn't immediately fail
await Promise.any([server, client, delay(2 * 1000)]);
const portParam = SERVER_PORT === "3000" ? "" : `?port=${SERVER_PORT}`;
const portParam = SERVER_PORT === "3000" ? "" : `?proxyPort=${SERVER_PORT}`;
console.log(
`\n🔍 MCP Inspector is up and running at http://localhost:${CLIENT_PORT}${portParam} 🚀`,
);

View File

@@ -57,6 +57,10 @@ import ToolsTab from "./components/ToolsTab";
const DEFAULT_REQUEST_TIMEOUT_MSEC = 10000;
const params = new URLSearchParams(window.location.search);
const PROXY_PORT = params.get("proxyPort") ?? "3000";
const PROXY_SERVER_URL = `http://localhost:${PROXY_PORT}`;
const App = () => {
const [connectionStatus, setConnectionStatus] = useState<
"disconnected" | "connected" | "error"
@@ -82,7 +86,8 @@ const App = () => {
const [args, setArgs] = useState<string>(() => {
return localStorage.getItem("lastArgs") || "";
});
const [url, setUrl] = useState<string>("http://localhost:3001/sse");
const [sseUrl, setSseUrl] = useState<string>("http://localhost:3001/sse");
const [transportType, setTransportType] = useState<"stdio" | "sse">("stdio");
const [requestHistory, setRequestHistory] = useState<
{ request: string; response?: string }[]
@@ -191,10 +196,7 @@ const App = () => {
}, [args]);
useEffect(() => {
const params = new URLSearchParams(window.location.search);
const serverPort = params.get('port') || '3000';
fetch(`http://localhost:${serverPort}/config`)
fetch(`${PROXY_SERVER_URL}/config`)
.then((response) => response.json())
.then((data) => {
setEnv(data.defaultEnvironment);
@@ -407,9 +409,7 @@ const App = () => {
},
);
const params = new URLSearchParams(window.location.search);
const serverPort = params.get('port') || '3000';
const backendUrl = new URL(`http://localhost:${serverPort}/sse`);
const backendUrl = new URL(`${PROXY_SERVER_URL}/sse`);
backendUrl.searchParams.append("transportType", transportType);
if (transportType === "stdio") {
@@ -417,7 +417,7 @@ const App = () => {
backendUrl.searchParams.append("args", args);
backendUrl.searchParams.append("env", JSON.stringify(env));
} else {
backendUrl.searchParams.append("url", url);
backendUrl.searchParams.append("url", sseUrl);
}
const clientTransport = new SSEClientTransport(backendUrl);
@@ -474,8 +474,8 @@ const App = () => {
setCommand={setCommand}
args={args}
setArgs={setArgs}
url={url}
setUrl={setUrl}
sseUrl={sseUrl}
setSseUrl={setSseUrl}
env={env}
setEnv={setEnv}
onConnect={connectMcpServer}

View File

@@ -22,8 +22,8 @@ interface SidebarProps {
setCommand: (command: string) => void;
args: string;
setArgs: (args: string) => void;
url: string;
setUrl: (url: string) => void;
sseUrl: string;
setSseUrl: (url: string) => void;
env: Record<string, string>;
setEnv: (env: Record<string, string>) => void;
onConnect: () => void;
@@ -38,8 +38,8 @@ const Sidebar = ({
setCommand,
args,
setArgs,
url,
setUrl,
sseUrl,
setSseUrl,
env,
setEnv,
onConnect,
@@ -75,6 +75,7 @@ const Sidebar = ({
</SelectContent>
</Select>
</div>
{transportType === "stdio" ? (
<>
<div className="space-y-2">
@@ -99,8 +100,8 @@ const Sidebar = ({
<label className="text-sm font-medium">URL</label>
<Input
placeholder="URL"
value={url}
onChange={(e) => setUrl(e.target.value)}
value={sseUrl}
onChange={(e) => setSseUrl(e.target.value)}
/>
</div>
)}