github / github/copilot-cli

Allow configuring MCP slow-connection warning threshold

Abierto
#2,907 0 comentarios 2 reacciones 0 asignados Ver en GitHub
area:configuration area:mcp
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

### 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):
```json
{
"mcpServers": {
"my-server": {
"type": "stdio",
"command": "my-mcp-server",
"args": ["start"],
"timeout": 60000,
"slowConnectionThresholdMs": 30000
}
}
}
```

**Or globally:**
```json
{
"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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.