{"version":"2.1.296","anchor":"mcp-first-toolslist-telemetry-gains-send-relative-timing-an","canonical_anchor":"mcp-first-toolslist-telemetry-gains-send-relative-timing-an","heading":"MCP servers can be asked for their tool list during connection, and that first answer is reused","tier":"internal","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/mcp-first-toolslist-telemetry-gains-send-relative-timing-an","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### MCP servers can be asked for their tool list during connection, and that first answer is reused\n\nClaude Code can request an MCP server's tool list while still connecting and reuse that first page, for servers chosen by tengu_tender_truffle\n\n**What**\n\nMCP servers are add-ons, using the Model Context Protocol, that give Claude extra tools. When Claude Code connects to one, it asks the server for its list of tools with a `tools\/list` request. Before, that request was sent only after the connection finished.\n\n- A new path sends the connection's initialized notification and the `tools\/list` request together, while the connection is still being set up.\n\n- Which servers use this path is chosen by the remote setting `tengu_tender_truffle`. It defaults to an empty list and is matched against each server. Nobody has yet checked what Anthropic's servers return for it.\n\n- The path also applies when the connection options set `toolsListAhead` and the session runs in ccr-proxy mode, on the older protocol path, with no earlier request.\n\n- When Claude Code later walks through the tool list, it looks for a page already fetched for that server. A live page is reused. A placeholder page, or one that is not marked, is dropped and fetched normally. If the first page failed, the request is sent again.\n\n- Servers using the newer protocol keep the old path.\n\n- Connection diagnostics gain `toolsListFromSendMs`, `toolsListCount` (the number of tools returned) and `toolsListAhead` fields, next to the existing `toolsListMs`, `toolsListOk` and `toolsListStartAfterConnectMs`.\n\n**Why**\n\nAsking for the tool list earlier and not asking twice can shorten the wait before an MCP server's tools are ready. Because the server list defaults to empty, nothing changes for a server unless it is chosen through `tengu_tender_truffle`.\n\n- Area: MCP\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}