MCP Inspector's network log hid the body of every intercepted 401 because the tracker sat above the interceptor
PR #2371, merged 2026-09-14, reorders the fetch wrappers in createTransportNode from tracker(intercept(observer(baseFetch))) to intercept(tracker(observer(baseFetch))). On a 401 or 403 the auth interceptor cancelled the body and threw AuthChallengeError, so the tracker only ever logged an error string, and NetworkEntry renders a Response section only when responseStatus is set, meaning the status, the WWW-Authenticate header with its resource_metadata and scope, and the body were all invisible. A second change stops awaiting the body cancel(), because with the tracker's clone as the other tee branch, cancelling one branch settles only once the clone reads to the end, so a 401 with an unending body would hang the challenge throw. Both regression tests are mutation-checked.
Source
↳ Follow the thread