github / github/copilot-cli

Support MCP 2026-07-28 Multi Round-Trip Requests (input_required)

Abierto
#4,834 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

triage
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-28 on 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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.