-
- {mcpClient ? (
- (window.location.hash = value)}
- >
-
-
-
- Resources
-
-
-
- Prompts
-
-
-
- Tools
-
-
-
- Ping
-
-
-
- Sampling
- {pendingSampleRequests.length > 0 && (
-
- {pendingSampleRequests.length}
-
- )}
-
-
-
- Roots
-
-
+ if (window.location.pathname === "/oauth/callback") {
+ const OAuthCallback = React.lazy(
+ () => import("./components/OAuthCallback"),
+ );
+ return (
+ Loading...
}>
+
+
+ );
+ } else {
+ return (
+
+
+
+
+ {mcpClient ? (
+
(window.location.hash = value)}
+ >
+
+
+
+ Resources
+
+
+
+ Prompts
+
+
+
+ Tools
+
+
+
+ Ping
+
+
+
+ Sampling
+ {pendingSampleRequests.length > 0 && (
+
+ {pendingSampleRequests.length}
+
+ )}
+
+
+
+ Roots
+
+
-
- {!serverCapabilities?.resources &&
- !serverCapabilities?.prompts &&
- !serverCapabilities?.tools ? (
-
-
- The connected server does not support any MCP capabilities
-
-
- ) : (
- <>
-
{
- clearError("resources");
- listResources();
- }}
- clearResources={() => {
- setResources([]);
- setNextResourceCursor(undefined);
- }}
- listResourceTemplates={() => {
- clearError("resources");
- listResourceTemplates();
- }}
- clearResourceTemplates={() => {
- setResourceTemplates([]);
- setNextResourceTemplateCursor(undefined);
- }}
- readResource={(uri) => {
- clearError("resources");
- readResource(uri);
- }}
- selectedResource={selectedResource}
- setSelectedResource={(resource) => {
- clearError("resources");
- setSelectedResource(resource);
- }}
- resourceSubscriptionsSupported={
- serverCapabilities?.resources?.subscribe || false
- }
- resourceSubscriptions={resourceSubscriptions}
- subscribeToResource={(uri) => {
- clearError("resources");
- subscribeToResource(uri);
- }}
- unsubscribeFromResource={(uri) => {
- clearError("resources");
- unsubscribeFromResource(uri);
- }}
- handleCompletion={handleCompletion}
- completionsSupported={completionsSupported}
- resourceContent={resourceContent}
- nextCursor={nextResourceCursor}
- nextTemplateCursor={nextResourceTemplateCursor}
- error={errors.resources}
- />
- {
- clearError("prompts");
- listPrompts();
- }}
- clearPrompts={() => {
- setPrompts([]);
- setNextPromptCursor(undefined);
- }}
- getPrompt={(name, args) => {
- clearError("prompts");
- getPrompt(name, args);
- }}
- selectedPrompt={selectedPrompt}
- setSelectedPrompt={(prompt) => {
- clearError("prompts");
- setSelectedPrompt(prompt);
- }}
- handleCompletion={handleCompletion}
- completionsSupported={completionsSupported}
- promptContent={promptContent}
- nextCursor={nextPromptCursor}
- error={errors.prompts}
- />
- {
- clearError("tools");
- listTools();
- }}
- clearTools={() => {
- setTools([]);
- setNextToolCursor(undefined);
- }}
- callTool={(name, params) => {
- clearError("tools");
- callTool(name, params);
- }}
- selectedTool={selectedTool}
- setSelectedTool={(tool) => {
- clearError("tools");
- setSelectedTool(tool);
- setToolResult(null);
- }}
- toolResult={toolResult}
- nextCursor={nextToolCursor}
- error={errors.tools}
- />
-
- {
- void makeRequest(
- {
- method: "ping" as const,
- },
- EmptyResultSchema,
- );
- }}
- />
-
-
- >
- )}
+
+ {!serverCapabilities?.resources &&
+ !serverCapabilities?.prompts &&
+ !serverCapabilities?.tools ? (
+
+
+ The connected server does not support any MCP
+ capabilities
+
+
+ ) : (
+ <>
+
{
+ clearError("resources");
+ listResources();
+ }}
+ clearResources={() => {
+ setResources([]);
+ setNextResourceCursor(undefined);
+ }}
+ listResourceTemplates={() => {
+ clearError("resources");
+ listResourceTemplates();
+ }}
+ clearResourceTemplates={() => {
+ setResourceTemplates([]);
+ setNextResourceTemplateCursor(undefined);
+ }}
+ readResource={(uri) => {
+ clearError("resources");
+ readResource(uri);
+ }}
+ selectedResource={selectedResource}
+ setSelectedResource={(resource) => {
+ clearError("resources");
+ setSelectedResource(resource);
+ }}
+ resourceSubscriptionsSupported={
+ serverCapabilities?.resources?.subscribe || false
+ }
+ resourceSubscriptions={resourceSubscriptions}
+ subscribeToResource={(uri) => {
+ clearError("resources");
+ subscribeToResource(uri);
+ }}
+ unsubscribeFromResource={(uri) => {
+ clearError("resources");
+ unsubscribeFromResource(uri);
+ }}
+ handleCompletion={handleCompletion}
+ completionsSupported={completionsSupported}
+ resourceContent={resourceContent}
+ nextCursor={nextResourceCursor}
+ nextTemplateCursor={nextResourceTemplateCursor}
+ error={errors.resources}
+ />
+ {
+ clearError("prompts");
+ listPrompts();
+ }}
+ clearPrompts={() => {
+ setPrompts([]);
+ setNextPromptCursor(undefined);
+ }}
+ getPrompt={(name, args) => {
+ clearError("prompts");
+ getPrompt(name, args);
+ }}
+ selectedPrompt={selectedPrompt}
+ setSelectedPrompt={(prompt) => {
+ clearError("prompts");
+ setSelectedPrompt(prompt);
+ }}
+ handleCompletion={handleCompletion}
+ completionsSupported={completionsSupported}
+ promptContent={promptContent}
+ nextCursor={nextPromptCursor}
+ error={errors.prompts}
+ />
+ {
+ clearError("tools");
+ listTools();
+ }}
+ clearTools={() => {
+ setTools([]);
+ setNextToolCursor(undefined);
+ }}
+ callTool={(name, params) => {
+ clearError("tools");
+ callTool(name, params);
+ }}
+ selectedTool={selectedTool}
+ setSelectedTool={(tool) => {
+ clearError("tools");
+ setSelectedTool(tool);
+ setToolResult(null);
+ }}
+ toolResult={toolResult}
+ nextCursor={nextToolCursor}
+ error={errors.tools}
+ />
+
+ {
+ void makeRequest(
+ {
+ method: "ping" as const,
+ },
+ EmptyResultSchema,
+ );
+ }}
+ />
+
+
+ >
+ )}
+
+
+ ) : (
+
+
+ Connect to an MCP server to start inspecting
+
-
- ) : (
-
-
- Connect to an MCP server to start inspecting
-
-
- )}
-
-
-
- );
+ );
+ }
};
export default App;