Dieses Repository enthält umfassende Materialien zum Erlernen und Verstehen des Model Context Protocol (MCP) – von einfachen Beispielen bis zu komplexen Praxisprojekten.
mcp/
├── mcp_basic/ # Minimales MCP-Beispiel für Einsteiger (70 Zeilen)
├── mcp_grades/ # Praxisprojekt: Notenverwaltung mit MCP + Ollama
├── mcp-kompakt.md # LiaScript-Kurs: MCP Kompaktkurs (60 Minuten)
└── README.md # Diese Datei
- Studierende und Lernende, die MCP von Grund auf verstehen wollen
- Entwickler, die MCP-Server und -Clients implementieren möchten
- Architekten, die Vor- und Nachteile von MCP-basierten Architekturen bewerten wollen
- Dozenten, die MCP in ihren Kursen vermitteln möchten
Perfekt für den ersten Kontakt mit MCP:
cd mcp_basic
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 src/client/simple_client.pyErgebnis: Ein funktionierender MCP-Server mit einem Tool und ein Client, der es aufruft.
Mehr Details in mcp_basic/README.md
Notenverwaltung mit MCP-Server und Ollama-Integration:
cd mcp_grades
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Test ohne Ollama:
python3 src/client/simple_client.py
# Mit Ollama (interaktiv):
ollama pull llama3.2
python3 src/client/ollama_client.pyMehr Details in mcp_grades/README.md
-
LiaScript-Kurs durcharbeiten (mcp-kompakt.md)
- MCP-Konzepte und Motivation verstehen
- Nachrichtenfluss und Architektur kennenlernen
- Tool-Discovery und Orchestrierung
-
Minimales Beispiel ausführen (mcp_basic/)
- Einfachster Server und Client
- Aufgaben durcharbeiten (siehe mcp_basic/AUFGABEN.md)
- Eigene Tools hinzufügen
-
Praxisprojekt verstehen (mcp_grades/)
- MCP Server mit 4 Tools für Notenverwaltung
- PDF-Verarbeitung und Datenextraktion
- Ollama-Integration für natürlichsprachliche Interaktion
-
Hands-on Übungen
- Eigene MCP-Tools hinzufügen
- PDF-Parsing erweitern
- Ollama-Prompts optimieren
- Weitere Analysefunktionen implementieren
-
Erweiterungen (siehe mcp_grades/README.md)
- Zeugnisse als PDF generieren
- Datenbank-Backend (SQLite)
- HTTP-Transport statt stdio
- Claude Desktop Integration
Model Context Protocol ist ein offener Standard für die Kommunikation zwischen KI-Anwendungen (LLMs) und externen Tools, Datenquellen und Services.
Kernidee: Standardisierte Schnittstelle, ähnlich wie USB für Hardware oder HTTP für Web-APIs.
- Reproduzierbarkeit: Gleiche Eingaben → vorhersagbare Outputs
- Governance: Nachvollziehbare Tool-Aufrufe für Audits
- Wiederverwendbarkeit: Einmal entwickelte Server können von mehreren Clients genutzt werden
- Testbarkeit: Isolierte Tools mit klaren Contracts
- Sicherheit: Schema-Validierung und kontrollierter Datenzugriff
- Portabilität: Transport-agnostisch (stdio, HTTP, WebSocket)
| ✅ MCP ist sinnvoll bei: | ❌ MCP ist überdimensioniert bei: |
|---|---|
| Mehrere Clients greifen auf gleiche Funktionalität zu | Einfache, monolithische Anwendungen |
| Team-Entwicklung mit klaren Schnittstellen | Prototypen und PoCs |
| Produktionssysteme mit Wartbarkeitsanforderungen | Einem einzelnen Entwickler |
| Wiederverwendbare Module gewünscht | Performance absolut kritisch |
| Standardisierung wichtig | Keine Wiederverwendung geplant |
1. mcp_basic/ - Minimales Beispiel
Ziel: Der absolut einfachste Einstieg in MCP.
Inhalt:
- Ein Server mit einem
addTool (45 Zeilen) - Ein Client, der das Tool aufruft (25 Zeilen)
- Aufgaben zum Erweitern (multiply, reverse, etc.)
Lerndauer: 30-60 Minuten
Highlights:
- Minimaler Code, maximales Verständnis
- Schrittweise Erweiterungen möglich
- Detaillierte Code-Erklärungen
2. mcp_grades/ - Notenverwaltung mit MCP + Ollama
Ziel: Praxisnahes Uni-Szenario mit MCP-Server und Ollama-Integration.
Szenario: Zugriff auf Notenmeldungen aus PDF-Dateien über natürlichsprachliche Fragen.
Komponenten:
-
MCP Server (
grades_server.py)- 4 Tools: list_courses, get_grades, get_student_transcript, calculate_gpa
- PDF-Parsing mit PyPDF2
- Strukturierter Datenzugriff
-
Simple Client (
simple_client.py)- Direkter Test aller Tools
- Ohne LLM-Abhängigkeit
- Perfekt zum Verstehen der Grundlagen
-
Ollama Client (
ollama_client.py)- Natürlichsprachliche Interaktion
- LLM übersetzt Fragen → Tool-Aufrufe
- Demonstriert intelligente Orchestrierung
Lerndauer: 2-4 Stunden
Highlights:
- 5 Beispiel-PDFs mit Notendaten automatisch generiert
- Uni-relevantes Szenario (Datenschutz, lokale Verarbeitung)
- Ollama-Integration (lokal, ohne Cloud)
- Erweiterbare Architektur für eigene Ideen
3. mcp-kompakt.md - LiaScript-Kurs
Ziel: Kompakter 60-Minuten-Kurs mit Theorie und Praxis.
Inhalt:
- Teil 1: MCP-Grundlagen (15 Min)
- Teil 2: Server entwickeln (15 Min)
- Teil 3: Client bauen (10 Min)
- Teil 4: LLM-Orchestrierung (15 Min)
- Teil 5: Fallstricke & Best Practices (5 Min)
Format: LiaScript (interaktives Markdown)
Nutzung:
- Als Markdown lesen
- Auf liascript.github.io hochladen
- In Kursen/Workshops verwenden
- Python 3.8+ - Für alle Beispiele
- pip - Python Package Manager
- Ollama (optional) - Für LLM-Orchestrierung im Praxisprojekt
curl -fsSL https://ollama.com/install.sh | sh ollama pull llama3.2
Werden automatisch installiert:
mcp- Model Context Protocol SDKPyPDF2- PDF-Verarbeitung (nur für Praxisprojekt)ollama- LLM-Integration (nur für LLM-Orchestrierung)
| Feature | mcp_basic | mcp_grades |
|---|---|---|
| Zielgruppe | Einsteiger | Fortgeschrittene |
| Lerndauer | 30-60 Min | 2-4 Stunden |
| Komplexität | Minimal | Praxisnah |
| Zeilen Code | ~70 | ~500 |
| Server-Anzahl | 1 | 1 |
| Tools | 1 (add) | 4 (Notenverwaltung) |
| LLM-Integration | Nein | Ja (Ollama) |
| Externe Deps | Nur MCP | MCP, PyPDF2, Ollama |
| Beispieldaten | Keine | 5 PDFs (automatisch generiert) |
| Uni-Kontext | Nein | Ja (Notenverwaltung) |
| Tutorial | Inline | Inline + AUFGABEN |
Dieses Projekt ist ideal für Lehrveranstaltungen geeignet:
Sitzung 1 (90 Min): Einführung
- Theorie: LiaScript-Kurs mcp-kompakt.md
- Praxis: Minimales Beispiel mcp_basic/
- Übung: Aufgaben in mcp_basic/AUFGABEN.md
Sitzung 2 (90 Min): Praxisprojekt
- Theorie: PDF-Verarbeitung und Datenextraktion
- Praxis: MCP Grades Server verstehen
- Übung: Simple Client testen, Tools erweitern
Sitzung 3 (90 Min): LLM-Orchestrierung
- Theorie: Ollama und natürlichsprachliche Interfaces
- Praxis: Ollama-Client nutzen und anpassen
- Projekt: Eigene Tools und Fragen entwickeln
- Präsentationen: LiaScript-Format direkt nutzbar
- Aufgaben: Vordefiniert in AUFGABEN.md-Dateien
- Musterlösungen: Vollständige Implementierungen vorhanden
- Zeitplan: Realistische Zeitangaben für alle Module
Verbesserungsvorschläge und Erweiterungen sind herzlich willkommen!
Mögliche Beiträge:
- Weitere Aufgaben und Übungen
- Übersetzungen (Englisch, etc.)
- Zusätzliche Beispiel-Server
- Dokumentationsverbesserungen
- Bugfixes und Optimierungen
- MCP Specification - Offizielle Spezifikation
- Python SDK - Python-Implementierung
- Example Servers - Offiziell Server-Beispiele
- MCP Discord - Community-Forum
- GitHub Discussions - Technische Diskussionen
- Ollama - Lokale LLM-Runtime
- LiaScript - Interaktive Tutorial-Plattform
- PyPDF2 - PDF-Verarbeitung in Python
Dieses Repository bietet einen vollständigen Lernpfad für MCP:
- Theorie: LiaScript-Kurs mit Konzepten und Best Practices
- Einstieg: Minimales Beispiel (mcp_basic) zum schnellen Verstehen
- Praxis: Notenverwaltung (mcp_grades) mit MCP + Ollama
- Vertiefung: Aufgaben und Erweiterungsideen
Kernbotschaft: MCP standardisiert die Kommunikation zwischen LLMs und Tools. Ideal für modulare, wiederverwendbare Architekturen mit klaren Schnittstellen.
Dieses Projekt dient zu Bildungszwecken und ist frei verwendbar.
Erstellt für Lernende und Lehrende, die MCP praktisch verstehen wollen.
Viel Erfolg beim Lernen und Experimentieren! 🚀
Fragen oder Feedback? Öffne ein Issue oder trage zur Dokumentation bei!