Skip to content

Commit 52c63c5

Browse files
author
BUMshakalaka
committed
fix: update response status code for invalid session ID in StreamableHTTPSessionManager
Changed the status code from BAD_REQUEST to NOT_FOUND and added MCP_SESSION_ID_HEADER to the response headers if available. This behaviour is align with MCP spec https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management
1 parent c0f1657 commit 52c63c5

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/mcp/server/streamable_http_manager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ async def run_server(*, task_status: TaskStatus[None] = anyio.TASK_STATUS_IGNORE
274274
# Invalid session ID
275275
response = Response(
276276
"Bad Request: No valid session ID provided",
277-
status_code=HTTPStatus.BAD_REQUEST,
277+
status_code=HTTPStatus.NOT_FOUND,
278+
headers={MCP_SESSION_ID_HEADER: request_mcp_session_id} if request_mcp_session_id else {},
278279
)
279280
await response(scope, receive, send)

0 commit comments

Comments
 (0)