github / github/copilot-cli

Allow configuring MCP slow-connection warning threshold

Đang mở
#2,907 0 bình luận 2 reaction 0 người được giao Xem trên GitHub
area:configuration area:mcp
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.