Skip to content

Allow configuring MCP slow-connection warning threshold #2907

@richardpowellus

Description

@richardpowellus

Describe the feature or problem you'd like to solve

MCP servers that require authentication handshakes (e.g., OAuth, Entra ID) routinely take 5-10 seconds to connect. The CLI displays a warning for each server that exceeds the hardcoded 10-second threshold:

! MCP server 'server-a' is taking longer than expected to connect.
! MCP server 'server-b' is taking longer than expected to connect.
! MCP server 'server-c' is taking longer than expected to connect.

All servers connect successfully -- the warnings are purely cosmetic. With many MCP servers configured, startup is dominated by a wall of yellow warnings that adds noise without actionable information.

The timeout field in mcp-config.json controls the hard connection timeout (how long before giving up), but there is no way to control the warning threshold.

Proposed solution

Add support for a slowConnectionThresholdMs field in mcp-config.json, either:

Per-server (preferred):

{
  "mcpServers": {
    "my-server": {
      "type": "stdio",
      "command": "my-mcp-server",
      "args": ["start"],
      "timeout": 60000,
      "slowConnectionThresholdMs": 30000
    }
  }
}

Or globally:

{
  "mcpServers": { "...": "..." },
  "slowConnectionThresholdMs": 30000
}

The internal plumbing already supports this -- the slow-connection monitor class constructor accepts slowConnectionThresholdMs as an option, it's just not wired to any user-facing config.

Example prompts or workflows

  1. User configures multiple MCP servers that authenticate via OAuth or similar
  2. Each server takes ~5-10s to complete auth + upstream connect
  3. User sets "slowConnectionThresholdMs": 30000 to suppress warnings for expected auth latency
  4. Startup shows clean output with no false-positive warnings

Additional context

  • The slow-connection monitor class already accepts slowConnectionThresholdMs in its constructor options -- this is a config-wiring change, not a new feature
  • The default 10s threshold is hardcoded as a constant
  • This primarily affects users with authenticated MCP proxies (OAuth servers, enterprise auth flows)
  • A single OAuth/auth handshake can take ~5s, so even one hop can approach the 10s threshold

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:mcpMCP server configuration, discovery, connectivity, OAuth, policy, and registry
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions