Skip to content

Commit e70bcd3

Browse files
committed
remove json middleware from everything streamable http server
1 parent 7e602b0 commit e70bcd3

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/everything/streamableHttp.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
2-
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
32
import { InMemoryEventStore } from '@modelcontextprotocol/sdk/examples/shared/inMemoryEventStore.js';
43
import express, { Request, Response } from "express";
54
import { createServer } from "./everything.js";
65
import { randomUUID } from 'node:crypto';
76

87
const app = express();
98

10-
app.use(express.json());
11-
129
const { server, cleanup } = createServer();
1310

1411
const transports: { [sessionId: string]: StreamableHTTPServerTransport } = {};
1512

1613
app.post('/mcp', async (req: Request, res: Response) => {
17-
console.log('Received MCP request:', req.body);
14+
console.log('Received MCP POST request');
1815
try {
1916
// Check for existing session ID
2017
const sessionId = req.headers['mcp-session-id'] as string | undefined;
@@ -23,7 +20,7 @@ app.post('/mcp', async (req: Request, res: Response) => {
2320
if (sessionId && transports[sessionId]) {
2421
// Reuse existing transport
2522
transport = transports[sessionId];
26-
} else if (!sessionId && isInitializeRequest(req.body)) {
23+
} else if (!sessionId) {
2724
// New initialization request
2825
const eventStore = new InMemoryEventStore();
2926
transport = new StreamableHTTPServerTransport({
@@ -50,7 +47,7 @@ app.post('/mcp', async (req: Request, res: Response) => {
5047
// so responses can flow back through the same transport
5148
await server.connect(transport);
5249

53-
await transport.handleRequest(req, res, req.body);
50+
await transport.handleRequest(req, res);
5451
return; // Already handled
5552
} else {
5653
// Invalid request - no session ID or not initialization request
@@ -67,7 +64,7 @@ app.post('/mcp', async (req: Request, res: Response) => {
6764

6865
// Handle the request with existing transport - no need to reconnect
6966
// The existing transport is already connected to the server
70-
await transport.handleRequest(req, res, req.body);
67+
await transport.handleRequest(req, res);
7168
} catch (error) {
7269
console.error('Error handling MCP request:', error);
7370
if (!res.headersSent) {
@@ -86,6 +83,7 @@ app.post('/mcp', async (req: Request, res: Response) => {
8683

8784
// Handle GET requests for SSE streams (using built-in support from StreamableHTTP)
8885
app.get('/mcp', async (req: Request, res: Response) => {
86+
console.log('Received MCP GET request');
8987
const sessionId = req.headers['mcp-session-id'] as string | undefined;
9088
if (!sessionId || !transports[sessionId]) {
9189
res.status(400).json({

0 commit comments

Comments
 (0)