Skip to content

Understanding MCP Clients

MCP clients are instantiated by host applications to communicate with MCP servers. Each client handles one direct communication with one server.

Core Client Features

In addition to using context from servers, clients provide features to servers to enable richer interactions.

FeatureExplanationExample
ElicitationEnables servers to request information from users during interactions.Asking for a missing booking detail.
RootsAllows clients to specify filesystem boundaries/directories of interest."Travel Planning Workspace" folder.
SamplingAllows servers to request LLM completions through the client (Agentic).A server asking the LLM to pick the best flight.

Elicitation

Elicitation allows servers to pause operations and ask the user for input (e.g., via a UI form).

  • Protocol: elicitation/requestInput
  • Flow: Server requests -> Client shows UI -> User inputs -> Client returns execution.

Roots

Roots communicate filesystem access boundaries.

  • Protocol: roots/list
  • Roots are advisory boundaries (folders) telling the server where to focus.

Sampling

Sampling enables servers to perform AI tasks using the Host's LLM connection.

  • Protocol: sampling/createMessage
  • Control: Puts the client/user in control of permissions, costs, and model selection.
  • Human-in-the-loop: Users can review sampling requests.