Wir werden einen CLI-basierten Chatbot bauen, um besser zu verstehen, wie MCP-Clients und -Server zusammenarbeiten. Dieses praxisnahe Projekt gibt dir praktische Erfahrung mit beiden Seiten der MCP-Architektur.
Wenn das Setup abgeschlossen ist, solltest du zwei Dinge können: sagen, was der Client macht und was der Server macht, und erkennen, ob eine Antwort über ein Tool kam oder direkt vom Modell.
Was wir bauen
Unser Chatbot ermöglicht es Nutzern, über eine Kommandozeilen-Schnittstelle mit einer Sammlung von Dokumenten zu interagieren. Das System besteht aus zwei Hauptkomponenten:
- Ein MCP-Client, der Nutzerinteraktionen verarbeitet
- Ein benutzerdefinierter MCP-Server, der Dokumentoperationen verwaltet

Der Server stellt zwei wesentliche Tools bereit: eines zum Lesen von Dokumentinhalten und ein weiteres zum Aktualisieren dieser. Alle Dokumente werden der Einfachheit halber im Arbeitsspeicher gespeichert - keine Datenbank erforderlich.
Wichtiger Hinweis zur Architektur
In realen Projekten implementierst du in der Regel entweder einen MCP-Client oder einen MCP-Server, nicht beides. Du könntest erstellen:
- Einen MCP-Server, um deinen Dienst anderen Entwicklern zugänglich zu machen
- Einen MCP-Client, um dich mit bestehenden MCP-Servern zu verbinden

Wir bauen in diesem Projekt beide Komponenten rein zu Lernzwecken - um zu verstehen, wie sie kommunizieren und zusammenarbeiten.
Projekteinrichtung
Lade cli_project.zip aus dem Downloads-Bereich am Ende dieser Lektion herunter und entpacke es in dein bevorzugtes Entwicklungsverzeichnis. Öffne deinen Code-Editor im Projektordner.
Das Projekt enthält eine umfassende README-Datei mit Einrichtungsanweisungen. Folge diesen Schritten:
- Füge deinen Anthropic-API-Key zur
.env-Datei hinzu - Installiere die Abhängigkeiten entweder mit UV (empfohlen) oder pip
- Führe die Starter-Anwendung aus, um zu überprüfen, dass alles funktioniert
Die Anwendung ausführen
Navigiere im Terminal zu deinem Projektverzeichnis. Du siehst die wichtigsten Projektdateien, darunter main.py, mcp_client.py und mcp_server.py.
Um die Anwendung zu starten, verwende einen dieser Befehle:
# Bei Verwendung von UV (empfohlen)
uv run main.py
# Bei Verwendung von Standard-Python
python main.pyWenn die Anwendung erfolgreich startet, siehst du eine Chat-Eingabeaufforderung.
Überprüfe die Baseline selbst. Gib eine Frage ein, die du auf Anhieb überprüfen kannst, wie „was ist 1+1?". Gib dich nicht damit zufrieden, dass eine Antwort erscheint: bestätige, dass die Antwort tatsächlich 2 ist. Eine korrekte Antwort beweist, dass dein API-Key, deine Abhängigkeiten und deine Chat-Schleife alle funktionieren.
Gib dann eine zweite Frage ein, etwa „was sagen die Dokumente?". Was auch immer zurückkommt, es kann nicht von den Dokument-Tools stammen, weil du sie noch nicht gebaut hast. Die Antwort kommt vom Modell, das auf sich allein gestellt antwortet. Beachte, welche Komponente diese Aufgabe übernehmen wird, sobald sie existiert: der Server verwaltet Dokumentoperationen, und der Client kümmert sich um deine Seite des Gesprächs.
Die Gewohnheit hinter dieser Überprüfung: passe an, wie sorgfältig du überprüfst, im Verhältnis zu den Kosten, falsch zu liegen. Ein defektes Setup kostet dich hier jede spätere Lektion, die darauf aufbaut; die Überprüfung kostet zwei Fragen.
Eine Überprüfung, die sich zu behalten lohnt
Das Verhalten, das du über dieses Projekt hinaus beibehalten solltest: Jedes Mal, wenn du einem API-Projekt eine neue Schicht hinzufügst - sei es ein Tool, eine Datenquelle oder ein MCP-Server - stelle dem laufenden System eine Frage, deren Antwort du bereits kennst, bevor du die nächste Schicht baust. Eine Baseline, die du überprüft hast, ist die einzige Baseline, gegen die du debuggen kannst.
Mit dem grundlegenden Setup abgeschlossen, sind wir bereit, mit der Implementierung von MCP-Funktionen zu beginnen und zu erkunden, wie Clients und Server über das Model Context Protocol kommunizieren.
Downloads
- Herunterladen
Starter project (cli_project.zip)
The chatbot project you build on for the rest of this section.
- Herunterladen
Completed project (cli_project_COMPLETE.zip)
The finished version, for checking your work.