Support MCP 2026-07-28 Multi Round-Trip Requests (input_required)
Nessuno ha ancora preso questa issue.
- Lingua principale
- Shell
- Stelle
- 11.2k
- Fork
- 1.9k
- Merge medio
- 14h 16m
- PR unite (30g)
- 6
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia tracciando i punti di ingresso MCP initialize e tools/call descritti nella issue, inclusa la negoziazione della versione del protocollo e l’elicitation in modalità URL. Verifica come sono rappresentati input_required e requestState, quindi conferma che il tools/call originale venga ritentato come una nuova richiesta JSON-RPC dopo la raccolta del risultato dell’elicitation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Ambito
- api
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100