Skip to content

SebastianZug/MCP_tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Lernprojekt: Vom Einstieg zur Praxis

Dieses Repository enthält umfassende Materialien zum Erlernen und Verstehen des Model Context Protocol (MCP) – von einfachen Beispielen bis zu komplexen Praxisprojekten.

📂 Projektstruktur

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

🎯 Für wen ist dieses Projekt?

  • 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

🚀 Schnellstart

Option 1: Minimales Beispiel (5 Minuten)

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.py

Ergebnis: Ein funktionierender MCP-Server mit einem Tool und ein Client, der es aufruft.

Mehr Details in mcp_basic/README.md

Option 2: Praxisprojekt mit Ollama (30+ Minuten)

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.py

Mehr Details in mcp_grades/README.md

📚 Lernpfade

Lernpfad 1: Grundlagen (1-2 Stunden)

  1. LiaScript-Kurs durcharbeiten (mcp-kompakt.md)

    • MCP-Konzepte und Motivation verstehen
    • Nachrichtenfluss und Architektur kennenlernen
    • Tool-Discovery und Orchestrierung
  2. Minimales Beispiel ausführen (mcp_basic/)

    • Einfachster Server und Client
    • Aufgaben durcharbeiten (siehe mcp_basic/AUFGABEN.md)
    • Eigene Tools hinzufügen

Lernpfad 2: Praxisvertiefung (2-4 Stunden)

  1. Praxisprojekt verstehen (mcp_grades/)

    • MCP Server mit 4 Tools für Notenverwaltung
    • PDF-Verarbeitung und Datenextraktion
    • Ollama-Integration für natürlichsprachliche Interaktion
  2. Hands-on Übungen

    • Eigene MCP-Tools hinzufügen
    • PDF-Parsing erweitern
    • Ollama-Prompts optimieren
    • Weitere Analysefunktionen implementieren
  3. Erweiterungen (siehe mcp_grades/README.md)

    • Zeugnisse als PDF generieren
    • Datenbank-Backend (SQLite)
    • HTTP-Transport statt stdio
    • Claude Desktop Integration

🔑 Kernkonzepte

Was ist MCP?

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.

Warum MCP?

  • 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)

Wann MCP verwenden?

✅ 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

📖 Projektübersicht

1. mcp_basic/ - Minimales Beispiel

Ziel: Der absolut einfachste Einstieg in MCP.

Inhalt:

  • Ein Server mit einem add Tool (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:

  1. MCP Server (grades_server.py)

    • 4 Tools: list_courses, get_grades, get_student_transcript, calculate_gpa
    • PDF-Parsing mit PyPDF2
    • Strukturierter Datenzugriff
  2. Simple Client (simple_client.py)

    • Direkter Test aller Tools
    • Ohne LLM-Abhängigkeit
    • Perfekt zum Verstehen der Grundlagen
  3. 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:

🛠️ Technische Voraussetzungen

Software

  • 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

Python-Bibliotheken

Werden automatisch installiert:

  • mcp - Model Context Protocol SDK
  • PyPDF2 - PDF-Verarbeitung (nur für Praxisprojekt)
  • ollama - LLM-Integration (nur für LLM-Orchestrierung)

📊 Vergleich der Projekte

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

🎓 Für Dozenten und Lehrende

Dieses Projekt ist ideal für Lehrveranstaltungen geeignet:

Kursstruktur-Vorschlag

Sitzung 1 (90 Min): Einführung

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

Materialien für Lehrende

  • 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

🤝 Beitragen

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

📚 Weiterführende Ressourcen

Offizielle Dokumentation

Community

Tools

  • Ollama - Lokale LLM-Runtime
  • LiaScript - Interaktive Tutorial-Plattform
  • PyPDF2 - PDF-Verarbeitung in Python

🎉 Zusammenfassung

Dieses Repository bietet einen vollständigen Lernpfad für MCP:

  1. Theorie: LiaScript-Kurs mit Konzepten und Best Practices
  2. Einstieg: Minimales Beispiel (mcp_basic) zum schnellen Verstehen
  3. Praxis: Notenverwaltung (mcp_grades) mit MCP + Ollama
  4. Vertiefung: Aufgaben und Erweiterungsideen

Kernbotschaft: MCP standardisiert die Kommunikation zwischen LLMs und Tools. Ideal für modulare, wiederverwendbare Architekturen mit klaren Schnittstellen.

📝 Lizenz

Dieses Projekt dient zu Bildungszwecken und ist frei verwendbar.

✨ Credits

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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages