Learn MCP. A free course, start to finish.
Thirty free lessons on the Model Context Protocol, in order: understand it, use it safely, build and ship your own server, then prepare for the MCPA certification.
We grow your business with
- CROturn traffic into leads
- SEOrank & get found
- GEOwin generative search
- AEOget cited by AI answers
No sign-up needed. Modules 1 and 2 are for anyone who uses AI apps at work; modules 3 to 5 are for developers. Each lesson ends with a short exercise.
Module
Module 1: Foundations
What MCP is and how the pieces fit, for everyone.
Lesson 1: The Problem MCP Solves
Lesson 1 of the free Learn MCP course. See why AI apps needed a shared way to reach your data and tools, and how the Model Context Protocol fixes it.
Start lesson →Lesson 2: Hosts, Clients and Servers
Lesson 2 of the free Learn MCP course. Learn the three roles in every MCP setup, host, client and server, and map them onto apps you already use.
Start lesson →Lesson 3: Tools, Resources and Prompts
Lesson 3 of the free Learn MCP course. Learn the three things an MCP server can offer, tools, resources and prompts, and who controls each one.
Start lesson →Lesson 4: Follow One Request From Prompt to Result
Lesson 4 of the free Learn MCP course. Trace one MCP request from your question to the answer, with the real JSON messages from the official MCP docs.
Start lesson →Lesson 5: Local and Remote Servers (Transports)
Learn how MCP messages travel between apps and servers. This lesson explains stdio for local servers, Streamable HTTP for remote ones, and their security rules.
Start lesson →
Module
Module 2: Using MCP
Connect, choose and control servers in the AI apps you use.
Lesson 6: Connect Your First MCP Server
Connect your first MCP server step by step. Add a remote server to Claude as a custom connector, or run a local filesystem server in Claude Desktop.
Start lesson →Lesson 7: Choose an MCP Client
Choose the right MCP client for your work. Compare Claude, Claude Code, VS Code, Cursor and ChatGPT on server types, features, setup and admin controls.
Start lesson →Lesson 8: Find Trustworthy Servers
Learn where to find MCP servers you can trust: vendor docs, the official MCP Registry, reference servers and app galleries, plus the red flags to watch for.
Start lesson →Lesson 9: Read a Server Before You Trust It
Learn what to check before you connect an MCP server: publisher, launch command, tools, annotations, sign-in scopes and data reach, plus a one-page worksheet.
Start lesson →Lesson 10: Permissions and Approvals
Learn how MCP tool approvals work in Claude, Claude Code, Cursor and VS Code, and write a simple allow, ask and deny policy for the servers you connect.
Start lesson →Lesson 11: Rolling MCP Out to a Team
Learn how to roll MCP out to a team: admin-only connectors in Claude, managed MCP in Claude Code, approved server lists, logging and a six-step rollout plan.
Start lesson →Lesson 12: Remote vs Local Servers in Practice
Learn when to use a remote or a local MCP server: setup, credentials, security, team use and app support, with a decision table and a practice exercise.
Start lesson →
Module
Module 3: Building
Build, test and deploy your own server in Python or TypeScript.
Lesson 13: Set Up Your Development Environment
Install the right Python, Node.js, MCP SDK and MCP Inspector versions for the 2026-07-28 spec, and prove the setup works with one command.
Start lesson →Lesson 14: Build Your First Tool in Python
Write a working MCP server in Python with the v2 SDK, add two tools with typed inputs, test them in memory and with MCP Inspector, then connect a host.
Start lesson →Lesson 15: Build Your First Tool in TypeScript
Build an MCP server in TypeScript with the v2 SDK, register a tool with a Zod schema, serve it over stdio, and test both protocol eras with MCP Inspector.
Start lesson →Lesson 16: Add Resources
Add static resources and resource templates to an MCP server in Python and TypeScript, return text or JSON, and report a missing resource the right way.
Start lesson →Lesson 17: Add Prompts
Add reusable prompt templates to an MCP server in Python and TypeScript, with titles, described arguments and multi-message starts users pick by name.
Start lesson →Lesson 18: Ask the User With Elicitation
Make an MCP tool pause and ask the user a question, the 2026-07-28 way, in Python and TypeScript, and handle accept, decline and cancel correctly.
Start lesson →Lesson 19: Test With the MCP Inspector
Use the official MCP Inspector web UI, CLI and TUI to test any server, check both protocol eras, read exit codes, and turn it all into a CI smoke test.
Start lesson →Lesson 20: Handle Errors Well
Learn the two kinds of MCP errors, when to use each in Python and TypeScript, and how to write error messages an AI model can recover from.
Start lesson →Lesson 21: Deploy a Remote Server
Turn a local MCP server into a remote one over Streamable HTTP in Python or TypeScript, lock down Host headers, scale it, and compare hosting options.
Start lesson →Lesson 22: Add OAuth Sign-In
Protect a remote MCP server with OAuth 2.1 bearer tokens in Python or TypeScript, publish protected resource metadata, check audience and scopes, and test it.
Start lesson →Lesson 23: Design Tools an AI Uses Well
Design MCP tools a model picks correctly, with task-shaped names, clear descriptions, tight input schemas, structured output and honest annotations.
Start lesson →
Module
Module 4: Security and operations
Keep a server safe and maintained once it is live.
Lesson 24: Threat-Model Your Server
Learn to threat-model an MCP server in one sitting. Map trust boundaries, list assets and entry points, and match threats to the spec's own mitigations.
Start lesson →Lesson 25: Least Privilege in Practice
Apply least privilege to an MCP server. Split read and write tools, request minimal OAuth scopes, step up when needed, and fence off files and credentials.
Start lesson →Lesson 26: Logging and Monitoring
Log and monitor an MCP server the way the 2026-07-28 spec now expects, using stderr and OpenTelemetry, with a working audit log and clear alert rules.
Start lesson →Lesson 27: Version and Update Your Server
Learn how to version an MCP server safely. Track protocol and server versions, support old and new clients, retire tools gently, and plan for deprecations.
Start lesson →Lesson 28: Publish to the MCP Registry
Publish an MCP server to the official MCP Registry step by step with mcp-publisher, server.json, namespace login and a check that your listing went live.
Start lesson →
Module
Module 5: Advanced
Long-running work, interactive apps and a capstone plan.
Lesson 29: Long-Running Tasks and MCP Apps
Learn when to use the MCP Tasks extension for long jobs and MCP Apps for interactive UI, how each is negotiated, and how to keep a plain fallback for every client.
Start lesson →Lesson 30: Capstone: Plan a Real Server
Pull the whole Learn MCP course together. Plan a real MCP server on one page, from the problem and tools to auth, security, logging, versioning and launch.
Start lesson →
Module
MCPA exam prep
Prepare for the Model Context Protocol Associate (MCPA) certification.
MCPA Study Guide: Domain by Domain
An unofficial MCPA study guide. Each of the five exam domains, its weight, what to read in the 2026-07-28 MCP spec, key concepts and self-check questions.
Start lesson →MCPA Practice Questions (Original, With Answers)
18 original, unofficial MCPA practice questions across all five exam domains, each with the answer and a one-line explanation linked to the MCP spec.
Start lesson →A 4-Week MCPA Study Plan
A practical, unofficial 4-week MCPA study plan. One week per block of exam domains, daily spec reading, hands-on practice, self-tests and when to book the exam.
Start lesson →MCPA Exam Day: Booking, Rules and What to Expect
Everything the official Linux Foundation pages say about taking the MCPA, from booking windows and ID rules to the room check, exam screen, results and retakes.
Start lesson →
FAQ
Common questions
Is the course free?
Do I need to know how to code?
Does this course give me a certificate?
Are the practice questions from the real exam?
Project Managers who will work with you on your project!
Irina S.
Benjamin G.
David G.
Jeanette M.
Mark S.
Maryna P.
Rather have it built for you?
We build MCP servers and integrations with Claude Code, reviewed by an engineer before anything ships.
See MCP Development →





















