Support MCP 2026-07-28 Multi Round-Trip Requests (input_required)
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
Describe the feature or problem you'd like to solve
Copilot does not support the protocol version 2026-07-28 and thus MRTR for URL elicitation fail for server not supporting legacy (2025-era) fallback
Proposed solution
Copilot CLI should support the MCP 2026-07-28 Multi Round-Trip Request (MRTR) mechanism, including input_required, requestState, and URL-mode elicitation.
Problem
I am running Copilot CLI 1.0.83 against an MCP server that implements only MCP 2026-07-28 (1.0.83 is the latest version of Copilot at the time of writing). The server has legacy MCP compatibility disabled and therefore does not support the 2025-era server --> client elicitation mechanism.
Expected behavior
For a 2026-07-28 MCP connection, Copilot CLI should:
- send protocol version
2026-07-28on initialize - Receive resultType: "input_required" from tools/call.
- Handle the embedded URL elicitation and present/launch the URL for the user.
- Collect the result of the elicitation.
- Retry the original tools/call as a new JSON-RPC request.
Actual behavior
With Copilot CLI 1.0.83, the client sends protocol version 2025-11-25 on initialize.
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-11-25",
"capabilities": {
"sampling": {},
"elicitation": {
"form": {},
"url": {}
}
},
"clientInfo": {
"name": "copilot-cli",
"version": "0.0.0"
}
}
}
(interesting: clientInfo states 0.0.0 instead of 1.0.83)
Subsequently, Copilot sends notifications/initialized and tools/list:
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {
"_meta": {
"progressToken": 0
}
}
}
Then, I ask for a tool called url_elicitation. Copilot sends the payload:
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"_meta": {
"progressToken": 0
},
"arguments": {},
"name": "url_elicitation"
}
}
MCP server responds with the error as the tool handler returns input-required result which is not supported by protocol 2025-11-25:
{
"jsonrpc": "2.0",
"id": 4,
"error": {
"code": -32603,
"message": "Handler for tools/call returned an input-required result, but this request is served on protocol revision 2025-11-25, which has no input_required vocabulary"
}
}
Note that the request headers set by Copilot include:
"mcp-protocol-version": "2025-11-25".
Note that the MCP server intentionally has the legacy compatibility/shim disabled.
Requested support
Please add native Copilot CLI support for:
- MCP protocol 2026-07-28
- Multi Round-Trip Requests (MRTR)
- requestState round-tripping
- URL-mode elicitation
- Retrying tools/call after elicitation
Please provide info about the roadmap.
Example prompts or workflows
No response
Additional context
No response
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、issue に記載されている MCP の initialize および tools/call のエントリポイントを追跡します。これには、プロトコルバージョンのネゴシエーションと URL モードの elicitation が含まれます。input_required と requestState がどのように表現されるかを確認し、その後、elicitation の結果が収集された後に元の tools/call が新しい JSON-RPC リクエストとして再試行されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 領域
- api
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100