einfachskills_

MCP · 6 Min.

MCP-Server mit Python bauen: FastMCP Schritt für Schritt

Mit Python baust du einen MCP-Server am schnellsten über FastMCP, den komfortablen Teil des offiziellen MCP-Python-SDK. Du installierst das SDK, schreibst eine normale Funktion, markierst sie als Werkzeug — fertig ist ein lokaler Server, den du in Claude Code einbindest. Ein minimales Beispiel steht unten.

Dieser Artikel ist die Python-Praxis zum konzeptionellen Überblick in MCP-Server erstellen: Dort klärst du, welche SDKs es gibt und ob sich ein eigener Server lohnt — hier baust du einen konkret in Python. Was ein MCP-Server überhaupt ist, erklärt Was ist ein MCP-Server.

Schritt 1: Das SDK installieren

Das MCP-Python-SDK bringt FastMCP mit. Du installierst es mit pip, Pythons Paketmanager (Stand Juli 2026):

pip install "mcp[cli]"

Der Zusatz [cli] bringt Hilfswerkzeuge fürs Testen mit. Arbeite am besten in einer virtuellen Umgebung, damit das Paket dein System sauber lässt.

Schritt 2: Ein Tool definieren

Ein „Tool" ist eine Fähigkeit, die dein Server dem Agenten anbietet. Mit FastMCP ist das eine gewöhnliche Python-Funktion mit einem Dekorator davor. Leg eine Datei server.py an:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Mein Demo-Server")

@mcp.tool()
def addiere(a: int, b: int) -> int:
    """Addiert zwei Zahlen und gibt das Ergebnis zurück."""
    return a + b

if __name__ == "__main__":
    mcp.run()

Drei Dinge lohnen einen Blick: Der Dekorator @mcp.tool() macht aus der Funktion ein Werkzeug, das der Agent aufrufen darf. Die Typangaben (a: int) sagen dem Agenten, welche Eingaben erwartet werden. Und der Docstring — der Text in den Anführungszeichen — beschreibt dem Agenten, was das Tool tut. Diese Beschreibung ist wichtig: Nur wenn sie klar ist, ruft der Agent das Tool im richtigen Moment auf.

Schritt 3: Lokal testen

Bevor ein Agent ins Spiel kommt, prüfst du den Server isoliert. Das MCP-Projekt liefert dafür den MCP Inspector, ein Entwicklerwerkzeug, das deinen Server startet und dir Tools und Antworten interaktiv zeigt. So siehst du sofort, ob addiere sauber registriert ist und korrekt antwortet — getrennt von der Frage, ob der Agent es später richtig nutzt.

Schritt 4: In Claude Code einbinden

Läuft der Server, machst du ihn dem Agenten bekannt. In Claude Code registrierst du einen lokalen MCP-Server über dessen mcp-Befehle, indem du den Startbefehl deines Servers hinterlegst (Stand Juli 2026) — die genaue Syntax steht in der Claude-Code-Dokumentation. Danach taucht dein addiere-Tool in der Werkzeugliste auf, und der Agent ruft es auf, sobald eine passende Aufgabe kommt.

Der Server läuft dabei lokal und spricht über stdio — die Standardein- und -ausgabe — mit dem Agenten. Kein Netzwerk, keine offenen Ports, keine Cloud nötig.

Wie geht es weiter?

Das Beispiel ist bewusst winzig. Von hier aus sind die nächsten Schritte:

  • Echte Logik statt Addition: ein Tool, das eine Datei liest, eine interne API abfragt oder eine Berechnung anstellt.
  • Mehrere Tools: einfach weitere Funktionen mit @mcp.tool() versehen.
  • Fehlerbehandlung und Zugriffsgrenzen: je näher das Tool an echten Daten arbeitet, desto wichtiger wird, was es nicht darf.

Zwei Stolpersteine tauchen dabei immer wieder auf. Erstens die Tool-Beschreibung: Ist der Docstring vage, ruft der Agent das Tool zur falschen Zeit oder gar nicht auf — formulier ihn so konkret wie eine gute Bedienungsanleitung. Zweitens der Zuschnitt der Rechte: Ein Tool, das Dateien schreibt oder externe Dienste anspricht, sollte nur das Nötigste dürfen. Je näher dein Server an echten Daten arbeitet, desto mehr Gewicht bekommt die Frage, was er bewusst nicht tun darf.

Ehe du selbst baust, lohnt der Blick in die MCP-Server-Liste: Für viele gängige Dienste gibt es bereits gepflegte Server. Ein eigener lohnt sich vor allem für interne Systeme — die Firmendatenbank, ein eigenes API, spezielle Hardware. Wie sich ein Server gegenüber einem Skill abgrenzt, klärt MCP-Server vs. Skills; passende Bausteine findest du in der Kategorie Automatisierung.


FAQ

Häufige Fragen

Was ist FastMCP?
FastMCP ist der komfortable Teil des offiziellen MCP-Python-SDK: Du markierst eine normale Python-Funktion als Werkzeug, und FastMCP kümmert sich um das Protokoll drumherum — Registrierung, Typen, Kommunikation mit dem Agenten. So schreibst du Logik statt Boilerplate (Stand Juli 2026).
Welche Python-Version brauche ich für einen MCP-Server?
Eine aktuelle Python-3-Version. Das MCP-Python-SDK setzt ein modernes Python voraus; wenn du in den letzten Jahren installiert hast, passt es meist. Die genaue Mindestversion steht in der SDK-Dokumentation — prüf sie dort, falls die Installation streikt.
Muss der Server im Internet laufen?
Nein. Ein lokaler MCP-Server spricht über stdio — die Standardein- und -ausgabe — direkt mit dem Agenten auf deinem Rechner. Einen im Netz erreichbaren HTTP-Server brauchst du nur, wenn andere Nutzer oder Cloud-Agenten darauf zugreifen sollen.
Wie teste ich meinen Python-MCP-Server?
Am besten mit dem MCP Inspector, einem Entwicklerwerkzeug des MCP-Projekts, das deinen Server startet und dir Tools und Antworten interaktiv anzeigt — bevor ein Agent im Spiel ist. So trennst du Fehler im Server von Fehlern im Zusammenspiel mit dem Agenten.
Ist Python die beste Sprache für MCP-Server?
Es ist eine der zugänglichsten, vor allem dank FastMCP. Offizielle SDKs gibt es aber auch für andere Sprachen wie TypeScript (Stand Juli 2026). Nimm die Sprache, die du beherrschst und in der das anzubindende System am einfachsten erreichbar ist — der Rest ist Geschmack.

Weiterlesen: MCP-Server erstellen: Der Einstieg · Was ist ein MCP-Server? Einfach erklärt · MCP-Server-Liste: Die wichtigsten Server im Überblick