{"version":"2.1.267","anchor":"mcp-tool-declarations-gain-hints-and-richer-annotation-limit","canonical_anchor":"mcp-tool-declarations-gain-hints-and-richer-annotation-limit","heading":"MCP tool declarations gain hints and richer annotation limits (search_hint, always_load, max_result_size_chars, requires_user_interaction)","tier":"use","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267\/e\/mcp-tool-declarations-gain-hints-and-richer-annotation-limit","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267","markdown":"### MCP tool declarations gain hints and richer annotation limits (search_hint, always_load, max_result_size_chars, requires_user_interaction)\n\nMCP tools can now declare hints like search_hint, always_load, and a maximum result size, alongside existing annotations\n\n**Unclear.** What Claude Code does with each hint once declared isn't shown, only that the schema now accepts them.\n\n**What**\n\nTools provided through MCP (Model Context Protocol, the standard Claude Code uses to talk to external tool servers) can now include a `hints` object when they declare themselves, with the fields:\n\n- `search_hint`\n\n- `always_load`\n\n- `max_result_size_chars`\n\n- `requires_user_interaction`\n\nThese sit alongside the existing annotations like `title`, `readOnlyHint`, `destructiveHint` and `openWorldHint`. Tool names must still contain a double underscore (`__`) and pass a name-validity check.\n\n**Why**\n\nThese hints give an MCP server more ways to tell Claude Code how a tool should be surfaced and used, such as whether it should always be loaded or how large a result it's allowed to return.\n\n- Area: MCP\n- Names: `search_hint`, `always_load`, `max_result_size_chars`, `requires_user_interaction`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5"}