✻Founding-member pricing: every lesson for $19/mo. The first 3 lessons are free. Start lesson 1 →
Unit 6 · Model Context Protocol (MCP) · Lesson 26 of 40

Introducing MCP: Tools, Resources & Prompts

Understand the Model Context Protocol: clients and servers, transports, and the three primitives (tools, resources and prompts) and who controls each.

ACADEMY10 min+70 XP4-question quiz

🎯 By the end of this lesson you'll be able to

  • Describe MCP's client-server architecture
  • Name the transports and when each is used
  • Distinguish tools, resources and prompts
  • Explain how MCP tools load into Claude Code's context

A universal adapter for AI

Without a standard, every AI app needs custom integration code for every service. The Model Context Protocol (MCP) is an open standard that fixes this: write an MCP server once for a service (GitHub, Postgres, your internal API), and any MCP client (Claude Code, Claude Desktop and many other apps) can use it.

RoleWhat it doesExample
Host / clientThe AI app that connects to servers and gives their capabilities to the modelClaude Code
ServerExposes capabilities from a serviceA GitHub, Sentry or database server

Messages between them follow the same format no matter how they travel. That's what makes MCP transport-agnostic.

Transports

TransportHow it worksTypical use
stdioThe client launches the server as a local process and talks over stdin/stdoutLocal tools, CLIs and file access
HTTP (streamable HTTP)The server runs remotely and the client connects over HTTPSHosted SaaS servers like Notion or Sentry
SSEAn older streaming transportLegacy servers. It's deprecated, so prefer HTTP.

The three primitives

⇄Flashcards3 cards

The control split is the key idea:

  • Tools are chosen by the model while it works.
  • Resources are selected by the application or user to supply context.
  • Prompts are triggered by the user as ready-made workflows.
◎Tool, resource or prompt?pick the best fit
create_pull_request(title, body)
An action the model decides to take.
The contents of schema://users from your database server
Data you attach as context.
A "/triage-bug" template that walks through a standard bug-triage flow
A user-triggered template.
query_metrics(service, window)
The model calls it to fetch data while it works.

How MCP fits into Claude Code's context

At session start, Claude Code loads only the names of each server's tools plus any server instructions. Full tool schemas load on demand when Claude needs them (tool search is on by default). Connecting a server with 40 tools doesn't eat 40 tools' worth of context up front.

✓
MCP vs. a CLI

If a good CLI exists (gh, aws, stripe), Claude can often just use it through Bash. Reach for MCP when there's no CLI, when you need authenticated SaaS access (OAuth), or when you want structured tools and resources.

Check your understanding

?Lesson quiz10 XP per correct answer · +25 for a perfect score
QUESTION 1 OF 4

In MCP, which side exposes capabilities from a service?

Why: Servers expose tools, resources and prompts. Clients like Claude Code consume them.
QUESTION 2 OF 4

Who controls when a TOOL is used?

Why: Tools are model-controlled: Claude decides when to call them.
QUESTION 3 OF 4

Which transport launches the server as a local process?

Why: stdio servers run locally and talk over stdin/stdout.
QUESTION 4 OF 4

How do MCP tools load into Claude Code at session start?

Why: Names load first and schemas load when needed, which keeps context lean.
0 / 4 correct
Academy lesson

Unlock lesson 26 and the next 14

You've finished the free lessons. Join the Academy for $19/month to unlock every lesson, quiz, terminal simulation and puzzle, plus the final exam and your certificate of completion.

  • All 40 lessons across 9 units
  • 165+ quiz questions
  • Final exam + certificate
  • New lessons as Claude Code evolves
  • XP, streaks and badges
  • Cancel anytime

Already a member? Log in to continue.

Key takeaways

  • MCP is an open standard: one server works with any MCP client.
  • Transports: stdio for local, HTTP for remote. SSE is legacy.
  • Tools = model-controlled, resources = app-controlled, prompts = user-controlled.
  • Claude Code loads tool names first and schemas on demand.

Nice work. Lesson 26 done?

Mark it complete to earn +70 XP, keep your streak alive and unlock badges.

Written by Curtis Cornell from Anthropic's public Claude Code documentation. Last reviewed November 14, 2026. Claude Code changes fast; if something here differs from your version, the official docs win.

Start lesson 1 free →