MCP tools/list_changed notification: updated tools not visible to the model until the next user turn
- 主要語言
- 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 還沒有評估資料。