AITraining2U

Programs

Resources

Case Studies

Quick Links

Enquire Now
Domain 4 · 18%% of exam

MCP primitives and transports

Three server primitives, and knowing which one a scenario actually calls for.

5 min read · Lesson 2 of 10 in this domain

Servers expose three kinds of thing, and choosing correctly between them is a recurring exam question. Tools are actions the model invokes — they do something. Resources are context the application reads — they are data, not verbs. Prompts are reusable templates for structuring an interaction. The tell is usually the word "available": if a scenario describes exposing what data exists so the agent can orient itself, that is a resource, and reaching for a tool means reinventing something the protocol already gives you.

Key points
  • Servers expose three primitives: tools (executable functions), resources (data sources providing context), and prompts (reusable interaction templates).
  • Each has discovery via */list, retrieval via */get, and for tools execution via tools/call.
  • Discovery is a live protocol call, not a static manifest — which is why servers can notify clients when the tool list changes.
  • The key judgement call: a catalogue of available data is context, so expose it as a resource. Adding a discover_data tool to every server reinvents what the protocol already provides.
  • Elicitation is a client-side primitive — servers use it to request additional input or confirmation from the user.
  • Two transports: stdio (local process, no network overhead, typically one client) and Streamable HTTP (HTTP POST with optional SSE, typically many clients, standard HTTP auth with OAuth recommended).
Reference
Primitive Side What it is for
ToolsServerActions the model can invoke
ResourcesServerContext data (file contents, schemas, catalogues)
PromptsServerReusable interaction templates
ElicitationClientServer asks the user for input or confirmation
Worked example

Tool or resource?. An agent burns three turns discovering what a documents server holds before it can query anything. The instinct is to add a list_available_datasets tool. But a catalogue of what exists is context, not an action — expose it as a resource and the client can surface it up front, so the agent orients without spending a tool call. Keep search_documents as the tool, because searching is something you do.

Exam trap

Reaching for a tool when the scenario describes exposing available data. That is a resource.

Check your understanding

An agent needs to see what datasets exist before querying. Which primitive?

Correct answer: B — A resource
A catalogue of available data is context, not an action.

Which transports does MCP define?

Correct answer: A — stdio and Streamable HTTP
stdio for local processes; Streamable HTTP with optional SSE for remote.

Practise this domain with 18%%-weighted questions in the study app.

Open in study app

Source: MCP — Architecture overview · Independent study aid, not affiliated with or endorsed by Anthropic.