Proposal: Add session/tools_available notification for async MCP tool readiness
#1003
ChinaLym
started this conversation in
Protocol Suggestions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
When a client creates a session via
session/newwithmcpServers,MCP tool connections are established asynchronously. The client has
no way to know when tools become available. If
session/promptissent before MCP tools are ready, the agent operates without tools,
leading to degraded responses.
Current Behavior
session/newwithmcpServers: [...]sessionIdimmediatelysession/prompt— tool_list may be emptyProposed Solution
Add an agent → client notification:
```jsonc
{
"method": "session/tools_available",
"params": {
"sessionId": "...",
"tools": [{ "name": "...", "description": "..." }],
"source": "mcp", // "mcp" | "builtin"
"serverName": "my-server" // which MCP server (optional)
}
}
Alternative: extend session/update
{ "method": "session/update", "params": { "sessionId": "...", "kind": "tools_changed", "tools": [...] } }Use Cases
Client can show a loading indicator until tools are ready
Client can queue the first prompt and send it only after tools load
Client can display which MCP tools are available in the UI
Handles partial readiness (some servers fast, some slow)
Beta Was this translation helpful? Give feedback.
All reactions