github / github/copilot-cli

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

Đang mở
#4,834 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

triage
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách lần theo các entry point MCP initialize và tools/call được mô tả trong issue, bao gồm thương lượng phiên bản giao thức và elicitation ở chế độ URL. Xác minh cách input_required và requestState được biểu diễn, sau đó xác nhận rằng tools/call ban đầu được thử lại dưới dạng một yêu cầu JSON-RPC mới sau khi thu thập kết quả elicitation.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Lĩnh vực
api
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.