Skip to content
47% off: the complete course for $79 (reg. $149)Order now →
Agent Builder
Module 4Full course14 min read

Beyond Tools: MCP Resources, Prompts, and Elicitation

Use the rest of the Model Context Protocol: resources for context, prompts for reusable workflows, and asking the user for input mid-task.

Most MCP servers are just a bag of tools, and most people never look further. That leaves a lot on the table. Some context shouldn't wait for the model to decide to fetch it: you already know which document matters, so why make the agent search for it? Some workflows deserve a one-click starting point instead of a carefully retyped prompt. And some actions shouldn't happen until a human, not the model, says yes.

MCP has a primitive for each of those: resources for context, prompts for reusable workflows, and elicitation for asking the user for input in the middle of a task. In this lesson you'll add all three, properly, to the notes server from Building Your First MCP Server, using the current spec revision (2026-07-28) and v2 of the TypeScript SDK.

Choosing the right primitive

You met the three server primitives in What Is MCP and Why It Matters, defined by who decides when each is used. Here's the practical version, as a decision you'll make for every capability you add:

If you want...UseDecided byNotes server example
The model to take an action or look something up when it judges it usefulToolThe modelsearch_notes, add_note
The user or app to put known content into the conversationResourceThe application, usually via the userOne resource per note
The user to start a well-tested workflow with a few argumentsPromptThe user"Discuss this note"
A human to supply a missing detail or approve a step mid-callElicitationThe user, when the server asksConfirm before deleting

The common mistake is forcing everything into tools. If a "tool" has no side effects and the user always knows which item they want, it's probably a resource. If you keep pasting the same instructions before using a server, that's a prompt waiting to be written.

One caveat: every MCP host supports tools, but resources and prompts are surfaced differently in each app, and elicitation support is still uneven. Test in the MCP Inspector, then check your host's documentation.