Fetching from the wire…
Public story · 2026-09-12 · high
The fix bounds the response body too, since a stalled body used to hang callers even after headers came back fine.
Why now: PR #2324 is part of MCP Inspector's coverage as of September 12, 2026.
MCP Inspector now puts a 30-second deadline on every OAuth-path request, and that deadline covers the response body, not the headers alone.
Fetch resolves as soon as headers arrive. A server that answers headers fine and then stalls partway through the body could hang a caller stuck in response.json(), with no timeout to break it loose. Anyone running MCP servers behind Inspector for local development gets a session that no longer locks up when a server goes slow mid-response.
The new withOAuthRequestTimeout wrapper sets DEFAULT_OAUTH_REQUEST_TIMEOUT_MS = 30_000 and bounds the full exchange, per PR #2324. Errors now name the endpoint that failed instead of pointing at the handshake in general terms.
The timeout sits on top of a separate ordering fix. The transport chain checks content type before deciding whether traffic counts as MCP traffic. That ordering means a form-encoded token refresh is never exempt from OAuth handling, even when oauthTokenUrl points at the MCP endpoint's own URL. The PR doesn't say what the code did before this change or how the old exemption logic failed, only that getting the check's order right came from a real failure exposing it.
The open question is how many other tools built around MCP's OAuth flow share the same assumption that a fetch resolving means the whole response is safe to read.
Each link below shares sources, entities, or timing with this story.
Released August 31 after five betas, five weeks, 23 contributors and 80+ PRs, built on the MCP 2026-07-28 revision and the rewritten Python SDK v2 (GitHub). Modern requests are sessionless and self-contained, so protocol version is negotiated per connection and horizontal scal...
The 1.4.0a2 alpha ships langchain.mcp, an MCPAdapter turning any MCP server into tools you hand straight to create_agent. Connection handling is FastMCP's rather than a reimplementation, so a URL, a local stdio script, an in-process FastMCP server, a multi-server config, or a...
Hudson Rock got hold of the archive and counted it. 433,909 files. 118,829 CI runner dumps traced to 2,488 corporate domains. AWS keys, Salesforce client secrets, Slack signing secrets, Azure environment variables, and AI provider API keys belonging to NVIDIA, Volkswagen, Micr...
holaboss-ai/holaOS puts Claude Code, Codex and its own agent in one Electron workspace where context and history live as editable local files rather than a hosted database, so memory persists across sessions *and* across agents. Built-in frontier models (Kimi K3, GLM 5.2, GPT...
upstash/context7 (60,590 stars) shipped @upstash/[redacted] on August 7 on the 2026-07-28 protocol revision. HTTP serving is now stateless for both modern and legacy clients, and Redis-backed sessions are gone, which is a real operational simplification for anyone self-hosting...
The Model Context Protocol's 2026-07-28 revision is the biggest change since the protocol existed. The core is now stateless request/response instead of a bidirectional stateful session. Authorization aligns with OAuth 2.1 and OpenID Connect. MCP Apps and Tasks moved under a v...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.