From 8a20f7711ac70639d88f48a785f0fdc59a38a9f7 Mon Sep 17 00:00:00 2001 From: Justin Spahr-Summers Date: Fri, 24 Jan 2025 11:27:40 +0000 Subject: [PATCH] Use new `SseError` class from SDK --- server/src/errors.ts | 11 ----------- server/src/index.ts | 5 ++--- 2 files changed, 2 insertions(+), 14 deletions(-) delete mode 100644 server/src/errors.ts diff --git a/server/src/errors.ts b/server/src/errors.ts deleted file mode 100644 index eba1d40..0000000 --- a/server/src/errors.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface SseError extends Error { - code: number; -} - -export function isSseError(error: unknown): error is SseError { - if (!(error instanceof Error)) { - return false; - } - - return "code" in error && typeof error.code === "number"; -} diff --git a/server/src/index.ts b/server/src/index.ts index 1eaa7ae..1428e80 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -4,7 +4,7 @@ import cors from "cors"; import { parseArgs } from "node:util"; import { parse as shellParseArgs } from "shell-quote"; -import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js"; +import { SSEClientTransport, SseError } from "@modelcontextprotocol/sdk/client/sse.js"; import { StdioClientTransport, getDefaultEnvironment, @@ -12,7 +12,6 @@ import { import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js"; import express from "express"; import { findActualExecutable } from "spawn-rx"; -import { isSseError } from "./errors.js"; import mcpProxy from "./mcpProxy.js"; const SSE_HEADERS_PASSTHROUGH = ['Authorization']; @@ -103,7 +102,7 @@ app.get("/sse", async (req, res) => { try { backingServerTransport = await createTransport(req); } catch (error) { - if (isSseError(error) && error.code === 401) { + if (error instanceof SseError && error.code === 401) { console.error("Received 401 Unauthorized from MCP server:", error.message); res.status(401).json(error); return;