# Les 16: Model Context Protocol — Bouw je eigen MCP-server > ✅ **Deze les is volledig uitgewerkt** ## Lesmateriaal - [Slide Overzicht](../Les16-MCP/Les16-Slide-Overzicht.md) - [Docenttekst](../Les16-MCP/Les16-Docenttekst.md) - [Lesstof](../Les16-MCP/Les16-Lesstof.md) - [Lesopdracht](../Les16-MCP/Les16-Lesopdracht.md) - [Huiswerk](../Les16-MCP/Les16-Huiswerk.md) --- ## Deel **Deel 3 — AI Development** (Les 11-16) ## Beschrijving MCP (Model Context Protocol) is de open standaard waarmee Anthropic, OpenAI en de community AI-clients koppelen aan tools en data. We bouwen een eigen MCP-server voor Polderfest-data en laden hem in Cursor én Claude Desktop. --- ## Te Behandelen ### Theorie - Wat is MCP en waarom bestaat het? - Het probleem: tools zitten nu vast aan één app - MCP-architectuur: server, client, transport (stdio, HTTP) - Tools vs. Resources vs. Prompts - Bestaande MCP-ecosysteem (filesystem, git, Slack, GitHub) - MCP vs. Tool Calling — wanneer welke? ### Live demo's 1. MCP SDK installeren + eerste server met 1 tool 2. Server laden in Cursor + in Claude Desktop 3. Eigen Polderfest MCP-server (search, stats, schedule) 4. Resources en Prompts toevoegen 5. Server publiceren op npm --- ## Tools - `@modelcontextprotocol/sdk` (TypeScript) - Cursor (`.cursor/mcp.json`) - Claude Desktop (`claude_desktop_config.json`) - Node.js + TypeScript --- ## Lesopdracht (in-class, 60 min) Studenten kijken mee. In-class oefening: - Clone de Polderfest MCP-starter - Voeg een eigen tool toe (`getBandByCountry`) - Laad de server in Cursor of Claude Desktop - Test of de AI je tool vindt en gebruikt **Inleveren:** Screenshot van werkende MCP-tool in Cursor/Claude. --- ## Huiswerk (take-home) Bouw een MCP-server voor je eigen domein: - Minimaal 3 tools - 1 resource (bijv. een doc-bestand) - 1 prompt-template - README met installatie-instructies voor Cursor **Inleveren:** GitHub URL via Teams. --- ## Leerdoelen Na deze les kan de student: - MCP uitleggen aan een collega (waarom + hoe) - Een eigen MCP-server opzetten met de TypeScript SDK - Een server laden in Cursor en/of Claude Desktop - Het verschil tussen Tool, Resource en Prompt benoemen - Bepalen wanneer een MCP-server vs. inline tool calling past