promptgarten 🌱
🌍 EN
Guide●●●7 Min · +65 XP

Einen eigenen MCP-Server schreiben

Ein MCP-Server macht Tools, Daten oder Vorlagen für jeden MCP-fähigen Client verfügbar – von Claude Code bis Antigravity.

Drei Bausteine

Ein MCP-Server bietet einem Client wie Claude Code oder Antigravity drei Arten von Fähigkeiten an: Tools (Funktionen, die das Modell aktiv aufruft, z. B. eine Datenbank-Abfrage), Resources (passive Daten wie Dateien oder API-Antworten, die die Anwendung bereitstellt) und Prompts (fertige Vorlagen, die Nutzer:innen gezielt auswählen).

Minimaler Ablauf

Ein Server läuft als eigener Prozess und spricht mit dem Client über ein festgelegtes Protokoll (typischerweise Standard-I/O oder HTTP). Der Client fragt beim Start tools/list ab, bekommt eine Liste von Tool-Definitionen mit JSON-Schema für die Parameter zurück und ruft bei Bedarf tools/call mit den passenden Argumenten auf. Dein Server muss also nur: Tools mit Namen, Beschreibung und Eingabe-Schema registrieren, und bei einem Aufruf das Ergebnis zurückgeben.

Offizielle SDKs

Die Organisation modelcontextprotocol pflegt offizielle SDKs für Python, TypeScript, Java, Kotlin, C#, Go, PHP, Ruby, Rust und Swift – du musst das Protokoll nicht von Hand implementieren.

Anbindung an einen Client

Ein fertiger Server wird in der Konfiguration des Clients eingetragen (z. B. mcpServers in Claude Code oder mcp_config.json in Antigravity), meist mit Befehl und Argumenten zum Starten des Serverprozesses. Danach taucht er im MCP-Manager des Clients auf, und seine Tools stehen dem Modell zur Verfügung.

BEISPIEL

Minimaler Python-Server-Kern (mit dem offiziellen SDK): Ein `@mcp.tool()`-Dekorator registriert eine Funktion `get_forecast(latitude, longitude)` als Tool – der Client entdeckt sie automatisch über `tools/list` und ruft sie bei Bedarf auf.

🛠️ ÜBUNG — MACH DAS BEI DIR

Baue mit einem offiziellen MCP-SDK (z. B. Python) einen minimalen Server mit genau einem Tool und verbinde ihn mit einem MCP-fähigen Client.

  1. Installiere das offizielle SDK für deine Sprache und lege einen Server mit einem einzigen Tool an (z. B. eine Funktion, die das aktuelle Datum zurückgibt).
  2. Trage den Server in die MCP-Konfiguration deines Clients ein (z. B. Claude Code oder Antigravity) mit Startbefehl und Argumenten.
  3. Öffne den MCP-Manager im Client (z. B. /mcp), prüfe ob der Server verbunden ist, und lass das Modell dein Tool aufrufen.

SELBST-CHECK

  • Hat der Client dein Tool über tools/list automatisch erkannt, ohne dass du es manuell eingetragen hast?
  • Was passiert, wenn dein Server-Prozess (bei STDIO-Transport) versehentlich auf stdout statt stderr loggt?
  • Könntest du denselben Server jetzt auch in einem anderen MCP-Client anbinden, ohne ihn neu zu schreiben?

KURZ-QUIZ

Was unterscheidet ein MCP-„Tool" von einer MCP-„Resource"?

QUELLEN

VERWANDTE THEMEN

MCP (Model Context Protocol): Wie KI-Tools sich verbinden ●●○Tool Use: Wie LLMs Werkzeuge aufrufen ●●○Claude Code: Der CLI-Agent von Anthropic ●●○Plugins: Erweiterungen für KI-Coding-Tools ●○○