The Three Superpowers of MCP - Tools, Resources, and Prompts

See how MCP tools, resources, and prompts differ, what each is for, and how to use all three when building an MCP server.

Table of Contents

MCP servers expose three primitives: tools, resources, and prompts. Tools are actions the AI model decides to invoke, such as send_email or fetch_sales_data, and they require user permission. Resources are read-only data the application supplies, like documents or database results. Prompts are reusable instruction templates the user activates to shape AI behavior.

What you will be able to do

  • Identify whether a task needs a tool, a resource, or a prompt using the model-controlled, application-controlled, and user-controlled distinction.
  • Decide when a workflow step needs explicit user permission (tools) versus when it can run automatically (resources).
  • Read a tool's JSON Schema definition to see what parameters it accepts, which are required, and what types they expect.
  • Design a multi-step workflow that chains a resource fetch, a prompt template, and a tool call into one flow.
  • Explain to a teammate why an MCP prompt behaves differently from a hardcoded system prompt.

Before you start

  • Understanding of the MCP Host, Client, Server architecture covered in the previous lesson.
  • Basic familiarity with JSON Schema concepts such as parameters, required fields, and types.
  • An MCP-compatible AI application to test tools, resources, and prompts against once you build a server.

Reference

Primitive Who controls it Can modify data Permission required Example Use it when
Tool The AI model decides when to invoke it Yes Yes, the host asks the user before running it send_email(), fetch_sales_data(), create_meeting() The task has a real-world side effect or needs real-time data
Resource The application or user selects it No, strictly read-only Generally not, safe to access automatically Policy documents, database query results, file contents The AI needs context or background information to answer accurately
Prompt The user activates it by choosing a mode No, guides behavior only No "Code Review Mode", "Summarization Template" You want consistent AI behavior repeated across sessions

Common errors and fixes

What goes wrong The fix
You try to have the AI modify data through a Resource Resources are read-only by design and cannot make changes. Use a Tool for any action that writes, sends, or deletes something
A Tool runs without any confirmation step Since tools can send emails, delete files, or post to social media, the host should always ask "Allow it?" before running one, keeping the user in control
MCP prompts get treated the same as hardcoded system prompts System prompts are baked into the application, so changing them means updating the app. MCP prompts live on the server, so updating one instantly benefits every connected AI application
A tool is defined without a clear JSON Schema Without a schema describing the inputs, required fields, and types, the AI model has no reliable way to know how to call the tool correctly

Read the full walkthrough

The complete lesson, with screenshots and any downloads, is published on Substack as part of MCP Masterclass: Connect AI to Everything.

Read Lesson 4 on Substack →

More in this section

Continue the course

Browse all lessons in the MCP Masterclass: Connect AI to Everything course, or subscribe to the GenAI Unplugged newsletter to get new lessons in your inbox.

Dheeraj Sharma

Dheeraj Sharma

AI Systems Builder
Creator of the n8n Zero to Hero course (42 lessons, 31+ hours). I help solopreneurs build AI systems that grow revenue without growing workload.

Get the n8n Mastery Bundle

All workflows, cheat sheets, and premium resources from the entire course in one package.

Read the full lesson on Substack