github / github/copilot-cli

Allow configuring MCP slow-connection warning threshold

オープン
#2,907 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る
area:configuration area:mcp
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start with the mcp-config.json schema and configuration path, then inspect the slow-connection monitor class and its constructor options. Wire the proposed slowConnectionThresholdMs setting to the existing monitor and verify that a configured threshold prevents warnings for connections below it while retaining the default behavior when unset.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
shell
領域
cli
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
68/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。