From 13eb077329d3f8b7db5599da2fd9a5749c3ab386 Mon Sep 17 00:00:00 2001 From: ihrpr Date: Mon, 19 May 2025 18:29:42 +0100 Subject: [PATCH 01/10] fix auth conect --- client/src/App.tsx | 1 - client/src/lib/hooks/useConnection.ts | 33 +++++++++++++++++---------- package-lock.json | 9 -------- server/src/mcpProxy.ts | 17 +++++++++++++- 4 files changed, 37 insertions(+), 23 deletions(-) diff --git a/client/src/App.tsx b/client/src/App.tsx index c32f4840..68065e24 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -234,7 +234,6 @@ const App = () => { const onOAuthConnect = useCallback( (serverUrl: string) => { setSseUrl(serverUrl); - setTransportType("sse"); setIsAuthDebuggerVisible(false); void connectMcpServer(); }, diff --git a/client/src/lib/hooks/useConnection.ts b/client/src/lib/hooks/useConnection.ts index 4ced90e4..6d328033 100644 --- a/client/src/lib/hooks/useConnection.ts +++ b/client/src/lib/hooks/useConnection.ts @@ -250,8 +250,12 @@ export function useConnection({ }; const handleAuthError = async (error: unknown) => { - if (error instanceof SseError && error.code === 401) { - // Create a new auth provider with the current server URL + const is401Error = + (error instanceof SseError && error.code === 401) || + (error instanceof Error && error.message.includes('401')) || + (error instanceof Error && error.message.includes('Unauthorized')); + + if (is401Error) { const serverAuthProvider = new InspectorOAuthClientProvider(sseUrl); const result = await auth(serverAuthProvider, { serverUrl: sseUrl }); @@ -330,7 +334,6 @@ export function useConnection({ mcpProxyServerUrl = new URL(`${getMCPProxyAddress(config)}/sse`); mcpProxyServerUrl.searchParams.append("url", sseUrl); transportOptions = { - authProvider: serverAuthProvider, eventSourceInit: { fetch: ( url: string | URL | globalThis.Request, @@ -347,7 +350,6 @@ export function useConnection({ mcpProxyServerUrl = new URL(`${getMCPProxyAddress(config)}/mcp`); mcpProxyServerUrl.searchParams.append("url", sseUrl); transportOptions = { - authProvider: serverAuthProvider, eventSourceInit: { fetch: ( url: string | URL | globalThis.Request, @@ -375,9 +377,9 @@ export function useConnection({ const clientTransport = transportType === "streamable-http" ? new StreamableHTTPClientTransport(mcpProxyServerUrl as URL, { - sessionId: undefined, - ...transportOptions, - }) + sessionId: undefined, + ...transportOptions, + }) : new SSEClientTransport(mcpProxyServerUrl as URL, transportOptions); if (onNotification) { @@ -425,12 +427,19 @@ export function useConnection({ `Failed to connect to MCP Server via the MCP Inspector Proxy: ${mcpProxyServerUrl}:`, error, ); - const shouldRetry = await handleAuthError(error); - if (shouldRetry) { - return connect(undefined, retryCount + 1); - } - if (error instanceof SseError && error.code === 401) { + // Check for auth-related errors + const is401Error = + (error instanceof SseError && error.code === 401) || + (error instanceof Error && error.message.includes('401')) || + (error instanceof Error && error.message.includes('Unauthorized')); + + if (is401Error) { + console.log("Detected 401 error, attempting OAuth flow"); + const shouldRetry = await handleAuthError(error); + if (shouldRetry) { + return connect(undefined, retryCount + 1); + } // Don't set error state if we're about to redirect for auth return; } diff --git a/package-lock.json b/package-lock.json index 92e89f74..46beb270 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8407,15 +8407,6 @@ "node": "20 || >=22" } }, - "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "license": "MIT", - "engines": { - "node": ">=16" - } - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", diff --git a/server/src/mcpProxy.ts b/server/src/mcpProxy.ts index b93c0cdf..4e81fd59 100644 --- a/server/src/mcpProxy.ts +++ b/server/src/mcpProxy.ts @@ -1,4 +1,5 @@ import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js"; +import { isJSONRPCRequest } from "@modelcontextprotocol/sdk/types.js"; function onClientError(error: Error) { console.error("Error from inspector client:", error); @@ -19,7 +20,21 @@ export default function mcpProxy({ let transportToServerClosed = false; transportToClient.onmessage = (message) => { - transportToServer.send(message).catch(onServerError); + transportToServer.send(message).catch((error) => { + // Send error response back to client if it was a request (has id) and connection is still open + if (isJSONRPCRequest(message) && !transportToClientClosed) { + const errorResponse = { + jsonrpc: "2.0" as const, + id: message.id, + error: { + code: -32001, + message: error.message, + data: error + } + }; + transportToClient.send(errorResponse).catch(onClientError); + } + }); }; transportToServer.onmessage = (message) => { From 85ae0ede85ba42de9a5ed7f9438267f103cf06d8 Mon Sep 17 00:00:00 2001 From: ihrpr Date: Mon, 19 May 2025 18:36:50 +0100 Subject: [PATCH 02/10] small fix --- client/src/lib/hooks/useConnection.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/client/src/lib/hooks/useConnection.ts b/client/src/lib/hooks/useConnection.ts index 6d328033..14a53e15 100644 --- a/client/src/lib/hooks/useConnection.ts +++ b/client/src/lib/hooks/useConnection.ts @@ -428,19 +428,18 @@ export function useConnection({ error, ); - // Check for auth-related errors + const shouldRetry = await handleAuthError(error); + if (shouldRetry) { + return connect(undefined, retryCount + 1); + } const is401Error = (error instanceof SseError && error.code === 401) || (error instanceof Error && error.message.includes('401')) || (error instanceof Error && error.message.includes('Unauthorized')); if (is401Error) { - console.log("Detected 401 error, attempting OAuth flow"); - const shouldRetry = await handleAuthError(error); - if (shouldRetry) { - return connect(undefined, retryCount + 1); - } // Don't set error state if we're about to redirect for auth + return; } throw error; From 2f6a9fca112cf4e3570b92bfa62df0934aba180c Mon Sep 17 00:00:00 2001 From: ihrpr Date: Mon, 19 May 2025 19:03:22 +0100 Subject: [PATCH 03/10] format --- client/src/lib/hooks/useConnection.ts | 14 +++++++------- server/src/mcpProxy.ts | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/src/lib/hooks/useConnection.ts b/client/src/lib/hooks/useConnection.ts index 14a53e15..50ef88ca 100644 --- a/client/src/lib/hooks/useConnection.ts +++ b/client/src/lib/hooks/useConnection.ts @@ -252,8 +252,8 @@ export function useConnection({ const handleAuthError = async (error: unknown) => { const is401Error = (error instanceof SseError && error.code === 401) || - (error instanceof Error && error.message.includes('401')) || - (error instanceof Error && error.message.includes('Unauthorized')); + (error instanceof Error && error.message.includes("401")) || + (error instanceof Error && error.message.includes("Unauthorized")); if (is401Error) { const serverAuthProvider = new InspectorOAuthClientProvider(sseUrl); @@ -377,9 +377,9 @@ export function useConnection({ const clientTransport = transportType === "streamable-http" ? new StreamableHTTPClientTransport(mcpProxyServerUrl as URL, { - sessionId: undefined, - ...transportOptions, - }) + sessionId: undefined, + ...transportOptions, + }) : new SSEClientTransport(mcpProxyServerUrl as URL, transportOptions); if (onNotification) { @@ -434,8 +434,8 @@ export function useConnection({ } const is401Error = (error instanceof SseError && error.code === 401) || - (error instanceof Error && error.message.includes('401')) || - (error instanceof Error && error.message.includes('Unauthorized')); + (error instanceof Error && error.message.includes("401")) || + (error instanceof Error && error.message.includes("Unauthorized")); if (is401Error) { // Don't set error state if we're about to redirect for auth diff --git a/server/src/mcpProxy.ts b/server/src/mcpProxy.ts index 4e81fd59..12660504 100644 --- a/server/src/mcpProxy.ts +++ b/server/src/mcpProxy.ts @@ -29,8 +29,8 @@ export default function mcpProxy({ error: { code: -32001, message: error.message, - data: error - } + data: error, + }, }; transportToClient.send(errorResponse).catch(onClientError); } From 6b19ac3e3dddfef9704a3ee4d12ec7bdb586862b Mon Sep 17 00:00:00 2001 From: ihrpr Date: Mon, 19 May 2025 19:21:58 +0100 Subject: [PATCH 04/10] random issue when running build --- client/src/components/ToolsTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/ToolsTab.tsx b/client/src/components/ToolsTab.tsx index aa67bfcf..8b625567 100644 --- a/client/src/components/ToolsTab.tsx +++ b/client/src/components/ToolsTab.tsx @@ -82,7 +82,7 @@ const ToolsTab = ({ Success )} - {structuredResult.content.map((item, index) => ( + {structuredResult.content?.map((item, index) => (
{item.type === "text" && ( From 014ef7d35e2f509919de2e19d431cba0c7a18732 Mon Sep 17 00:00:00 2001 From: ihrpr Date: Tue, 20 May 2025 17:25:44 +0100 Subject: [PATCH 05/10] refactor --- client/src/lib/hooks/useConnection.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/client/src/lib/hooks/useConnection.ts b/client/src/lib/hooks/useConnection.ts index 50ef88ca..9c825318 100644 --- a/client/src/lib/hooks/useConnection.ts +++ b/client/src/lib/hooks/useConnection.ts @@ -249,13 +249,16 @@ export function useConnection({ } }; - const handleAuthError = async (error: unknown) => { - const is401Error = + const is401Error = (error: unknown): boolean => { + return ( (error instanceof SseError && error.code === 401) || (error instanceof Error && error.message.includes("401")) || - (error instanceof Error && error.message.includes("Unauthorized")); + (error instanceof Error && error.message.includes("Unauthorized")) + ); + }; - if (is401Error) { + const handleAuthError = async (error: unknown) => { + if (is401Error(error)) { const serverAuthProvider = new InspectorOAuthClientProvider(sseUrl); const result = await auth(serverAuthProvider, { serverUrl: sseUrl }); @@ -432,12 +435,7 @@ export function useConnection({ if (shouldRetry) { return connect(undefined, retryCount + 1); } - const is401Error = - (error instanceof SseError && error.code === 401) || - (error instanceof Error && error.message.includes("401")) || - (error instanceof Error && error.message.includes("Unauthorized")); - - if (is401Error) { + if (is401Error(error)) { // Don't set error state if we're about to redirect for auth return; From 8ab5ac14769b2b05759d1a62729eb5ee96eb914c Mon Sep 17 00:00:00 2001 From: ihrpr Date: Tue, 20 May 2025 18:21:33 +0100 Subject: [PATCH 06/10] remove null check --- client/src/components/ToolsTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/ToolsTab.tsx b/client/src/components/ToolsTab.tsx index 8b625567..aa67bfcf 100644 --- a/client/src/components/ToolsTab.tsx +++ b/client/src/components/ToolsTab.tsx @@ -82,7 +82,7 @@ const ToolsTab = ({ Success )} - {structuredResult.content?.map((item, index) => ( + {structuredResult.content.map((item, index) => (
{item.type === "text" && ( From df9ea1e8a4127a4ed4ac0dd405bcf30db8c4c288 Mon Sep 17 00:00:00 2001 From: Paul Carleton Date: Tue, 20 May 2025 19:51:48 +0100 Subject: [PATCH 07/10] rework naming --- client/src/components/Sidebar.tsx | 6 +++--- client/src/components/__tests__/Sidebar.test.tsx | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/client/src/components/Sidebar.tsx b/client/src/components/Sidebar.tsx index a7668d42..516f48d5 100644 --- a/client/src/components/Sidebar.tsx +++ b/client/src/components/Sidebar.tsx @@ -127,14 +127,14 @@ const Sidebar = ({ return { type: "sse", url: sseUrl, - note: "For SSE connections, add this URL directly in Client", + note: "For SSE connections, add this URL directly in your MCP Client", }; } if (transportType === "streamable-http") { return { type: "streamable-http", url: sseUrl, - note: "For Streamable HTTP connections, add this URL directly in Client", + note: "For Streamable HTTP connections, add this URL directly in your MCP Client", }; } return {}; @@ -172,7 +172,7 @@ const Sidebar = ({ description: transportType === "stdio" ? "Server configuration has been copied to clipboard. Add this to your mcp.json inside the 'mcpServers' object with your preferred server name." - : "SSE URL has been copied. Use this URL in Cursor directly.", + : "SSE URL has been copied. Use this URL directly in your MCP Client.", }); setTimeout(() => { diff --git a/client/src/components/__tests__/Sidebar.test.tsx b/client/src/components/__tests__/Sidebar.test.tsx index 47c19b17..ba03d180 100644 --- a/client/src/components/__tests__/Sidebar.test.tsx +++ b/client/src/components/__tests__/Sidebar.test.tsx @@ -755,7 +755,7 @@ describe("Sidebar Environment Variables", () => { { type: "sse", url: sseUrl, - note: "For SSE connections, add this URL directly in Client", + note: "For SSE connections, add this URL directly in your MCP Client", }, null, 4, @@ -780,7 +780,7 @@ describe("Sidebar Environment Variables", () => { "default-server": { type: "sse", url: sseUrl, - note: "For SSE connections, add this URL directly in Client", + note: "For SSE connections, add this URL directly in your MCP Client", }, }, }, @@ -805,7 +805,7 @@ describe("Sidebar Environment Variables", () => { { type: "streamable-http", url: sseUrl, - note: "For Streamable HTTP connections, add this URL directly in Client", + note: "For Streamable HTTP connections, add this URL directly in your MCP Client", }, null, 4, @@ -830,7 +830,7 @@ describe("Sidebar Environment Variables", () => { "default-server": { type: "streamable-http", url: sseUrl, - note: "For Streamable HTTP connections, add this URL directly in Client", + note: "For Streamable HTTP connections, add this URL directly in your MCP Client", }, }, }, From b0db14c3a710f045f6bfdd2a29ac144645380120 Mon Sep 17 00:00:00 2001 From: ihrpr Date: Wed, 21 May 2025 20:33:19 +0100 Subject: [PATCH 08/10] 0.13.0 bump version --- cli/package.json | 2 +- client/package.json | 2 +- package-lock.json | 10 +++++----- package.json | 2 +- server/package.json | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cli/package.json b/cli/package.json index 53f2aa6b..8e4b9b19 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@modelcontextprotocol/inspector-cli", - "version": "0.12.0", + "version": "0.13.0", "description": "CLI for the Model Context Protocol inspector", "license": "MIT", "author": "Anthropic, PBC (https://anthropic.com)", diff --git a/client/package.json b/client/package.json index 2bcf2b03..de5b9261 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "@modelcontextprotocol/inspector-client", - "version": "0.12.0", + "version": "0.13.0", "description": "Client-side application for the Model Context Protocol inspector", "license": "MIT", "author": "Anthropic, PBC (https://anthropic.com)", diff --git a/package-lock.json b/package-lock.json index 46beb270..2f6cfdfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@modelcontextprotocol/inspector", - "version": "0.12.0", + "version": "0.13.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@modelcontextprotocol/inspector", - "version": "0.12.0", + "version": "0.13.0", "license": "MIT", "workspaces": [ "client", @@ -40,7 +40,7 @@ }, "cli": { "name": "@modelcontextprotocol/inspector-cli", - "version": "0.12.0", + "version": "0.13.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.11.0", @@ -63,7 +63,7 @@ }, "client": { "name": "@modelcontextprotocol/inspector-client", - "version": "0.12.0", + "version": "0.13.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.11.0", @@ -10924,7 +10924,7 @@ }, "server": { "name": "@modelcontextprotocol/inspector-server", - "version": "0.12.0", + "version": "0.13.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.11.0", diff --git a/package.json b/package.json index dcbd3bf1..00b48c86 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@modelcontextprotocol/inspector", - "version": "0.12.0", + "version": "0.13.0", "description": "Model Context Protocol inspector", "license": "MIT", "author": "Anthropic, PBC (https://anthropic.com)", diff --git a/server/package.json b/server/package.json index 72723d3f..f7d47cb2 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "@modelcontextprotocol/inspector-server", - "version": "0.12.0", + "version": "0.13.0", "description": "Server-side application for the Model Context Protocol inspector", "license": "MIT", "author": "Anthropic, PBC (https://anthropic.com)", From bbdbd3afb9c7a9beff40e48a986dcd181babf18f Mon Sep 17 00:00:00 2001 From: ihrpr Date: Wed, 21 May 2025 20:37:20 +0100 Subject: [PATCH 09/10] update dependencies as well --- package-lock.json | 6 +++--- package.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f6cfdfb..fef7b7c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,9 +14,9 @@ "cli" ], "dependencies": { - "@modelcontextprotocol/inspector-cli": "^0.12.0", - "@modelcontextprotocol/inspector-client": "^0.12.0", - "@modelcontextprotocol/inspector-server": "^0.12.0", + "@modelcontextprotocol/inspector-cli": "^0.13.0", + "@modelcontextprotocol/inspector-client": "^0.13.0", + "@modelcontextprotocol/inspector-server": "^0.13.0", "@modelcontextprotocol/sdk": "^1.11.2", "concurrently": "^9.0.1", "open": "^10.1.0", diff --git a/package.json b/package.json index 00b48c86..f1ba80de 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,9 @@ "publish-all": "npm publish --workspaces --access public && npm publish --access public" }, "dependencies": { - "@modelcontextprotocol/inspector-cli": "^0.12.0", - "@modelcontextprotocol/inspector-client": "^0.12.0", - "@modelcontextprotocol/inspector-server": "^0.12.0", + "@modelcontextprotocol/inspector-cli": "^0.13.0", + "@modelcontextprotocol/inspector-client": "^0.13.0", + "@modelcontextprotocol/inspector-server": "^0.13.0", "@modelcontextprotocol/sdk": "^1.11.2", "concurrently": "^9.0.1", "open": "^10.1.0", From 7cf85b526a22f07b5f0da910fb8561be89411014 Mon Sep 17 00:00:00 2001 From: ihrpr Date: Wed, 21 May 2025 20:56:25 +0100 Subject: [PATCH 10/10] update TS sdk --- cli/package.json | 2 +- client/package.json | 2 +- package-lock.json | 66 ++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- server/package.json | 2 +- 5 files changed, 61 insertions(+), 13 deletions(-) diff --git a/cli/package.json b/cli/package.json index 8e4b9b19..55f12e15 100644 --- a/cli/package.json +++ b/cli/package.json @@ -21,7 +21,7 @@ }, "devDependencies": {}, "dependencies": { - "@modelcontextprotocol/sdk": "^1.11.0", + "@modelcontextprotocol/sdk": "^1.11.5", "commander": "^13.1.0", "spawn-rx": "^5.1.2" } diff --git a/client/package.json b/client/package.json index de5b9261..5b5ec19a 100644 --- a/client/package.json +++ b/client/package.json @@ -23,7 +23,7 @@ "test:watch": "jest --config jest.config.cjs --watch" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.11.0", + "@modelcontextprotocol/sdk": "^1.11.5", "@radix-ui/react-checkbox": "^1.1.4", "@radix-ui/react-dialog": "^1.1.3", "@radix-ui/react-icons": "^1.3.0", diff --git a/package-lock.json b/package-lock.json index fef7b7c2..0274b038 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@modelcontextprotocol/inspector-cli": "^0.13.0", "@modelcontextprotocol/inspector-client": "^0.13.0", "@modelcontextprotocol/inspector-server": "^0.13.0", - "@modelcontextprotocol/sdk": "^1.11.2", + "@modelcontextprotocol/sdk": "^1.11.5", "concurrently": "^9.0.1", "open": "^10.1.0", "shell-quote": "^1.8.2", @@ -43,7 +43,7 @@ "version": "0.13.0", "license": "MIT", "dependencies": { - "@modelcontextprotocol/sdk": "^1.11.0", + "@modelcontextprotocol/sdk": "^1.11.5", "commander": "^13.1.0", "spawn-rx": "^5.1.2" }, @@ -66,7 +66,7 @@ "version": "0.13.0", "license": "MIT", "dependencies": { - "@modelcontextprotocol/sdk": "^1.11.0", + "@modelcontextprotocol/sdk": "^1.11.5", "@radix-ui/react-checkbox": "^1.1.4", "@radix-ui/react-dialog": "^1.1.3", "@radix-ui/react-icons": "^1.3.0", @@ -2004,13 +2004,15 @@ "link": true }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.2.tgz", - "integrity": "sha512-H9vwztj5OAqHg9GockCQC06k1natgcxWQSRpQcPJf6i5+MWBzfKkRtxGbjQf0X2ihii0ffLZCRGbYV2f2bjNCQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.5.tgz", + "integrity": "sha512-gS7Q7IHpKxjVaNLMUZyTtatZ63ca3h418zPPntAhu/MvG5yfz/8HMcDAOpvpQfx3V3dsw9QQxk8RuFNrQhLlgA==", + "license": "MIT", "dependencies": { + "ajv": "^8.17.1", "content-type": "^1.0.5", "cors": "^2.8.5", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "express": "^5.0.1", "express-rate-limit": "^7.5.0", @@ -2023,6 +2025,28 @@ "node": ">=18" } }, + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5652,7 +5676,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, "license": "MIT" }, "node_modules/fast-glob": { @@ -5697,6 +5720,22 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", @@ -9028,6 +9067,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -10927,7 +10975,7 @@ "version": "0.13.0", "license": "MIT", "dependencies": { - "@modelcontextprotocol/sdk": "^1.11.0", + "@modelcontextprotocol/sdk": "^1.11.5", "cors": "^2.8.5", "express": "^5.1.0", "ws": "^8.18.0", diff --git a/package.json b/package.json index f1ba80de..d46b3ef8 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@modelcontextprotocol/inspector-cli": "^0.13.0", "@modelcontextprotocol/inspector-client": "^0.13.0", "@modelcontextprotocol/inspector-server": "^0.13.0", - "@modelcontextprotocol/sdk": "^1.11.2", + "@modelcontextprotocol/sdk": "^1.11.5", "concurrently": "^9.0.1", "open": "^10.1.0", "shell-quote": "^1.8.2", diff --git a/server/package.json b/server/package.json index f7d47cb2..a3333da0 100644 --- a/server/package.json +++ b/server/package.json @@ -27,7 +27,7 @@ "typescript": "^5.6.2" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.11.0", + "@modelcontextprotocol/sdk": "^1.11.5", "cors": "^2.8.5", "express": "^5.1.0", "ws": "^8.18.0",