{"version":"2.1.281","anchor":"mcp-tool-hooks-wait-for-an-mcp-server-that-is-still-connecti","canonical_anchor":"mcp-tool-hooks-wait-for-an-mcp-server-that-is-still-connecti","heading":"mcp_tool hooks wait for an MCP server that is still connecting","tier":"notice","area":"Hooks","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/mcp-tool-hooks-wait-for-an-mcp-server-that-is-still-connecti","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### mcp_tool hooks wait for an MCP server that is still connecting\n\nmcp_tool hooks now wait for an MCP server that is still connecting instead of being skipped straight away\n\n**What**\n\nAn `mcp_tool` hook is a hook (a user-configured action that runs automatically at certain moments) that calls a tool on an MCP server, meaning an external program that adds tools to Claude Code. If that server was still connecting, the hook used to be skipped at once as \"not connected\". Now the hook waits for the server to connect:\n\n- It waits up to the hook's own timeout or the MCP connect timeout.\n\n- Once the server is retrying a reconnect, the wait is capped at 5 seconds.\n\n- One overall deadline covers both the wait and the tool call itself.\n\nWhile waiting, it reports that it is waiting up to a number of milliseconds for the named server to finish connecting. Some events do not wait, including `Notification`, `SessionStart`, `SessionEnd` and `Setup`.\n\n**Why**\n\nHooks that fire early, before a slow server is ready, no longer silently do nothing. Hooks on events like `SessionStart` still run without waiting, so starting or ending a session is not held up by a slow server.\n\n- Area: Hooks\n- Names: `mcp_tool`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5"}