MCP & Connectors
How do you configure Server-Sent Events (SSE) transport for MCP?
QUICK ANSWER
To configure SSE transport on an MCP server, instantiate an SSEServerTransport on your HTTP server routing layer to dispatch events, and implement a POST endpoint that accepts the client JSON-RPC payloads.
Node.js Express Setup Example
Expose your MCP server using Server-Sent Events in an Express.js application:
import express from "express";
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
const server = new Server({ name: "my-sse-server", version: "1.0" }, { capabilities: {} });
const app = express();
let transport: SSEServerTransport;
app.get("/sse", (req, res) => {
transport = new SSEServerTransport("/messages", res);
server.connect(transport);
});
app.post("/messages", (req, res) => {
if (transport) {
transport.handleMessage(req, res);
} else {
res.status(400).send("No active SSE session");
}
});
app.listen(3000);
Verified against: MCP SDK v0.7.0