Best practices pisania serwerów MCP
Zaawansowany, praktyczny kurs o projektowaniu, implementacji, zabezpieczaniu i operacjonalizacji serwerów MCP dla doświadczonych developerów budujących narzędzia dla agentów AI, aplikacji LLM i systemów RAG.
Intensywny kurs dla doświadczonych programistów, którzy znają Pythona oraz ekosystem AI/ML/LLM i chcą projektować produkcyjne serwery MCP zgodnie z aktualną specyfikacją oraz praktykami branżowymi. Program koncentruje się na implementacji hands-on: modelowaniu kontraktów tools/resources/prompts, doborze transportu (stdio, SSE, Streamable HTTP), bezpieczeństwie i autoryzacji OAuth, ergonomii schematów wejścia/wyjścia, ograniczaniu ryzyka prompt injection, observability, testach zgodności oraz wdrożeniu do środowiska produkcyjnego. Kurs uwzględnia najnowsze kierunki rozwoju ekosystemu MCP, w tym preferowanie oficjalnych, zgodnych SDK wysokiego poziomu wsparcia, aktualne wymagania dotyczące powiązania żądań serwera z żądaniem klienta przy sampling/elicitation/roots oraz praktyki bezpiecznej integracji z klientami takimi jak ChatGPT, Claude Code, VS Code i własne aplikacje. Aktualne materiały oficjalne wskazują m.in., że Python i TypeScript są obecnie SDK Tier 1, oficjalny Python SDK wspiera stdio, SSE i Streamable HTTP, a dla zdalnych serwerów MCP rekomendowane są zaufane serwery dostawców, ostrożność w ujawnianiu danych oraz implementacja OAuth 2.0/2.1 z dynamiczną rejestracją klienta tam, gdzie to możliwe.
Czego się nauczysz
- Wyjaśnisz architekturę MCP oraz poprawnie rozdzielisz odpowiedzialności między tools, resources i prompts.
- Zaprojektujesz serwer MCP w Pythonie z użyciem oficjalnego SDK Tier 1 oraz dobierzesz właściwy transport: stdio, SSE albo Streamable HTTP.
- Zaprojektujesz stabilne, minimalne i bezpieczne kontrakty wejścia/wyjścia oparte o JSON Schema dla narzędzi MCP.
- Zaimplementujesz bezpieczne uwierzytelnianie i autoryzację dla zdalnego serwera MCP z użyciem OAuth 2.x, w tym poprawną obsługę bearer tokenów, HTTPS i rotacji tokenów.
- Zastosujesz praktyki ograniczania ryzyk prompt injection, data exfiltration i nadużyć uprawnień w serwerach MCP, uwzględniając model zaufania klient-serwer i human-in-the-loop przy sampling.
- Poprawnie użyjesz sampling, elicitation i roots zgodnie z najnowszym kierunkiem specyfikacji: wyłącznie jako operacji powiązanych z aktywnym żądaniem klienta.
- Dodasz logowanie, tracing, metryki, limity, timeouts, retries i idempotencję, aby serwer MCP był operacyjnie gotowy na produkcję.
- Przygotujesz testy kontraktowe i integracyjne z MCP Inspector oraz checklistę wdrożenia produkcyjnego.
Wymagania wstępne
Bardzo dobra znajomość Python 3.11+, HTTP/JSON, async programming (asyncio), FastAPI lub podobnych frameworków webowych, podstaw OAuth 2.0, Docker oraz praktyczne doświadczenie z LLM/RAG/agentami AI. Uczestnik powinien rozumieć różnicę między tool calling, retrieval i orkiestracją agentów oraz umieć czytać JSON Schema. Zalecane: doświadczenie z testami integracyjnymi, observability i deploymentem usług backendowych.
Program kursu
- MCP bez marketingu: tools vs resources vs prompts na realnych use-case’ach AI agents
- Kiedy serwer MCP powinien być cienką warstwą nad API, a kiedy fasadą domenową
- Antywzorce: jeden tool do wszystkiego, ukryta logika agenta, niejawne side effecty
- Quiz: rozpoznawanie dobrego kontraktu MCP i błędnych granic odpowiedzialności
- Start od FastMCP: tworzenie serwera, @mcp.tool(), @mcp.resource(), @mcp.prompt()
- Uruchamianie przez uv i streamable-http: lokalny loop developerski bez zbędnej ceremonii
- Struktura projektu: app/, domain/, adapters/, schemas/, auth/, observability/
- Async I/O, dependency injection i separacja warstwy protokołu od logiki biznesowej
- Quiz: które elementy powinny trafić do warstwy MCP, a które do domain services
- JSON Schema dla tool inputs: enum, defaults, walidacja, required fields i komunikaty błędów
- Projektowanie outputs: json_response, struktury wyników, pola status/error i typed payloads
- Resource URI design: versioning, naming, cacheability i semantyka odczytu
- Prompts jako interfejs reusable: parametryzacja, guardrails i ograniczanie ukrytych zależności
- Jak pisać opisy tooli, żeby modele wybierały je poprawnie i nie halucynowały parametrów
- Quiz: refaktoryzacja źle zaprojektowanych schematów wejścia/wyjścia
- stdio dla lokalnych narzędzi developerskich vs Streamable HTTP dla serwerów zdalnych
- SSE i stream lifecycle: timeouts, keepalive, reverse proxy, load balancer, idle connections
- Streamable HTTP end-to-end z FastAPI/ASGI: routing, concurrency, backpressure
- Idempotencja, correlation IDs i request scoping przy długich operacjach
- Quiz: wybór właściwego transportu dla ChatGPT connector, Claude Code i własnego IDE agenta
- Threat model dla MCP: prompt injection, exfiltration, confused deputy, over-broad tools
- OAuth 2.x w MCP: bearer tokens, PKCE, token rotation, redirect URI validation, HTTPS everywhere
- Dynamic Client Registration i metadata discovery: kiedy wdrażać i jak ograniczać tarcie integracyjne
- Least privilege w praktyce: scope per tool, tenant isolation, data minimization i audit trail
- Bezpieczne side effecty: approvals, dry-run, idempotency keys, policy checks przed wykonaniem akcji
- Quiz: analiza incydentu bezpieczeństwa w zdalnym serwerze MCP
- Sampling bez kluczy API po stronie serwera: kiedy ma sens, a kiedy lepiej go nie używać
- Human-in-the-loop i polityki bezpieczeństwa przy sampling/createMessage
- Nowa zasada request association: roots/list, sampling/createMessage i elicitation/create tylko w kontekście aktywnego requestu
- Projektowanie fallbacków, jeśli klient nie wspiera wybranych capabilities
- Quiz: które interakcje są zgodne ze specyfikacją, a które naruszają model protokołu
- Contract tests dla tool schemas i resources: snapshoty, golden files, backward compatibility
- MCP Inspector i testy integracyjne end-to-end z klientem MCP
- Structured logging, OpenTelemetry traces, metrics per tool i latency budgets
- Rate limiting, retries, circuit breakers i degradacja usług zależnych
- Obsługa błędów: user-safe errors vs developer diagnostics, mapping wyjątków na odpowiedzi MCP
- Quiz: dobór metryk i alarmów dla produkcyjnego serwera MCP
- Docker, CI/CD i release engineering dla serwera MCP: wersjonowanie kontraktów i rollouty
- Publishing readiness: dokumentacja tooli, examples, changelog, SLA i polityki bezpieczeństwa
- Wybór oficjalnych i zaufanych integracji: jak nie budować serwera, którego nie da się bezpiecznie używać
- Checklist production readiness: auth, logs, traces, tests, quotas, data retention, incident response
- Quiz końcowy: architektura referencyjna serwera MCP dla realnego produktu AI
Najczęściej zadawane pytania
To intensywny program dla doświadczonych programistów, którzy znają Pythona oraz ekosystem AI/ML/LLM i chcą projektować serwery MCP gotowe do wdrożenia produkcyjnego. Kurs będzie szczególnie wartościowy dla osób budujących integracje agentów, narzędzia developerskie, workflow automation i bezpieczne warstwy dostępu do danych.
Tak. Program został zaprojektowany w oparciu o aktualne praktyki ekosystemu MCP, w którym Streamable HTTP jest rekomendowanym transportem dla serwerów zdalnych, a starszy model HTTP+SSE jest utrzymywany głównie dla kompatybilności wstecznej. Omawiamy też najnowsze kierunki rozwoju, takie jak rosnące znaczenie autoryzacji, oficjalny MCP Registry w preview oraz zmiany specyfikacji wzmacniające interoperacyjność i bezpieczeństwo.
Uczestnicy implementują kontrakty tools, resources i prompts, projektują ergonomiczne schematy wejścia/wyjścia, dobierają odpowiedni transport, budują warstwę autoryzacji OAuth, wdrażają observability, testy zgodności oraz mechanizmy ograniczania prompt injection. Nacisk kładziemy na decyzje architektoniczne, które mają znaczenie w środowisku produkcyjnym: stabilność interfejsów, bezpieczeństwo i diagnostykę.
Zdecydowanie tak. To jeden z kluczowych modułów. Omawiamy model zaufania MCP, autoryzację OAuth dla serwerów zdalnych, walidację danych wejściowych i wyjściowych, minimalizację uprawnień oraz techniki ograniczania prompt injection. To ważne także dlatego, że najnowsze publikacje badawcze z 2025 i 2026 roku zwracają uwagę na realne podatności związane z implementacją i zgodnością serwerów MCP.
Tak. Kurs pokazuje, kiedy użyć stdio w integracjach lokalnych, jak rozumieć legacy HTTP+SSE oraz dlaczego nowoczesne wdrożenia zdalne coraz częściej opierają się na Streamable HTTP. Dzięki temu łatwiej podejmiesz właściwe decyzje projektowe zależnie od typu klienta, wymagań sieciowych i modelu sesji.
Bo MCP szybko staje się standardem integracji modeli z narzędziami i źródłami danych. Ekosystem dojrzewa: dostępne są oficjalne SDK, rozwijany jest registry serwerów, a duzi gracze wspierają interoperacyjne podejście do agentów i tool-use. To dobry moment, aby wejść głębiej niż tutoriale i nauczyć się praktyk, które pozwalają budować serwery utrzymywalne, zgodne ze specyfikacją i gotowe na rozwój protokołu.
- 40 godzin
- Zaawansowany
- Certyfikat po ukończeniu
- Dostęp natychmiast po zakupie
- Dożywotni dostęp i aktualizacje
30-dniowa gwarancja zwrotu pieniędzy