diff --git a/client/src/App.tsx b/client/src/App.tsx
index 0b0a3e1..27078ed 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -52,16 +52,6 @@ const PROXY_SERVER_URL = `http://${window.location.hostname}:${PROXY_PORT}`;
const App = () => {
// Handle OAuth callback route
- if (window.location.pathname === "/oauth/callback") {
- const OAuthCallback = React.lazy(
- () => import("./components/OAuthCallback"),
- );
- return (
- Loading...}>
-
-
- );
- }
const [resources, setResources] = useState([]);
const [resourceTemplates, setResourceTemplates] = useState<
ResourceTemplate[]
@@ -114,22 +104,6 @@ const App = () => {
const nextRequestId = useRef(0);
const rootsRef = useRef([]);
- const handleApproveSampling = (id: number, result: CreateMessageResult) => {
- setPendingSampleRequests((prev) => {
- const request = prev.find((r) => r.id === id);
- request?.resolve(result);
- return prev.filter((r) => r.id !== id);
- });
- };
-
- const handleRejectSampling = (id: number) => {
- setPendingSampleRequests((prev) => {
- const request = prev.find((r) => r.id === id);
- request?.reject(new Error("Sampling request rejected"));
- return prev.filter((r) => r.id !== id);
- });
- };
-
const [selectedResource, setSelectedResource] = useState(
null,
);
@@ -224,7 +198,7 @@ const App = () => {
// Connect to the server
connectMcpServer();
}
- }, []);
+ }, [connectMcpServer]);
useEffect(() => {
fetch(`${PROXY_SERVER_URL}/config`)
@@ -253,6 +227,22 @@ const App = () => {
}
}, []);
+ const handleApproveSampling = (id: number, result: CreateMessageResult) => {
+ setPendingSampleRequests((prev) => {
+ const request = prev.find((r) => r.id === id);
+ request?.resolve(result);
+ return prev.filter((r) => r.id !== id);
+ });
+ };
+
+ const handleRejectSampling = (id: number) => {
+ setPendingSampleRequests((prev) => {
+ const request = prev.find((r) => r.id === id);
+ request?.reject(new Error("Sampling request rejected"));
+ return prev.filter((r) => r.id !== id);
+ });
+ };
+
const clearError = (tabKey: keyof typeof errors) => {
setErrors((prev) => ({ ...prev, [tabKey]: null }));
};
@@ -425,6 +415,17 @@ const App = () => {
setLogLevel(level);
};
+ if (window.location.pathname === "/oauth/callback") {
+ const OAuthCallback = React.lazy(
+ () => import("./components/OAuthCallback"),
+ );
+ return (
+ Loading...}>
+
+
+ );
+ }
+
return (