Patterns for configuring agent tools correctly
tools: []βtoolsomission
| Configuration | Meaning | Use Case |
|---|---|---|
tools field omitted |
Inherit ALL tools (including MCP) | Default, MCP-using agents |
tools: [] (empty array) |
NO tools | Pure reasoning agents only |
tools: ["Read", "Grep"] |
Specific tools only | Minimum privilege |
Does agent need MCP tools (Serena, Playwright, etc.)?
ββ YES β OMIT tools field (inherit all)
ββ NO
ββ Needs specific Claude Code tools β tools: ["Read", "Grep", "Bash"]
ββ External access only β tools: ["WebSearch", "WebFetch"]
ββ Pure thinking, no tools β tools: [] # Add comment!
When: Agent uses Serena MCP, Playwright MCP, or other MCP tools Config: Omit tools field entirely Rationale: MCP tools cannot be listed explicitly; they're inherited
---
name: mcp-executor
description: Executes refactoring via Serena MCP
# tools field intentionally omitted - inherits all including MCP
---
When: Agent only analyzes, never modifies
Config: tools: ["Read", "Grep", "Glob"]
Rationale: Minimum privilege for safety
When: Agent fetches from external sources, no file access
Config: tools: ["WebSearch", "WebFetch"] or tools: ["Bash"]
Rationale: Restrict file system access
When: Agent only generates text, no tool use
Config: tools: [] with comment
Rationale: Must be explicit and documented
---
name: pure-thinker
description: Generates creative ideas without tool access
tools: [] # Intentional: pure reasoning agent
---
| Anti-pattern | Problem | Fix |
|---|---|---|
tools: [] without comment |
Unclear intent | Add comment or remove |
tools: [] with MCP description |
Agent is broken | Remove tools line |
| Listing MCP tools explicitly | MCP tools can't be listed | Omit tools field |
| Code | Meaning | Action |
|---|---|---|
| W049 | tools: [] but description implies tool usage |
Remove tools line |
| W050 | tools: [] without clear intent |
Add comment or remove |
MCP agent β omit tools
Read-only β tools: ["Read", "Grep", "Glob"]
External β tools: ["WebSearch", "WebFetch"]
SDK only β tools: ["Bash"]
Thinking β tools: [] # Intentional