Merge branch 'main' into main

This commit is contained in:
Abdelkader Boudih
2025-03-31 18:32:18 +00:00
committed by GitHub
6 changed files with 81 additions and 56 deletions

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) {
@@ -184,15 +187,15 @@ app.get("/config", (req, res) => {
const PORT = process.env.PORT || 6277;
try {
const server = app.listen(PORT);
server.on("listening", () => {
const addr = server.address();
const port = typeof addr === "string" ? addr : addr?.port;
console.log(`Proxy server listening on port ${port}`);
});
} catch (error) {
console.error("Failed to start server:", error);
const server = app.listen(PORT);
server.on("listening", () => {
console.log(`⚙️ Proxy server listening on port ${PORT}`);
});
server.on("error", (err) => {
if (err.message.includes(`EADDRINUSE`)) {
console.error(`Proxy Server PORT IS IN USE at port ${PORT}`);
} else {
console.error(err.message);
}
process.exit(1);
}
});