6 Core MCP Primitives: Sampling, Roots, Elicitation, Tools, Resources, Prompts
The 3 client-side primitives (Sampling, Roots, Elicitation) and 3 server-side primitives (Tools, Resources, Prompts) that make MCP more than 'just tool calling' — including the model/app/user control framing and a unifying travel-booking example.
6 Core MCP Primitives
A single running example — an AI travel-booking assistant — showing all 6 MCP primitives at once. The 3 server-side primitives (Tools, Resources, Prompts) are exposed by the server to the client. The 3 client-side primitives (Sampling, Roots, Elicitation) are requests the server makes back to the client mid-task. Tools = model decides when to call them, Resources = the app decides, Prompts = the user decides.
6 Core MCP Primitives
▶📚 Prerequisites(1)
🎓 Learning objectives
- •Name all 6 MCP primitives and whether each is client-side or server-side
- •Explain the 'who controls invocation' framing: Tools (model-controlled), Resources (app-controlled), Prompts (user-controlled)
- •Describe what Elicitation adds that Tools and Resources alone cannot provide
- •Trace a concrete example (travel booking) through all 6 primitives
6 Core MCP Primitives: Sampling, Roots, Elicitation, Tools, Resources, Prompts is a Pro topic
Sign in, then upgrade to Pro or Power to unlock this topic and the full AI Engineering curriculum.
📂 Subtopics
Tools Primitive: Model-Controlled Actions with Side Effects
Resources Primitive: Read-Only Data the Host Controls
Prompts Primitive: Reusable, User/Developer-Controlled Templates
Sampling Primitive: The Server Asks the Client's LLM to Generate
Roots Primitive: Scoping What Files the Server Can Access
Elicitation Primitive: The Server Asks the User for More Info Mid-Task