einfachskills_

MCP · 6 Min.

MCP-Server erstellen: Der Einstieg

Einen MCP-Server erstellst du mit einem offiziellen SDK — etwa dem Python- oder TypeScript-SDK des MCP-Projekts. Du definierst Tools als Funktionen, startest den Server lokal über stdio und registrierst ihn in deinem Agent, zum Beispiel mit claude mcp add in Claude Code. Ein minimaler Server ist überschaubar; komplex wird erst der Betrieb im Netz.

Was baue ich da eigentlich?

Ein MCP-Server ist ein Programm, das einem KI-Agenten Fähigkeiten anbietet — meist in Form von Tools, also aufrufbaren Funktionen. Das Model Context Protocol (MCP) regelt, wie Agent und Server miteinander sprechen; die Grundlagen erklärt Was ist ein MCP-Server? Dein Job als Entwickler ist angenehm klein: Du schreibst die Funktionen, das SDK übernimmt das Protokoll.

Ehrliche Vorbemerkung: Bevor du baust, schau in die MCP-Server-Liste und das offizielle Verzeichnis — für viele Dienste existiert schon ein guter Server. Selbst bauen lohnt sich vor allem für interne Systeme, die sonst niemand anbindet.

Welches SDK nehme ich?

Das MCP-Projekt pflegt offizielle SDKs in mehreren Sprachen, darunter Python und TypeScript — die vollständige Liste steht auf modelcontextprotocol.io. Für den Einstieg hat sich das Python-SDK bewährt: Sein FastMCP-Interface macht aus einer dekorierten Funktion automatisch ein vollständiges Tool samt Beschreibung für den Agent.

So sieht ein minimaler Server in Python aus (sinngemäß, die aktuelle Syntax steht in der offiziellen Doku):

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("rechner")

@mcp.tool()
def addiere(a: int, b: int) -> int:
    """Addiert zwei Zahlen."""
    return a + b

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

Die Docstrings sind keine Deko: Der Agent liest sie, um zu entscheiden, wann er das Tool aufruft — dieselbe Logik wie bei der description eines Skills.

Wie teste ich den Server lokal?

Der übliche Weg in drei Schritten:

  1. Inspector starten: Der MCP Inspector aus dem offiziellen Projekt startet deinen Server und zeigt dir interaktiv, welche Tools er anbietet und was sie zurückgeben — ohne dass ein Agent beteiligt ist.
  2. Im Agent registrieren: In Claude Code genügt ein Terminal-Befehl wie claude mcp add rechner -- python server.py. Andere Clients wie Claude Desktop oder Cursor nutzen eine Konfigurationsdatei.
  3. Auslösen: Stelle dem Agent eine Aufgabe, die zum Tool passt („addiere 17 und 25 mit dem rechner-Tool") und prüfe, ob er es aufruft.

Läuft das, hast du das Grundgerüst — alles Weitere ist normales Software-Handwerk: Fehlerbehandlung, saubere Rückgaben, Tests.

Ein Hinweis aus der Praxis: Teste nicht nur, ob der Agent das Tool aufruft, sondern auch wann. Formuliere mehrere Aufgaben, die zum Tool passen sollten, und ein paar, die es nicht tun — löst der Agent falsch aus, ist meist die Tool-Beschreibung zu vage oder zu breit. Dieses Nachschärfen kostet oft mehr Zeit als der Code selbst.

Wo wird es anspruchsvoll?

Drei Themen trennen den Wochenend-Server vom Produktiv-Einsatz:

  • Rechte und Sicherheit: Dein Server führt aus, was der Agent anfragt. Begrenze, was Tools dürfen — Whitelists statt freier Pfade, Lesezugriff statt Schreibzugriff, wo es reicht.
  • Entfernter Betrieb: Sobald der Server nicht mehr lokal läuft, brauchst du HTTP-Transport und Authentifizierung. Das MCP-Projekt spezifiziert dafür OAuth-basierte Verfahren — deutlich mehr Aufwand als stdio.
  • Tool-Design: Wenige, klar beschriebene Tools schlagen viele generische. Jedes Tool belegt Kontext im Agent; ein Server mit dreißig halbgaren Tools macht den Agent schlechter, nicht besser.

Die maßgebliche Quelle für alle Details ist die offizielle Dokumentation unter modelcontextprotocol.io — sie enthält Tutorials für Server, Clients und die Spezifikation selbst.

Muss es überhaupt ein Server sein?

Wenn dein Ziel ist, dem Agent eine Arbeitsweise beizubringen statt einen Zugang zu verschaffen, bist du mit einem Agent Skill schneller am Ziel — einer Markdown-Datei ohne laufenden Prozess. Die Abgrenzung erklärt Skills vs. Plugins vs. MCP.


FAQ

Häufige Fragen

Welche Programmiersprache eignet sich am besten für MCP-Server?
Die mit dem reifsten SDK, das du beherrschst. Offizielle SDKs gibt es unter anderem für Python und TypeScript — beide sind gut dokumentiert und decken Tools, Ressourcen und Prompts ab. Für den Einstieg ist das Python-SDK mit FastMCP besonders zugänglich.
Wie lange dauert es, einen einfachen MCP-Server zu bauen?
Ein minimaler Server mit einem einzigen Tool ist mit dem offiziellen SDK in unter einer Stunde machbar — der Großteil davon ist Setup. Aufwendig wird es erst bei Authentifizierung, Fehlerbehandlung und entfernt gehosteten Servern.
Muss mein MCP-Server im Internet erreichbar sein?
Nein. Die meisten selbstgebauten Server laufen lokal und sprechen mit dem Agent über stdio, die Standardein- und -ausgabe. Einen HTTP-Server im Netz brauchst du nur, wenn andere Nutzer oder Cloud-Agents darauf zugreifen sollen.
Wie debugge ich einen MCP-Server?
Das MCP-Projekt liefert den MCP Inspector mit — ein Entwicklerwerkzeug, das deinen Server startet und dir Tools, Ressourcen und Antworten interaktiv anzeigt, bevor ein Agent ins Spiel kommt.
Lohnt sich ein eigener Server überhaupt, oder nehme ich einen fertigen?
Erst suchen, dann bauen: Für die meisten gängigen Dienste existiert bereits ein offizieller oder gut gepflegter Server. Ein eigener lohnt sich vor allem für interne Systeme — die Firmendatenbank, ein internes API, spezielle Hardware.

Weiterlesen: MCP-Server-Liste: Die wichtigsten Server im Überblick · Skills vs. Plugins vs. MCP: Die Unterschiede einfach erklärt