Choosing Between MCP, Direct API/CLI, and Agent-to-Agent
AdvancedSelect the appropriate connection protocol: MCP, API/CLI, or agent-to-agent · Difficulty 3/5
Explanation
Choosing how Claude connects to a capability is a core integration decision, and the exam expects you to pick the mechanism that matches the capability's reuse and maintenance profile.
Decision Table
| Mechanism | What it is | Choose when |
|---|---|---|
| MCP (Model Context Protocol) | Open standard exposing tools, resources, and prompts to any MCP client | A capability is reused across apps/clients and maintained independently; you want a standard, swappable integration |
| Direct API / CLI | Call a service's REST API or command-line tool directly from your code | A one-off, app-specific integration where a standard protocol adds no leverage |
| Agent-to-agent | One agent delegates to another agent as a unit | The remote capability is itself an autonomous agent, not a single function |
Applying the Framework
The deciding question is always: *who else will reuse this, and who maintains it?* A capability consumed by exactly one app, with no expectation of reuse, does not need the overhead of a standard protocol. A capability meant to be shared across many Claude applications, evolved on its own schedule, is exactly what MCP is for. And when the thing on the other end of the connection is itself a reasoning agent — not a deterministic function — agent-to-agent delegation is the right shape, because the caller is handing off a goal, not invoking an operation.
Common exam traps
- Reaching for MCP for a single app-specific call, or hand-rolling a direct integration for a capability many apps will share. Match the protocol to the reuse and maintenance profile, not habit or familiarity.
Key Takeaways
- MCP fits capabilities reused across apps/clients and maintained independently
- Direct API/CLI fits one-off, app-specific integrations where a standard protocol adds no leverage
- Agent-to-agent delegation fits when the remote capability is itself an autonomous agent, not a single function
- Match the protocol to the reuse and maintenance profile of the capability, not to habit
Glossary Terms
A multi-agent architecture where a central coordinator manages specialized subagents using hub-and-spoke communication. The coordinator handles task decomposition, routing, and result aggregation. Subagents never communicate directly with each other, keeping the system auditable.
An open standard protocol for connecting Claude to external tools and data sources. Defines a client-server architecture where MCP servers expose capabilities that MCP clients discover and use. Supports project-scoped (.mcp.json) and user-scoped configurations.
A process that implements the MCP protocol and exposes tools, resources, and prompts to MCP clients. Built with official SDKs (Python, TypeScript). Deployed locally via stdio or remotely via StreamableHTTP. Claude Code auto-discovers servers configured in .mcp.json.
Related Concepts