github / github/copilot-cli

MCP tools/list_changed notification: updated tools not visible to the model until the next user turn

未關閉
#3,125 1 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視
area:mcp area:tools triaged
主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

描述

### Describe the bug

When an MCP server emits a notifications/tools/list_changed notification mid-turn, the updated tool list is not visible to the model until the next user turn.

**Repro / observed behavior**
User sends a message; the agent loop starts.
The model calls a tool on an MCP server; that tool causes the server to add/remove a tool and emit notifications/tools/list_changed.
The agent loop continues with another model iteration in the same turn.
The model still sees the old tool list. Newly added tools are not callable; removed tools are still advertised.
On the next user message, the new tool list finally becomes visible.

### Affected version

1.0.41-1

### Steps to reproduce the behavior

User sends a message; the agent loop starts.
The model calls a tool on an MCP server; that tool causes the server to add/remove a tool and emit notifications/tools/list_changed.
The agent loop continues with another model iteration in the same turn.
The model still sees the old tool list. Newly added tools are not callable; removed tools are still advertised.
On the next user message, the new tool list finally becomes visible.

### Expected behavior

The model can see the new newly added tools without requiring another user->model conversation turn.
This is required in order to support MCP servers that implement progressive disclosure of tools server-side.

### Additional context

_No response_

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。