fix(mcp-server): add diagnostic logging for silent HTTP 500 from transport #1461
+251
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Summary
handleRequestwhen the transport returned a 500Context
A client gets a silent
500onnotifications/initializedafter a successfulinitialize. The server logs show:No error message is logged between the "Incoming" and the "[500]".
This happens because the Hono adapter (
@hono/node-server) inside@modelcontextprotocol/sdkcatches errors internally and writes500directly to the Node.js response, bypassing our logger entirely. Two error paths in Hono produce silent 500s:handleFetchError— when the Web Standard transport handler's Promise rejects → returnsResponse(null, {status: 500})(empty body)handleResponseError— when writing the response to the Node.jsresfails → writesError: <message>as plain text bodyWith this PR, the same scenario would log:
Test plan
🤖 Generated with Claude Code