Strixa AI
TopicsSearchPricing
Sign inStart tracking

Signal Detail

Loading signal detail

Reading this signal card's judgment, risks, and evidence.

Strixa AI
TopicsSearchPricing
Sign inStart tracking
Back to Signal Feed
CodeTracked since May 19, 2026

Add 30s timeout to MCP host-service fetch calls

This PR adds a 30,000ms client-side timeout to `hostServiceCall` in `mcp-v2`, using `AbortController` instead of allowing relay fetches to run until Vercel kills the lambda at 300s; on abort it now throws a clear timeout error, and the timer is always cleared in `finally` so repeated requests do not leak resources. It also adds `HostServiceCallOptions.timeoutMs` to allow override by callers.

hostServiceCallAbortControllerHostServiceCallOptions.timeoutMsMCP

Signal Intelligence

Confidence Level97%
Worth Continued TrackingFinal score 82% with 1 evidence item.
Primary Impact Areas
hostServiceCallAbortControllerHostServiceCallOptions.timeoutMs

What Happened

  • This PR adds a 30,000ms client-side timeout to `hostServiceCall` in `mcp-v2`, using `AbortController` instead of allowing relay fetches to run until Vercel kills the lambda at 300s; on abort it now throws a clear timeout error, and the timer is always cleared in `finally` so repeated requests do not leak resources. It also adds `HostServiceCallOptions.timeoutMs` to allow override by callers.
  • This PR adds a 30,000ms client-side timeout to `hostServiceCall` in `mcp-v2`, using `AbortController` instead of allowing relay fetches to run until Vercel kills the lambda at 300s; on abort it now throws a clear timeout error, and the timer is always cleared in `finally` so repeated requests do not leak resources. It also adds `HostServiceCallOptions.timeoutMs` to allow override by callers.
  • 1 evidence item attached for review.

What is Different

Before

Scattered source updates, isolated context, and manual follow-up across multiple feeds.

Now

Introduced a concrete timeout guard for `host-service-client.ts` relay calls: fetch requests are bound to an `AbortController` with a default 30s timeout, emit explicit `Host <id> timed out after <ms> for <procedure>` errors when aborted, and clear timers in `finally` to avoid timer leaks.

Why Track This

Why It Matters

Operators and tool users calling MCP endpoints such as `/api/agent/mcp` and `/api/v2/agent/mcp` should see stalled calls fail in about 30 seconds instead of hanging for 300 seconds, which directly reduces lambda starvation and makes host/offline relay failures visible as actionable tool errors rather than silent timeout storms (previously 83,850+ errors in 24h, 312 in the last hour). The change affects `agents_run`, `agents_list`, `workspaces_create`, and `workspaces_delete`; it improves incident response by surfacing a consistent timeout path and preventing long-running blocked handlers. Watch next: whether the 30s default is too short for legitimate high-latency relay paths and whether clients need tuned `timeoutMs` settings to avoid unnecessary aborts.

Impact

Operators and tool users calling MCP endpoints such as `/api/agent/mcp` and `/api/v2/agent/mcp` should see stalled calls fail in about 30 seconds instead of hanging for 300 seconds, which directly reduces lambda starvation and makes host/offline relay failures visible as actionable tool errors rather than silent timeout storms (previously 83,850+ errors in 24h, 312 in the last hour). The change affects `agents_run`, `agents_list`, `workspaces_create`, and `workspaces_delete`; it improves incident response by surfacing a consistent timeout path and preventing long-running blocked handlers. Watch next: whether the 30s default is too short for legitimate high-latency relay paths and whether clients need tuned `timeoutMs` settings to avoid unnecessary aborts.

What To Watch Next

  • Watch whether hostServiceCall becomes a repeated pattern.
  • Track follow-up changes around LLMOps.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: timeout_too_aggressive_for_slow_hosts, retry_or_backoff_need_verification.
Open Topic TimelineOpen Technical EventOpen Original Sourcetimeout_too_aggressive_for_slow_hosts / retry_or_backoff_need_verification / timeout_override_configuration_regression

Supporting Evidence

GITHUB PULL REQUESTHigh Trust

superset-sh/superset PR #4710: fix(mcp-v2): add 30s timeout to hostServiceCall fetch to prevent Vercel 300s lambda drain

Relay-backed MCP tool requests now fail fast with explicit timeout errors instead of waiting for the full Vercel 300s runtime limit.