Support MCP 2026-07-28 Multi Round-Trip Requests (input_required)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza rastreando los puntos de entrada MCP initialize y tools/call descritos en la issue, incluida la negociación de la versión del protocolo y la elicitation en modo URL. Verifica cómo se representan input_required y requestState y, a continuación, confirma que el tools/call original se reintenta como una nueva solicitud JSON-RPC después de recopilar el resultado de la elicitation.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Área
- api
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100