Tool Design & MCP Integration18% of the exam

Distributing tools and configuring tool_choice

Why each agent should hold only its role's tools, how to scope them with tools, disallowedTools and inline mcpServers (and why allowedTools only auto-approves), and every tool_choice value: auto, any, a forced tool and none, including forcing a first step and the models that reject forced choice.

Official exam objective
Distribute tools appropriately across agents and configure tool choice

~8 min read · 14 practice questions ·

What the exam expects

  • Explain why too many tools (18 instead of 4-5) or tools outside an agent's specialization degrade selection, and redesign around role-scoped tool sets.
  • Give a specialist one narrow cross-role tool for a high-frequency need while routing complex cases through the coordinator, and replace generic tools with constrained ones.
  • Restrict a subagent's tools with tools, disallowedTools or inline mcpServers, knowing that allowedTools only auto-approves.
  • Pick the tool_choice value for a requirement: auto, any, a forced {"type": "tool", "name": ...} or none.
  • Force a first step, then return to auto for follow-up turns, and know where forced choice is rejected.

Key terms: scoped tool access (each agent gets only the tools its role needs); cross-role tool (a narrow tool from another role's domain, such as verify_fact); tool_choice (the request field controlling whether and which tool Claude must call); forced tool use (any or a named tool); auto-approval (a permission rule that skips the prompt without adding or removing tools).

Key facts

Default tool_choice
Detail
auto when tools are provided; none when no tools are provided
any vs tool
Detail
any requires some tool; tool requires the named tool
Text before a forced call
Detail
None: the API prefills the assistant message for any and tool
Forced choice unsupported
Detail
any/tool fail on some models and with manual extended thinking; auto and none still work
Schema-valid inputs
Detail
strict: true, not tool_choice
One tool per response
Detail
disable_parallel_tool_use: true inside tool_choice
Subagent with no tools field
Detail
Inherits every tool available to subagents
Remove a whole MCP server
Detail
disallowedTools: mcp__server or mcp__server__*
allowed_tools
Detail
Auto-approves; unlisted tools remain available
Recommended tools per agent
Detail
4-5 rather than 18 (exam-guide guidance)
Sources for this section (6)
  • Why does giving every subagent all 16 tools hurt reliability?
  • When should you use tool_choice: any instead of a named tool?
  • Which field keeps a subagent's inherited tools but withholds one MCP server?
  • Why might a request with tools and no tool_choice return only text?

The questions are free to read. Answers with their sources and self-grading are included with the pack.

Keep reading with the Claude Certified Architect - Foundations pack

  • Core concepts
  • Exam traps
  • Worked scenario

The pack includes:

  • All 30 lessons of the Claude Certified Architect - Foundations guide, with reading progress
  • Interactive decision walks and step-by-step sequence steppers
  • Inline practice questions and one-click topic practice (14 questions for this lesson)
  • An official source cited for every claim
  • An AI tutor that answers from the guide
  • Unlimited timed practice exams

Practice for the Claude Certified Architect - Foundations exam

Certifyforce is an independent study resource and is not affiliated with, endorsed by or sponsored by Anthropic. Claude is a trademark of Anthropic.