In MCP, how many clients does a host create when it connects to three servers?
Why B is the answer
Three, one for each server
The host creates one client per server, and each client keeps its own connection.
In detail
- In MCP, the host is the application, and it creates one client for each server.
- Each client keeps its own connection to its server.
- Three servers therefore mean three clients.
- Each client handles its own session with its server.
Use case
An illustrative scenario, not a real incident.
A desktop app connects to GitHub, a database and a file server over MCP. It creates three clients, so a failure on one connection leaves the other two working.
See it in different ways
flowchart LR H["Host: the AI application"] --> C1["Client"] H --> C2["Client"] C1 --> S1["Server: tickets"] C2 --> S2["Server: docs"]
flowchart LR H["Host"] --> C1["Client 1"] --> S1["Server 1"] H --> C2["Client 2"] --> S2["Server 2"] H --> C3["Client 3"] --> S3["Server 3"]
sequenceDiagram participant P0 as Host participant P1 as Client 1 participant P2 as Server 1 P0->>P1: Create a client P1->>P2: Open a connection P2-->>P1: Capabilities
Key point: One host, and one client for each server.
Why the other options are wrong
- A. One shared client that multiplexes all of the servers
- Clients are not shared across servers. Each one keeps a single connection.
- C. None, because hosts connect to servers directly
- Hosts connect through clients, not directly to servers.
- D. Two: one for local servers and one for remote ones
- The count follows the number of servers, not where they run.

