diff --git a/src/everything/server/roots.ts b/src/everything/server/roots.ts index b3c41356..f6ac1dfe 100644 --- a/src/everything/server/roots.ts +++ b/src/everything/server/roots.ts @@ -30,7 +30,7 @@ export const roots: Map = new Map< */ export const syncRoots = async (server: McpServer, sessionId?: string) => { const clientCapabilities = server.server.getClientCapabilities() || {}; - const clientSupportsRoots: boolean = clientCapabilities.roots !== undefined; + const clientSupportsRoots: boolean = clientCapabilities?.roots !== undefined; // Fetch the roots list for this client if (clientSupportsRoots) { @@ -41,14 +41,14 @@ export const syncRoots = async (server: McpServer, sessionId?: string) => { const response = await server.server.listRoots(); if (response && "roots" in response) { // Store the roots list for this client - roots.set(sessionId, response.roots); + roots.set(sessionId, response?.roots); // Notify the client of roots received await server.sendLoggingMessage( { level: "info", logger: "everything-server", - data: `Roots updated: ${response.roots.length} root(s) received from client`, + data: `Roots updated: ${response?.roots?.length} root(s) received from client`, }, sessionId );