Record MCP framing transport fix
ober
bb4035286612e288dd9851184464e6450e2dd32c
--- a/data/error-fixes.sexp +++ b/data/error-fixes.sexp @@ -2737,4 +2737,13 @@ "Do not enable rscap through the normal/full native bundle until its Sniffer has a sound Send implementation or the wrapper is redesigned for thread-local ownership. Keep packet capture behind an explicit Cargo feature and verify the default native library has no packet-capture symbols.") ("id" . "rscap-sniffer-not-send-static-registry") ("pattern" . "cannot be sent between threads safely.*(PacketRxRing|Sniffer)") - ("type" . "rust-compile"))) + ("type" . "rust-compile")) + (("explanation" + . + "MCP clients commonly speak JSON-RPC over stdio using `Content-Length: N\\r\\n\\r\\n` framing. A newline-only server tries to parse the header line as JSON, emits `unexpected character`, and many clients then close the transport.") + ("fix" + . + "Make the MCP stdio loop accept both legacy newline-delimited JSON and framed `Content-Length` messages. Reply with the same framing mode used by the request, then rebuild and reinstall `jmcp`; existing closed connector processes must be restarted.") + ("id" . "mcp-content-length-framing-transport-closed") + ("pattern" . "Transport closed|unexpected character") + ("type" . "mcp-transport")))