Episode 3: Tool - Claude's Hands and Feet

⏱ Est. reading time: 5 min Updated on 5/7/2026

Tool is the smallest unit of operation Claude can perform. Built-in Tools and MCP Tools together constitute Claude's entire actual operational capability.

Built-in Tool List

Tool Function Security Level
Read Read file content Read-only
Write Create/overwrite file Write
Edit Precise string replacement Write
Bash Execute Shell commands Highest
Glob File pattern search Read-only
Grep Content search Read-only
Agent Start sub-agent Medium
AskUserQuestion Ask user a question Read-only
WebSearch Web search Read-only
LSP Code intelligence (jump/refs) Read-only

Tool Call Lifecycle

sequenceDiagram
    participant Claude as Claude AI
    participant Engine as Tool Engine
    participant Guard as Permission Check
    participant Hook as Hook System
    participant FS as File System/Shell

    Claude->>Engine: call Edit(file, old, new)
    Engine->>Guard: Check permissions
    alt Needs user confirmation
        Guard->>Guard: Pop-up confirmation
        Note over Guard: User denies → Return error
    end
    Guard->>Hook: PreToolUse Event
    Hook->>Hook: Run PreToolUse hooks
    Hook-->>Engine: Allow/Block
    Engine->>FS: Execute file modification
    FS-->>Engine: Return result
    Engine->>Hook: PostToolUse Event
    Hook->>Hook: Run PostToolUse hooks
    Engine-->>Claude: Return operation result

Key Points:

  • Tool is the only way Claude can "do" things. Without Tools, Claude can only output text.
  • Every call passes through: Permission Check → PreToolUse Hook → Execution → PostToolUse Hook.
  • Skill is not a Tool. A Skill is an instruction template that eventually executes via Tools.

MCP Tools — Extending Capabilities

MCP Servers expose additional Tools via protocol. To Claude, MCP Tools are used in the same way as built-in Tools.

flowchart LR
    subgraph Tools Available to Claude
        B[Read] 
        C[Write]
        D[Edit]
        E[Bash]
        F[...Built-in]
        G[mcp__search
claude-mem search] H[mcp__get_observations
claude-mem observations] I[mcp__analyze_image
Image analysis] J[mcp__webReader
Web page reading] end subgraph Sources CORE[Claude Code Built-in] MCP1[claude-mem MCP] MCP2[4_5v MCP] MCP3[web_reader MCP] end CORE --> B & C & D & E & F MCP1 --> G & H MCP2 --> I MCP3 --> J