What MCP solves
“What problem does MCP solve compared with implementing every integration directly?”
What this tests
- Understanding the M×N integration problem and the client-server split
- Knowledge of MCP primitives: tools, resources, prompts, discovery
- Realistic view of costs: process boundary, auth, trust in third-party servers
- Whether they can say when direct integration is still better
Answers by level
Read the beginner answer first and notice what is missing.
Without a protocol, every agent host has to implement every integration: M hosts × N services, each with its own tool definitions, auth handling, and result formatting. MCP splits this into a client (the host application) and servers that expose capabilities in a standard shape: tools (callable functions with JSON schemas), resources (readable data), and prompts (templates), with runtime discovery so the client learns what a server offers instead of hardcoding it. See MCP Overview and MCP Primitives: Tools, Resources, Prompts.
The practical win is reuse and decoupling: a GitHub server written once works in any MCP-capable host; the integration lives in its own process with its own credentials, and can be updated independently. It also standardises the lifecycle: initialise, capability negotiation, tool listing, invocation, and errors. See MCP Lifecycle: Init, Discovery, Invocation.
It does not make the model better at using tools. The model still sees tool names, descriptions, and schemas, and all the tool-design rules apply. It adds a process boundary and transport, which is latency and one more thing to operate.
Green flags · Red flags
- M×N framing, client-server split, discovery
- Names tools, resources, prompts
- States that MCP does not improve tool selection by itself
- Mentions trust and auth for third-party servers
- Says when direct integration is the better choice
- Describes MCP as making agents smarter
- No awareness of the security surface of external servers
- Cannot compare with plain function calling
- Suggests connecting every available server