What Is an MCP Client? Hosts, Clients and Servers

What is an MCP client: how hosts, clients and servers fit together

Short answer: What is an MCP client? It is the small piece of software inside an AI app that holds one connection to one MCP server and fetches that server’s tools and data for the app to use. You never install it yourself. When you add a server to Claude Code or Cursor, the app creates the client for you. The app is the host, the server is the program that provides the tools, and the client sits between them.

Most guides use “client” to mean the app you type into, which is why the word gets confusing. The official docs split it more carefully. This post sorts out hosts, clients and servers, shows what happens when you ask an AI app to use a tool and explains why it matters when a server won’t connect. If you want the server side first, read our guide to what MCP servers are or browse the MCP servers directory.

MCP client at a glance

What it isA component that keeps a connection to one MCP server and gets context from it for the host
Who creates itThe host application, one client for each server
What it talks toOne MCP server, over a dedicated connection
Where it livesInside the AI app, such as Claude Code, Claude Desktop or Visual Studio Code
What it doesDiscovers the server’s tools, resources and prompts and relays calls and results
What you doNothing: you add a server in the app’s settings and the app handles the client
Message formatJSON-RPC 2.0
Not to be confused withThe host (the app you use) and the server (the program that provides the tools)

What is an MCP client?

The MCP architecture overview defines the client as “a component that maintains a connection to an MCP server and obtains context from an MCP server for the MCP host to use.” The key words are “one” and “component”. A client is not an app you open. It is a part that an app creates when it needs to talk to a server.

MCP itself, in the words of its official introduction, is an open-source standard for connecting AI applications to external systems. The docs compare it to a USB-C port. If the server is the device you plug in, the client is the port’s wiring inside the laptop. You use the port without thinking about it.

Hosts, clients and servers: three roles

MCP names three participants. Each one has a different job.

  • MCP host: the AI application that coordinates and manages one or more clients. Claude Code and Claude Desktop are the docs’ own examples.
  • MCP client: a component that maintains a connection to one server and gets context from it for the host to use.
  • MCP server: a program that provides context to clients. It can run on your computer or somewhere else.

The docs spell out the rule that ties them together: the host creates one MCP client for each MCP server it connects to, and each client keeps a dedicated connection with its server. Add three servers and your app runs three clients.

The docs give a concrete case. Visual Studio Code acts as a host. When it connects to the Sentry MCP server, it creates one client object to keep that connection alive. When it then connects to the local filesystem server, it creates a second client. The two clients never share a connection.

MCP host vs client: what is the difference?

This is the confusion that trips most people. The client concepts page puts it plainly: the host is the application users interact with, while clients are the protocol-level components that enable server connections.

HostClient
What you seeThe app window or terminalNothing
How manyOne per appOne per connected server
JobRuns the conversation, shows the interface, coordinates every clientTalks to a single server
ExamplesClaude Code, Claude Desktop, Cursor, ChatGPTThe connection object inside each of them

When someone says “Cursor is an MCP client,” they usually mean Cursor is a host that contains clients. Both uses are common, and the official docs are the ones to trust when the difference matters. Cursor, ChatGPT, Claude and Visual Studio Code are all named in the docs as applications that support MCP.

What an MCP client does, step by step

Here is what happens when you ask an AI app to use a tool. We’ll use a local file server as the example.

  1. You add the server. In the app’s settings or with a command, you tell the host to connect. For a local server that is usually a command like npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/dir, which is the one our Filesystem MCP listing gives.
  2. The host creates a client. That client opens a dedicated connection to the server.
  3. The client learns what the server offers. It can ask the server to describe its version and capabilities. Then it sends a tools/list request, and the server answers with each tool’s name, description and input schema.
  4. The host gathers every tool. It combines the tools from all its clients into one list that the model can see.
  5. You ask a question. The model decides a tool fits, so the host finds the right client and sends a tools/call request.
  6. The server does the work and replies. The client hands the result to the host, which gives it to the model as context.

The model never talks to the server. It talks to the host, and the host talks through the client. That is also why the host is the place where consent prompts and permissions live.

What a client can ask for besides tools

Servers can expose three kinds of building blocks: tools (functions the AI can run), resources (data that gives context) and prompts (reusable templates). The client uses */list requests to discover each kind.

Clients can also offer things back to the server. The one that matters today is elicitation: a server can ask the user for more information in the middle of a task, such as a confirmation or a missing detail. The client shows the request and passes back your answer. Elicitation has two modes. In form mode the client builds an input form. In URL mode you open a link and the data never passes through the client, which suits sign-in flows. The docs say servers must not use form mode to ask for passwords, API keys, access tokens or payment details.

