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.