Where does the MCP client live, and why is it one to one with a server?
The MCP client is an in-process library inside the host application, one per server, owning the JSON-RPC connection and surfacing server capabilities back to the host.
Imagine your AI app is a building with many phone lines. Each phone line goes to a different outside service: one to GitHub, one to your files, one to Slack. The phones are wired into the building's walls, not separate gadgets you carry around. Each phone follows the same dialing rules, but each one connects to only one outside service. That phone is an MCP client. There is one per connected service, and they all live inside the same building (the app). The building manager (the host) decides which services to call and what to do with the answers. The phones just handle the connection. This setup means if one outside service goes down, only its phone line breaks. The other lines keep working. And the dialing protocol stays simple because each phone talks to exactly one service.
Detailed answer & concept explanation~5 min readEverything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
5 min: state the one-sentence definition with both properties (in-process, one to one), explain the cardinality with a concrete example (three servers = three clients), walk the five mechanical responsibilities, distinguish client from host on the responsibility axis, and close with the isolation and simplicity rationale.
Real products, models, and research that use this idea.
- Claude Desktop instantiates one client per server entry in its mcpServers config; five configured servers means five client objects running inside the Claude Desktop process.
- Cursor uses the TypeScript SDK to embed MCP clients; the editor process imports `@modelcontextprotocol/sdk` and creates a new client for each server it connects to.
- Claude Code and the OpenAI Agents SDK both build on the official SDKs and aggregate tool catalogs across multiple connected server clients.
- The Python `mcp` package on PyPI is the canonical client implementation; most Python-based agent runtimes import it directly rather than reimplementing the protocol.
- Google Gemini CLI added native MCP client support in 2026, demonstrating the client role is portable across vendor stacks.
What an interviewer would ask next. Try answering before peeking at the approach.
QWhy one client per server instead of one client multiplexing across many?
QWhere does the LLM live relative to the client?
Don't say thisRed flags and common mistakes that signal junior thinking. Click to expand.
Red flags and common mistakes that signal junior thinking. Click to expand.
Calling the client a separate application. It is a library inside the host, instantiated once per connected server. Three servers mean three client objects inside the same host process.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.
Same topic, related formats. Practice these next.