Sampling, roots and logging also appear in older material, but the current docs mark them as deprecated as of protocol version 2026-07-28. If you are reading an older tutorial, expect to see them.

Local and remote servers: the same client

A client does not care where its server runs. MCP has two transports. With stdio, the host starts a server on your computer and talks to it through standard input and output. With Streamable HTTP, the client sends HTTP requests to a server somewhere else, and the docs recommend OAuth for sign-in.

The docs add that local stdio servers typically serve a single client, while remote servers typically serve many. The host, in both cases, creates a client the same way. Our guide to remote MCP servers covers the second case, and the GitHub MCP Server is one that works both locally and remotely.

Which AI apps act as MCP hosts?

The intro page lists Claude, ChatGPT, Visual Studio Code, Cursor and MCPJam among the apps that support MCP. Each has its own steps for adding a server. We wrote them out:

What an MCP client can’t do

A client moves messages. It does not decide anything. The docs state that MCP focuses solely on the protocol for context exchange and does not dictate how AI applications use language models or manage the context they receive. The model can still pick the wrong tool or misread a result, and that is the host’s problem to solve, not the client’s.

A client is also not a guard. If you give a server access to a folder, the server can reach that folder. Real limits come from the operating system, its permissions and sandboxing. What you approve in the host counts too. For a quick comparison with ordinary APIs, see MCP vs API.

When a server won’t connect: client or server?

Knowing the roles makes problems easier to sort.

  • The server doesn’t show up at all: the host never created the client, so look at the config. A typo in the command or a missing runtime is the usual cause.
  • It shows up but lists no tools: the client connected but the server returned nothing. Check the server’s own docs.
  • It asks you to sign in: that is the transport layer. Remote servers use OAuth, tokens or API keys. You finish the step in the host.
  • A tool fails mid-task: the connection is fine and the server hit an error. The fix is on the server side, such as a bad token or a path outside the allowed folders.

FAQ

What is an MCP client in simple terms?

It is the part of an AI app that connects to one MCP server and fetches its tools. You can think of it as the app’s plug for that server. The app creates it when you add the server, and you never manage it by hand.

Is Claude an MCP client or an MCP host?

Strictly, Claude Code and Claude Desktop are MCP hosts, because they create and manage clients. In everyday speech people call them clients, and that is fine. The docs use “host” for the app and “client” for the connection inside it.

What is the difference between an MCP client and an MCP server?

The server provides tools, data and prompts. The client connects to a server and asks for them on behalf of the host. A host runs one client for each server, so the relationship is many servers to one app, with one client on each link.

Do I need to install an MCP client?

No. If your app supports MCP, it already has what it needs. You only add servers. Developers who build their own AI apps can follow the official guide to building clients, but ordinary users never do.

Can one MCP client connect to several servers?

No. Each client handles one connection to one server. An app that uses several servers runs several clients side by side, and the host combines what they find.

Can I build my own MCP client?

Yes. The MCP site has a guide to building clients and SDKs for several languages. You would build one if you are making an AI app that needs to use MCP servers. For the opposite side, see our walkthrough of building your first MCP server.

Ready to try one? Browse the Klyvoo MCP servers directory to find a server for the job you want done, then add it to the AI app you already use.

What is an MCP client in simple terms?
It is the part of an AI app that connects to one MCP server and fetches its tools. You can think of it as the app’s plug for that server. The app creates it when you add the server, and you never manage it by hand.
Is Claude an MCP client or an MCP host?
Strictly, Claude Code and Claude Desktop are MCP hosts, because they create and manage clients. In everyday speech people call them clients, and that is fine. The docs use “host” for the app and “client” for the connection inside it.
What is the difference between an MCP client and an MCP server?
The server provides tools, data and prompts. The client connects to a server and asks for them on behalf of the host. A host runs one client for each server, so the relationship is many servers to one app, with one client on each link.
Do I need to install an MCP client?
No. If your app supports MCP, it already has what it needs. You only add servers. Developers who build their own AI apps can follow the official guide to building clients, but ordinary users never do.
Can one MCP client connect to several servers?
No. Each client handles one connection to one server. An app that uses several servers runs several clients side by side, and the host combines what they find.
Can I build my own MCP client?
Yes. The MCP site has a guide to building clients and SDKs for several languages. You would build one if you are making an AI app that needs to use MCP servers. For the opposite side, see our walkthrough of building your first MCP server.