Skip to content

Latest commit

 

History

History
69 lines (55 loc) · 2.62 KB

File metadata and controls

69 lines (55 loc) · 2.62 KB

Why this is non-negotiable:

  • Deferred tools are not loaded until discovered via this tool
  • Calling a deferred tool without first loading it will fail

Query modes:

  1. Keyword search - Use keywords when you're unsure which tool to use or need to discover multiple tools at once:

    • "list directory" - find tools for listing directories
    • "notebook jupyter" - find notebook editing tools
    • "slack message" - find slack messaging tools
    • Returns up to 5 matching tools ranked by relevance
    • All returned tools are immediately available to call — no further selection step needed
  2. Direct selection - Use `select:<tool_name>` when you know the exact tool name and only need that one tool:

    • "select:mcp__slack__read_channel"
    • "select:NotebookEdit"
    • Returns just that tool if it exists

IMPORTANT: Both modes load tools equally. Do NOT follow up a keyword search with `select:` calls for tools already returned — they are already loaded.

  1. Required keyword - Prefix with `+` to require a match:
    • "+linear create issue" - only tools from "linear", ranked by "create"/"issue"
    • "+slack send" - only "slack" tools, ranked by "send"
    • Useful when you know the service name but not the exact tool

CORRECT Usage Patterns:

User: I need to work with slack somehow Assistant: Let me search for slack tools. [Calls ToolSearch with query: "slack"] Assistant: Found several options including mcp__slack__read_channel. [Calls mcp__slack__read_channel directly — it was loaded by the keyword search] User: Edit the Jupyter notebook Assistant: Let me load the notebook editing tool. [Calls ToolSearch with query: "select:NotebookEdit"] [Calls NotebookEdit] User: List files in the src directory Assistant: I can see mcp__filesystem__list_directory in the available tools. Let me select it. [Calls ToolSearch with query: "select:mcp__filesystem__list_directory"] [Calls the tool]

INCORRECT Usage Patterns - NEVER DO THESE:

User: Read my slack messages Assistant: [Directly calls mcp__slack__read_channel without loading it first] WRONG - You must load the tool FIRST using this tool Assistant: [Calls ToolSearch with query: "slack", gets back mcp__slack__read_channel] Assistant: [Calls ToolSearch with query: "select:mcp__slack__read_channel"] WRONG - The keyword search already loaded the tool. The select call is redundant.