fix: clean up previous transport processes

This commit is contained in:
Simon Knott 2025-03-27 09:52:35 +01:00
commit 353d6b549b
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC

View file

@ -12,6 +12,7 @@ import {
StdioClientTransport,
getDefaultEnvironment,
} from "@modelcontextprotocol/sdk/client/stdio.js";
import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
import express from "express";
import { findActualExecutable } from "spawn-rx";
@ -98,12 +99,14 @@ const createTransport = async (req: express.Request) => {
}
};
let backingServerTransport: Transport | undefined;
app.get("/sse", async (req, res) => {
try {
console.log("New SSE connection");
let backingServerTransport;
try {
await backingServerTransport?.close();
backingServerTransport = await createTransport(req);
} catch (error) {
if (error instanceof SseError && error.code === 401) {