Support MCP 2026-07-28 Multi Round-Trip Requests (input_required)
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the MCP initialize and tools/call entry points described in the issue, including protocol-version negotiation and URL-mode elicitation. Verify how input_required and requestState are represented, then confirm that the original tools/call is retried as a new JSON-RPC request after the elicitation result is collected.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100