← Back to modules

Model Context Protocol

Host/client/server architecture, tools/resources/prompts primitives, transports, JSON-RPC protocol, capability discovery, security model, and SDK patterns.

Core50 questions

Sample questions

1

What fundamental integration problem does the Model Context Protocol solve when connecting AI applications to external systems?

  • It compresses the bandwidth required for data transfer between AI models and external APIs
  • It eliminates the need for authentication when connecting AI systems to databases and services
  • It provides a universal query language that replaces SQL for all external data access patterns
  • It reduces the M times N custom-adapter problem to M plus N standardized implementations

Why

Without a shared standard, connecting M AI clients to N external tools requires building approximately M times N custom adapters, because every client-tool pair needs its own integration code. MCP solves this by defining a single open protocol that each side implements once: every client speaks MCP, every server speaks MCP, so the total work drops to M plus N implementations. Bandwidth compression is not part of MCP's purpose; it standardizes the message format and lifecycle, not the wire efficiency. MCP does not remove authentication; in fact the specification recommends OAuth 2.1 and bearer tokens for remote servers. A universal query language is also unrelated; MCP defines how tools, resources, and prompts are discovered and invoked, but the actual query logic stays inside each server. The USB-C analogy from the specification captures the idea: just as USB-C gives one port for many devices, MCP gives one protocol for many AI integrations. This standardization benefits developers (less integration code), AI applications (broader ecosystem), and end users (more capable assistants).

2

A team is building a customer-support chatbot that needs access to a ticket database, a knowledge base, and a calendar system. Without MCP, they would need nine separate integrations for three AI clients. How does MCP change this?

  • Each AI client implements the MCP client protocol once and each system implements an MCP server once, totaling six implementations instead of nine
  • MCP bundles all three external systems into a single monolithic server that exposes one unified API endpoint
  • MCP requires each AI client to embed the database, knowledge base, and calendar logic directly into its own codebase, which is the standard approach for most production deployments
  • MCP caches all external data locally so the chatbot never needs to contact the original systems after initial setup

Why

With three AI clients and three external systems, the naive approach builds 3 times 3 equals 9 custom integrations. MCP reduces this to 3 plus 3 equals 6 implementations: each AI client implements MCP once (3 clients), and each external system exposes an MCP server once (3 servers). Any client can then connect to any server through the shared protocol. Bundling all systems into a single monolithic server would defeat the composable, modular design that MCP encourages; each server is an independent program with its own capabilities. Embedding external logic into the client contradicts the entire client-server separation that MCP defines. Caching all data locally is not what MCP does; it provides a real-time protocol for context exchange, where servers expose live resources and tools. The M plus N benefit is the primary economic argument for MCP: it turns a quadratic integration problem into a linear one, just as USB-C standardized peripheral connections. This composability means a new AI client or a new external system only needs one more implementation.

3

Which statement accurately describes the scope of the Model Context Protocol?

  • MCP defines the protocol for context exchange between AI applications and external systems, without dictating how the AI uses the provided context
  • MCP manages the full lifecycle of AI model training, fine-tuning, and inference alongside the context-exchange protocol
  • MCP specifies both the context-exchange protocol and the prompting strategies that AI models must use to process the received context according to the protocol's design principles and specification
  • MCP defines a context-exchange protocol that is restricted to local file-system access and cannot operate over network connections

Why

The MCP specification explicitly states that MCP focuses solely on the protocol for context exchange and does not dictate how AI applications use LLMs or manage the provided context. This separation of concerns is a deliberate design decision: MCP defines how to discover, request, and deliver tools, resources, and prompts, but leaves the AI application free to decide what to do with them. The claim that MCP specifies prompting strategies is false; prompt templates are exposed by servers for user-driven invocation, but the model's internal prompting is outside MCP's scope. MCP has nothing to do with model training or fine-tuning, which are entirely separate processes. The restriction to local file-system access is also wrong; MCP supports both local servers via stdio and remote servers via Streamable HTTP, enabling network connections to services like Sentry or Slack. The protocol is transport-agnostic by design, meaning the same message semantics work across different communication channels.

4

In MCP's architecture, what is the relationship between an MCP host, an MCP client, and an MCP server?

  • The host, client, and server are three names for the same component, differing only in which direction data flows at a given moment, consistent with the protocol's overall architecture and goals
  • The host connects directly to all MCP servers through a shared connection pool, while clients exist only for load balancing
  • The client is the user-facing application, the host runs the LLM, and the server performs authentication for both of them
  • The host is an AI application that creates one MCP client per server connection, and each client maintains a dedicated link to its server

Why

MCP follows a precise client-server architecture with three distinct participants. The host is the AI application that users interact with, such as Claude Desktop or VS Code. For each MCP server it connects to, the host creates a separate MCP client instance. Each client maintains a dedicated connection to exactly one server. For example, when VS Code connects to a Sentry MCP server and a filesystem MCP server, it creates two separate client objects, each with its own connection. A shared connection pool contradicts this one-client-per-server design. The claim that all three are the same component is incorrect; each has a distinct role and responsibility. The reversed definitions of client and host are also wrong; the host is the user-facing application, not the client. This architecture means a host can simultaneously connect to many servers through multiple clients, combining specialized capabilities. Local servers typically serve a single client via stdio, while remote servers can serve many clients via Streamable HTTP.

5

You are configuring Claude Desktop to use a local filesystem MCP server and a remote Sentry MCP server. How many MCP client instances does Claude Desktop create?

  • Zero MCP clients, because Claude Desktop communicates with servers directly through the host interface without separate client objects
  • Two MCP clients: one maintaining a dedicated connection to the filesystem server and another to the Sentry server
  • Three MCP clients: one for each server plus a coordinator client that routes requests between them
  • One shared MCP client that multiplexes requests to both servers over a single connection

Why

The MCP architecture specifies that the host creates one MCP client for each MCP server it connects to. With two servers configured, Claude Desktop creates exactly two client instances: one dedicated to the filesystem server and one dedicated to the Sentry server. Each client maintains its own independent connection. A shared multiplexing client would violate the one-to-one client-server relationship that the architecture mandates. A coordinator client is not part of the MCP architecture; the host itself manages the set of clients. The claim that no clients are created is incorrect because MCP clients are the protocol-level components that enable server connections, distinct from the host. The official documentation uses this exact example: VS Code connecting to Sentry and filesystem servers, instantiating a separate client for each. Local servers like the filesystem server use stdio transport, while remote ones like Sentry use Streamable HTTP, but each still gets its own client regardless of transport.

Free account

Take the full module

These are the first few of 50 questions. A free account opens the rest as a scored drill.

  • Every question in this module
  • Instant feedback and supporting reading
  • Your score and progress, saved

Free · your email is used for progress only.