/** * The `instructions` string returned in graft's MCP `initialize` response. * * This is the one piece of graft prose that survives **tool deferral**. When a * host has more tools than its schema budget allows, it sends tool *names* only * and withholds the JSONSchemas until a `ToolSearch`-style lookup fetches them — * measured in a real session: 111 tools deferred, of which graft's six arrived as * six bare strings with no descriptions at all. The MCP spec's `instructions` * field is delivered on a separate track (Claude Code records it as its own * `mcp_instructions_delta` context layer), so it lands whole even then. Other * servers already rely on this — `claude-in-chrome` uses it for exactly the * batch-your-ToolSearch instruction below; graft used to send nothing. * * Two jobs, in this order: * 1. Defuse the deferral tax. One lookup loads all six tools for the whole * session, so the cost is a single round trip, not two calls per use. An * agent that doesn't know this can only assume the worse reading. * 2. Say what each tool is FOR as a decision rule, not a feature summary — * because in a host with no hooks and no skill listing (a plain chat client * with an MCP config), this string plus the tool descriptions are the entire * steering budget graft gets. * * Budget: keep this under ~1,000 characters. Observed sibling servers sit at * 660–984, and nothing proves a longer one survives un-truncated. */ /** The `select:` argument that loads every graft tool in one lookup. */ export declare function toolSearchQuery(prefix?: string): string; export declare function mcpInstructions(): string; //# sourceMappingURL=instructions.d.ts.map