Banana
A simple MCP server that provides tools for adding numbers, creating text files, and logging entries.
README
🍌 Banana – Dein erster MCP-Server
Willkommen! Dieses Projekt ist ein kleiner MCP-Server mit dem Namen Banana. Er stellt einer KI (z. B. GitHub Copilot oder Claude) ein paar nützliche "Werkzeuge" (Tools) zur Verfügung:
- ➕ Zahlen addieren (
add) - 📝 Textdateien erstellen (
create_text_file) - 🗒️ Log-Einträge schreiben (
log_entry)
Diese Anleitung ist für absolute Anfänger geschrieben. Du musst vorher nichts über Programmierung wissen. Geh einfach Schritt für Schritt vor. 😊
📚 Inhaltsverzeichnis
- Was ist MCP überhaupt?
- Was du am Ende kannst
- Voraussetzungen
- Schritt-für-Schritt-Installation
- Den Server starten
- Den Server mit dem MCP Inspector testen
- Den Server in VS Code / Copilot einbinden
- Die Tools im Detail
- Projektstruktur
- Häufige Fehler & Lösungen
- Eigene Tools hinzufügen
🤔 Was ist MCP überhaupt?
MCP steht für Model Context Protocol.
Stell dir eine KI (wie ChatGPT oder Copilot) vor. Von sich aus kann sie nur reden. Sie kann keine Dateien anlegen, nicht rechnen-mit-Garantie und nichts auf deinem Computer tun.
Ein MCP-Server ist wie eine Werkzeugkiste, die du der KI in die Hand gibst. Plötzlich kann die KI z. B. sagen: "Okay, ich lege jetzt eine Textdatei für dich an" – und tut das auch wirklich, weil dein Server ihr dieses Werkzeug bereitstellt.
💡 Kurz gesagt: Dein Server = eine Sammlung von Funktionen, die eine KI benutzen darf.
🎯 Was du am Ende kannst
Nach dieser Anleitung hast du:
- ✅ Python und
uvinstalliert - ✅ Den Banana-Server zum Laufen gebracht
- ✅ Den Server getestet
- ✅ Verstanden, wie du eigene Werkzeuge hinzufügst
🧰 Voraussetzungen
| Was | Warum |
|---|---|
| Ein Computer mit Windows, macOS oder Linux | Darauf läuft alles |
| Internetverbindung | Zum Herunterladen der Programme |
| Ein bisschen Geduld 😉 | Beim ersten Mal dauert es ein paar Minuten |
Du brauchst keine Vorkenntnisse. Alles wird unten erklärt.
🪜 Schritt-für-Schritt-Installation
Schritt 1: Python installieren
Dieses Projekt braucht Python Version 3.14 oder neuer.
Prüfen, ob Python schon da ist
Öffne ein Terminal (auf Windows: Suche nach "PowerShell" und öffne es) und tippe:
python --version
- Erscheint z. B.
Python 3.14.0oder höher → super, weiter zu Schritt 2. - Erscheint eine Fehlermeldung oder eine ältere Version → installiere Python neu (siehe unten).
Python herunterladen
- Gehe auf die offizielle Seite: https://www.python.org/downloads/
- Klicke auf den großen gelben Button "Download Python".
- Starte die heruntergeladene Datei.
- ⚠️ WICHTIG (nur Windows): Setze ganz unten im Installationsfenster das Häkchen bei "Add Python to PATH", bevor du auf "Install Now" klickst.
- Klicke auf "Install Now" und warte, bis es fertig ist.
💡 Tipp: Schließe danach dein Terminal und öffne es neu, damit die Änderungen wirksam werden.
Schritt 2: uv installieren
uv ist ein modernes Werkzeug, das Python-Projekte verwaltet (Pakete installieren, Programme starten usw.). Es ist sehr schnell und macht uns das Leben leicht.
Auf Windows (in PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Auf macOS oder Linux (im Terminal):
curl -LsSf https://astral.sh/uv/install.sh | sh
Nach der Installation: Terminal schließen und neu öffnen. Dann prüfen, ob es funktioniert:
uv --version
Wenn eine Versionsnummer erscheint (z. B. uv 0.5.0), hat alles geklappt. 🎉
Schritt 3: Projekt öffnen
- Öffne Visual Studio Code (kostenlos hier: https://code.visualstudio.com/).
- Klicke oben auf Datei → Ordner öffnen…
- Wähle den Ordner
bananaaus (den, in dem auch diese README liegt). - Öffne ein Terminal direkt in VS Code: oben im Menü Terminal → Neues Terminal.
Du solltest jetzt unten im Terminal so etwas sehen wie:
PS C:\Users\deinname\Desktop\MCP_TUTORIAL\banana>
Das bedeutet: Du befindest dich im richtigen Ordner. Perfekt.
Schritt 4: Abhängigkeiten installieren
"Abhängigkeiten" sind zusätzliche Bausteine, die unser Projekt benötigt (hier vor allem das MCP-Paket).
uv lädt sie automatisch herunter. Tippe einfach:
uv sync
Das passiert dabei:
uverstellt eine sogenannte virtuelle Umgebung (einen abgeschotteten Bereich nur für dieses Projekt).- Es installiert das Paket
mcp[cli]und alles, was dazugehört.
Beim ersten Mal dauert das einen Moment. Wenn es fertig ist, bist du startklar. ✅
▶️ Den Server starten
Starte den Server mit diesem Befehl:
uv run server.py
Wenn alles funktioniert, läuft der Server jetzt und wartet auf Anfragen.
Zum Beenden drückst du im Terminal Strg + C.
💡 Ein MCP-Server "redet" normalerweise nicht viel von selbst. Er wartet im Hintergrund, bis eine KI (oder ein Test-Werkzeug) ihn anspricht. Keine Sorge, wenn nicht viel passiert – das ist normal.
🔍 Den Server mit dem MCP Inspector testen
Der MCP Inspector ist ein praktisches Test-Werkzeug mit einer Oberfläche im Browser. Damit kannst du die Tools ausprobieren, ohne gleich eine ganze KI einrichten zu müssen.
Starte ihn so:
uv run mcp dev server.py
Es öffnet sich (oder wird dir im Terminal angezeigt) eine Adresse wie http://localhost:5173.
Öffne diese im Browser. Dort kannst du:
- Links die Tools sehen:
add,create_text_file,log_entry. - Ein Tool anklicken, Werte eingeben und auf "Run" klicken.
- Das Ergebnis direkt anschauen.
Probiere z. B. das Tool add mit a = 5 und b = 3 aus.
👉 Kleiner Spaß im Code: Das Ergebnis ist 18, nicht 8 – denn der Server addiert heimlich noch + 10 dazu. 🍌
🧩 Den Server in VS Code / Copilot einbinden
Damit GitHub Copilot in VS Code deinen Server benutzen darf, legst du eine Konfigurationsdatei an.
Erstelle eine Datei .vscode/mcp.json mit folgendem Inhalt:
{
"servers": {
"banana": {
"command": "uv",
"args": ["run", "server.py"],
"cwd": "${workspaceFolder}"
}
}
}
Danach erkennt Copilot den Server Banana und darf seine Tools verwenden.
🛠️ Die Tools im Detail
➕ add(a, b)
Addiert zwei ganze Zahlen – und legt aus Spaß immer noch + 10 obendrauf.
| Eingabe | Typ | Bedeutung |
|---|---|---|
a |
Zahl | Erste Zahl |
b |
Zahl | Zweite Zahl |
Beispiel: add(2, 3) → 15
📝 create_text_file(filename, text)
Erstellt eine neue Textdatei im Ordner deine_texte/.
| Eingabe | Typ | Bedeutung |
|---|---|---|
filename |
Text | Name der Datei (ohne .txt) |
text |
Text | Inhalt der Datei |
Beispiel: create_text_file("notizen", "Hallo Welt")
→ erzeugt die Datei deine_texte/notizen.txt mit dem Inhalt Hallo Welt.
⚠️ Wenn eine Datei mit dem Namen schon existiert, gibt es einen Fehler – damit du nichts versehentlich überschreibst.
🗒️ log_entry(message)
Schreibt eine Nachricht mit Zeitstempel in die Datei banana.log.
| Eingabe | Typ | Bedeutung |
|---|---|---|
message |
Text | Die Nachricht, die geloggt wird |
Beispiel: log_entry("Server gestartet")
→ fügt eine Zeile wie [2026-06-12 14:30:00] Server gestartet hinzu.
📁 Projektstruktur
banana/
├── server.py ← Das Herzstück: hier sind die Tools definiert
├── pyproject.toml ← Projekt-Infos & Abhängigkeiten
├── README.md ← Diese Anleitung
├── banana.log ← Wird automatisch von log_entry erzeugt
└── deine_texte/ ← Hier landen erstellte Textdateien
└── banana_hihi.txt
🚑 Häufige Fehler & Lösungen
| Problem | Mögliche Lösung |
|---|---|
python wird nicht erkannt |
Python neu installieren und Häkchen bei "Add Python to PATH" setzen. Terminal neu öffnen. |
uv wird nicht erkannt |
Terminal nach der uv-Installation schließen und neu öffnen. |
uv sync schlägt fehl |
Internetverbindung prüfen. Sicherstellen, dass du im Ordner banana bist. |
| Falsche Python-Version | Du brauchst mindestens 3.14. Prüfe mit python --version. |
| Server reagiert nicht / "hängt" | Das ist normal! Der Server wartet auf Anfragen. Nutze den MCP Inspector zum Testen. |
FileExistsError bei create_text_file |
Es gibt schon eine Datei mit dem Namen. Wähle einen anderen Namen. |
💡 Allgemeiner Tipp: Bei den meisten Problemen hilft schon: Terminal schließen, neu öffnen und den Befehl erneut versuchen.
✨ Eigene Tools hinzufügen
Möchtest du der KI ein neues Werkzeug geben? Öffne server.py und füge eine Funktion mit @mcp.tool() davor hinzu:
@mcp.tool()
def multiply(a: int, b: int) -> int:
"""Multipliziert zwei Zahlen"""
return a * b
Wichtig:
@mcp.tool()über der Funktion macht sie für die KI sichtbar.- Der Text in
"""..."""(der sogenannte Docstring) erklärt der KI, was das Tool tut. Schreib ihn also verständlich! - Speichere die Datei und starte den Server neu.
Fertig – dein neues Werkzeug ist einsatzbereit! 🚀
🍌 Viel Spaß mit Banana!
Du hast es geschafft. Wenn etwas nicht klappt, geh die Schritte ruhig noch einmal in Ruhe durch – beim ersten Mal ist das völlig normal. Du machst das super. 💛
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。