feat(client): initialize via search params
This commit is contained in:
@@ -51,7 +51,13 @@ import Sidebar from "./components/Sidebar";
|
||||
import ToolsTab from "./components/ToolsTab";
|
||||
import { DEFAULT_INSPECTOR_CONFIG } from "./lib/constants";
|
||||
import { InspectorConfig } from "./lib/configurationTypes";
|
||||
import { getMCPProxyAddress } from "./utils/configUtils";
|
||||
import {
|
||||
getMCPProxyAddress,
|
||||
getInitialSseUrl,
|
||||
getInitialTransportType,
|
||||
getInitialCommand,
|
||||
getInitialArgs,
|
||||
} from "./utils/configUtils";
|
||||
|
||||
const CONFIG_LOCAL_STORAGE_KEY = "inspectorConfig_v1";
|
||||
|
||||
@@ -71,26 +77,13 @@ const App = () => {
|
||||
prompts: null,
|
||||
tools: null,
|
||||
});
|
||||
const [command, setCommand] = useState<string>(() => {
|
||||
return localStorage.getItem("lastCommand") || "mcp-server-everything";
|
||||
});
|
||||
const [args, setArgs] = useState<string>(() => {
|
||||
return localStorage.getItem("lastArgs") || "";
|
||||
});
|
||||
const [command, setCommand] = useState<string>(getInitialCommand);
|
||||
const [args, setArgs] = useState<string>(getInitialArgs);
|
||||
|
||||
const [sseUrl, setSseUrl] = useState<string>(() => {
|
||||
return localStorage.getItem("lastSseUrl") || "http://localhost:3001/sse";
|
||||
});
|
||||
const [sseUrl, setSseUrl] = useState<string>(getInitialSseUrl);
|
||||
const [transportType, setTransportType] = useState<
|
||||
"stdio" | "sse" | "streamable-http"
|
||||
>(() => {
|
||||
return (
|
||||
(localStorage.getItem("lastTransportType") as
|
||||
| "stdio"
|
||||
| "sse"
|
||||
| "streamable-http") || "stdio"
|
||||
);
|
||||
});
|
||||
>(getInitialTransportType);
|
||||
const [logLevel, setLogLevel] = useState<LoggingLevel>("debug");
|
||||
const [notifications, setNotifications] = useState<ServerNotification[]>([]);
|
||||
const [stdErrNotifications, setStdErrNotifications] = useState<
|
||||
|
||||
@@ -24,3 +24,46 @@ export const getMCPServerRequestMaxTotalTimeout = (
|
||||
): number => {
|
||||
return config.MCP_REQUEST_MAX_TOTAL_TIMEOUT.value as number;
|
||||
};
|
||||
|
||||
const getSearchParam = (key: string): string | null => {
|
||||
try {
|
||||
const url = new URL(window.location.href);
|
||||
return url.searchParams.get(key);
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
export const getInitialTransportType = ():
|
||||
| "stdio"
|
||||
| "sse"
|
||||
| "streamable-http" => {
|
||||
const param = getSearchParam("transport");
|
||||
if (param === "stdio" || param === "sse" || param === "streamable-http") {
|
||||
return param;
|
||||
}
|
||||
return (
|
||||
(localStorage.getItem("lastTransportType") as
|
||||
| "stdio"
|
||||
| "sse"
|
||||
| "streamable-http") || "stdio"
|
||||
);
|
||||
};
|
||||
|
||||
export const getInitialSseUrl = (): string => {
|
||||
const param = getSearchParam("serverUrl");
|
||||
if (param) return param;
|
||||
return localStorage.getItem("lastSseUrl") || "http://localhost:3001/sse";
|
||||
};
|
||||
|
||||
export const getInitialCommand = (): string => {
|
||||
const param = getSearchParam("serverCommand");
|
||||
if (param) return param;
|
||||
return localStorage.getItem("lastCommand") || "mcp-server-everything";
|
||||
};
|
||||
|
||||
export const getInitialArgs = (): string => {
|
||||
const param = getSearchParam("serverArgs");
|
||||
if (param) return param;
|
||||
return localStorage.getItem("lastArgs") || "";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user