{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/give-the-agent-only-the-tools-this-job-needs",
  "id": "MHC-D-RESEARCH-0308",
  "version": "0.1.0",
  "title": "Give the agent only the tools this job needs",
  "summary": "Every extra tool is another verb the system can accidentally conjugate.",
  "kind": "checklist",
  "body": "Define the job first, then expose only the tools required to finish that job. Remove abandoned experiments and convenient-but-unused integrations from the agent's reach. Tool selection is a capability boundary, not a menu-design problem.",
  "limits": [
    "A minimal tool set does not replace input validation, authorization or review of the tool itself."
  ],
  "topics": [
    "union-ai-agent-control"
  ],
  "intents": [],
  "source_ids": [
    "RS-EEEBBCF69A614717"
  ],
  "evidence": [
    {
      "claim": "OWASP recommends limiting the extensions available to an LLM agent to the minimum needed for its intended operation.",
      "source_id": "RS-EEEBBCF69A614717",
      "role": "supports",
      "note": "A smaller tool set reduces attack and error surface but does not establish that the remaining tools are safe.",
      "locator": "Minimize extensions"
    }
  ],
  "use_when": [
    "An AI workflow can call multiple tools, plugins or functions on the user's behalf."
  ],
  "avoid_when": [
    "A minimal tool set does not replace input validation, authorization or review of the tool itself."
  ],
  "example": "A research agent that only needs to read repository files should not also inherit issue deletion, release publishing and billing tools.",
  "check": "You can justify every available tool with a concrete task step.",
  "checklist": [
    "The task is stated without naming tools first.",
    "Every exposed tool maps to a required step in that task.",
    "Unused legacy or trial tools are unavailable to the agent.",
    "A missing tool produces a visible stop rather than an improvised substitute."
  ],
  "sources": [
    {
      "id": "RS-EEEBBCF69A614717",
      "title": "LLM06:2025 Excessive Agency",
      "url": "https://genai.owasp.org/llmrisk/llm062025-excessive-agency/"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0308",
      "to": "MHC-D-RESEARCH-0309",
      "type": "use_before",
      "url": "/knowledge/start-an-agent-read-only-when-writing-is-not-required"
    }
  ],
  "collections": [
    {
      "id": "RC-EEF5F4530C11FD17",
      "title": "Let AI do useful work without giving it accidental authority",
      "url": "/collections/let-ai-do-useful-work-without-giving-it-accidental-authority"
    }
  ]
}
