Mark a tool as deferred
Addhastekit.WithDeferred(true) to a function tool’s constructor. For MCP, pass mcpclient.WithDeferredTools("search_issues", "list_projects"); use the original server names, even when the connector has a prefix.
Enable prompts.ResolveDeferredTools, or the standard resolver chain, on the system prompt. The agent adds its tool-search mechanism when deferred tools are present; the resolver explains that mechanism to the model.