- In short
- Direct API or SDK integration gives the most control over request shape and error handling but requires custom code per tool. An MCP server centralises tool exposure and reuse across multiple agents or applications, at the cost of an additional layer to operate and secure. Agent-to-agent protocols suit scenarios where two independently operated agent systems must exchange tasks or results directly. The right pattern depends on reuse, control needs, and whether independent systems must interoperate.
Choosing the pattern within the compliant set
Once compliance has filtered the entry points to those that are permissible, you choose the integration pattern on technical grounds, and the exam's applied skill here is weighing three patterns: direct API/SDK, an MCP server, and agent-to-agent protocols. Each fits a different situation, defined mainly by how much reuse there is, how much control you need over the request, and whether two independent agent systems must interoperate. Matching the pattern to those properties is the decision.
This is the technical half of the entry-point choice, and it presumes the compliance filter has already run. You are picking among options that all survive review; the question now is which fits the workload's shape.
- Direct API/SDK vs MCP server trade-offs
- The technical choice among integration patterns: direct API/SDK integration (most control, custom code per tool), an MCP server (centralised tool reuse across agents, extra layer to operate and secure), and agent-to-agent protocols (for independently operated agent systems exchanging tasks or results). The fit depends on reuse, control needs, and interoperation.
Direct API/SDK: maximum control, per-tool cost
Direct API or SDK integration puts you closest to the model call, giving the most control over the request shape and the error handling. When an integration needs fine-grained control, custom retry logic, precise request construction, bespoke error handling, direct integration is the pattern that provides it. The cost is that this control is per-tool: each tool you connect this way needs its own custom integration code, and that code multiplies with the number of tools.
That cost profile is why direct integration fits a one-off or a control-critical connection well, and fits a many-tools-many-agents situation poorly. For a single integration where you need tight control, the per-tool cost is paid once and buys real value. For a tool reused across many agents, paying that per-tool cost repeatedly is exactly the duplication an MCP server removes.
Within this pattern the raw API and the SDK sit at different points on the control-versus-effort line. The raw API gives you full control but makes you build and maintain retry logic, streaming, tool orchestration, and error handling yourself. The official Python and TypeScript SDKs are a convenience layer over that: they handle the HTTP plumbing and give typed interfaces while leaving orchestration to your code, trading a little granularity for less boilerplate. Where the work is multi-turn tool use inside your own product, the Agent SDK runs a managed loop that handles iteration, tool execution, and termination, so you do not rebuild that infrastructure, at the cost of fine-grained control over each step.
MCP server: centralised reuse, extra layer
An MCP server centralises tool exposure so the same tools are reused across multiple agents or applications through one consistent layer, the standardisation benefit realised as a shared server. When several agents need the same tools, an MCP server means exposing each tool once and letting every agent use it, rather than re-integrating per agent. That is where MCP shines: reuse across many consumers.
The cost is the server itself, an additional layer to operate and secure. That layer is worth it when reuse justifies it, and not worth it for a single one-off integration, where running and securing a whole server to expose one tool to one agent is overhead the situation does not repay. So MCP and direct integration trade places by scale: MCP wins on reuse, direct integration wins on one-offs and control.
Agent-to-agent: independent systems interoperating
The third pattern answers a different question. Agent-to-agent protocols are for when two independently operated agent systems must exchange tasks or results directly, not one agent calling tools, but two separate agent systems handing work to each other. This fits cross-organisation or cross-team scenarios where each side runs its own agent and they need to interoperate. It is the right pattern only when that specific shape is present; for a single system calling its own tools, agent-to-agent is not the fit, direct integration or MCP is.
Recognising this shape is what keeps you from misapplying agent-to-agent to a plain tool-calling problem, or missing it when two genuinely independent systems need to cooperate.
What the exam trips candidates on
Two traps. The first is choosing direct API integration for a tool that will be reused across many agents, duplicating integration code that an MCP server would centralise. The second is choosing MCP for a single, one-off integration where the operational overhead of running a server is not justified. The credited answer matches the pattern to reuse and control: MCP for broad reuse, direct integration for one-offs and control-critical connections, and agent-to-agent for independent systems that must interoperate.
Worked example
A company faces two integration decisions. (1) A single internal tool that one agent will call, needing very specific custom error handling. (2) A set of five tools that six different agent applications will all use. An engineer proposes an MCP server for the first and a direct API integration per tool for the second. Evaluate both choices.
The engineer has the two patterns exactly reversed, hitting both traps. Take decision (1): a single tool, one agent, with a need for very specific custom error handling. This is a one-off, control-critical integration, which is precisely where direct API/SDK integration fits, it gives the fine-grained control over request shape and error handling the tool needs, and the per-tool custom-code cost is paid just once. Putting an MCP server in front of a single tool for a single agent is the second trap: it adds a whole layer to operate and secure to serve one tool to one consumer, overhead the situation does not repay, and it interposes a standardised layer that can get in the way of the bespoke error handling the tool requires. So decision (1) should be direct integration, not MCP.
Now decision (2): five tools reused across six agent applications. That is a many-tools-many-agents reuse pattern, the classic case for an MCP server, exposing each of the five tools once through a shared server so all six applications use them consistently. The engineer's plan of a direct API integration per tool is the first trap: it duplicates integration code across the applications (up to thirty per-tool-per-app integrations that will diverge over time) instead of centralising it. So decision (2) should be an MCP server, not direct integration. The correct assignment swaps the engineer's choices: direct API/SDK for the single control-critical tool, and an MCP server for the five widely-reused tools, each matched to whether reuse or control dominates.
Common misreadings to avoid
Misconception
Direct API integration per tool is fine even when the same tool is reused across many agents.
What's actually true
Misconception
An MCP server is the modern choice, so use it even for a single one-off integration.
What's actually true
How this shows up on the exam
Expect two or more integration situations differing in reuse and control, with the patterns assigned backwards. The reliable reading is direct API/SDK for one-offs and control, MCP for broad reuse across agents, and agent-to-agent for independent systems interoperating. This knowledge point builds on MCP as a standardised protocol and integration entry point options, presumes compliance has filtered the set, relates to scoped subagent tool access, and unlocks the regulatory-constraint selection capstone.
A single internal tool with specific custom error-handling needs will be called by one agent, and separately five tools will be used by six agent applications. Which pattern assignment is correct?
People also ask
When should you use direct API vs an MCP server?
What does an MCP server centralise?
When are agent-to-agent protocols the right fit?
Watch and learn
Official Anthropic Academy lessons first, then hand-picked walkthroughs. Videos load only when you press play.
No videos curated for this concept yet
We are still curating the best official and community videos for this topic.
Official prep for this domain
Anthropic's own free prep module for this part of the syllabus, on the official prep course. Free with an Anthropic Academy sign-in.
References & primary sources
Master this concept with Archie
Practice it inside an adaptive study session. Archie, your Socratic AI tutor, tracks your mastery with Bayesian Knowledge Tracing and schedules the perfect next review.