- Was MCP in Claude bewirkt
- Hinzufügen von MCP-Servern in Claude Code
- Konfiguration von MCP-Servern in Claude Desktop
- MCP-Transportarten: stdio vs. SSE
- Wie Claude über MCP-Tools nachdenkt
- Ausführung von Tools in einer Sandbox
- Verwendung der Novita LLM API für MCP Tool-Use-Reasoning
- Häufige Probleme und Lösungen
- FAQ
- Empfohlene Artikel
Claude unterstützt nativ das Model Context Protocol (MCP) und ermöglicht es Ihnen, externe Tools – Datenbanken, Code-Ausführungsumgebungen, APIs und benutzerdefinierte Server – direkt in Ihren Workflow einzubinden. Ob Sie Claude Code im Terminal oder Claude Desktop auf Ihrem Rechner verwenden, die MCP-Konfiguration funktioniert auf Protokollebene gleich, mit kleinen Unterschieden bei der Registrierung der Server. Diese Anleitung behandelt beide Wege: die claude mcp add CLI-Befehle für Claude Code und die JSON-Konfigurationsdatei für Claude Desktop, sowie die Einbindung von Tool-Use-Reasoning und Sandbox-Ausführung.
Was MCP in Claude bewirkt
MCP ist ein offener Standard von Anthropic, der Sprachmodellen eine einheitliche Möglichkeit gibt, externe Tools aufzurufen. Vor MCP benötigte jede KI-Anwendung maßgeschneiderten Klebecode für jedes gewünschte Tool. Mit MCP kann jeder kompatible Server seine Fähigkeiten über ein standardisiertes Erkennungs- und Aufrufprotokoll bereitstellen, und jeder kompatible Host – einschließlich Claude – kann diese nutzen, ohne dass eine Integrationsarbeit pro Tool erforderlich ist.
Praktisch bedeutet das: Wenn Sie einen MCP-Server zu Claude hinzufügen, teilen Sie dem Claude-Host mit, wo eine Reihe von Tools zu finden ist. Claude kann diese Tools dann während einer Sitzung auflisten und bei Bedarf namentlich aufrufen. Der Server übernimmt die Ausführung; Claude übernimmt die Überlegung, wann und wie aufgerufen werden soll.
Drei Kernkonzepte liegen MCP zugrunde:
| Konzept | Was es ist | Beispiel |
|---|---|---|
| Tool | Eine aufrufbare Funktion, die vom Server bereitgestellt wird | run_python, query_db, list_models |
| Resource | Schreibgeschützte Daten, die der Server als Kontext bereitstellt | Eine Datei, eine Datenbankzeile, ein Datensatz |
| Prompt | Vorgefertigte Anweisungsvorlagen, die mit dem Server gebündelt sind | Eine System-Level-Aufgabenbeschreibung |
Für die meisten Entwickler sind Tools das Wichtigste. Resources und Prompts werden relevant, wenn Sie eine strukturiertere Agenten-Pipeline aufbauen.
Hinzufügen von MCP-Servern in Claude Code
Claude Code stellt die MCP-Verwaltung über die Befehlsgruppe claude mcp zur Verfügung. Sie können Server hinzufügen, entfernen und auflisten, ohne manuell eine Konfigurationsdatei bearbeiten zu müssen.
claude mcp add – die grundlegende Form
claude mcp add <name> <befehl> [argumente...]
Zum Beispiel, um einen lokalen Python MCP-Server hinzuzufügen:
claude mcp add my-tools python /pfad/zu/mcp_server.py
Dies registriert einen Server namens my-tools, der python /pfad/zu/mcp_server.py über stdio-Transport ausführt. Claude Code startet den Prozess beim Sitzungsbeginn und hält ihn für die Dauer der Sitzung am Leben.
Übergeben von Umgebungsvariablen
Viele MCP-Server benötigen API-Schlüssel oder Endpunkt-URLs. Verwenden Sie --env, um diese bei der Registrierung zu übergeben:
claude mcp add my-tools python /pfad/zu/mcp_server.py \
--env API_KEY=ihr_schluessel_hier \
--env BASE_URL=https://api.example.com
Die Werte werden in der Konfiguration von Claude Code gespeichert und beim Start in den Serverprozess eingefügt. Härten Sie keine Geheimnisse direkt in den Serverbefehl ein.
claude mcp add json – Registrieren über eine JSON-Spezifikation
Wenn Sie bereits eine Serverspezifikation als JSON vorliegen haben (häufig beim Teilen von Konfigurationen im Team), können Sie diese direkt übergeben:
echo '{
"command": "python",
"args": ["/pfad/zu/mcp_server.py"],
"env": {
"API_KEY": "ihr_schluessel"
}
}' | claude mcp add my-tools --json
Oder über eine Datei:
claude mcp add my-tools --json < server-spezifikation.json
Dies ist äquivalent zur positionsbasierten Form, bietet aber ein einzelnes Konfigurationsartefakt, das Sie versionieren und teilen können.
Server auflisten und entfernen
# Alle registrierten Server anzeigen
claude mcp list
# Einen Server entfernen
claude mcp remove my-tools
Gültigkeitsbereich: Projekt vs. Benutzer
Standardmäßig registriert claude mcp add den Server in Ihrer benutzerspezifischen Konfiguration, sodass er in jeder Claude Code-Sitzung verfügbar ist. Um ihn nur für das aktuelle Projekt zu registrieren (gespeichert in .claude/settings.json), fügen Sie --scope project hinzu:
claude mcp add my-tools python /pfad/zu/mcp_server.py --scope project
Projektbezogene Server sind nützlich, wenn verschiedene Projekte unterschiedliche Tools benötigen und Sie Konfigurationen isoliert halten möchten.
claude mcp serve – Claude Code als MCP-Server bereitstellen
Die Richtung funktioniert auch umgekehrt: claude mcp serve startet Claude Code selbst als MCP-Server, sodass ein anderer MCP-Host eine Verbindung herstellen und seine Tools nutzen kann:
claude mcp serve
Dies ist nützlich, wenn Sie Claude Code-Funktionen in eine größere Agenten-Pipeline einbinden möchten, bei der ein anderer Host die Tool-Aufrufe orchestriert.
Konfiguration von MCP-Servern in Claude Desktop
Claude Desktop speichert die MCP-Server-Konfiguration in einer JSON-Datei. Der Speicherort hängt vom Betriebssystem ab:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Wenn die Datei nicht existiert, erstellen Sie sie. Die Struktur sieht wie folgt aus:
{
"mcpServers": {
"my-tools": {
"command": "python",
"args": ["/pfad/zu/mcp_server.py"],
"env": {
"API_KEY": "ihr_schluessel_hier"
}
}
}
}
Jeder Schlüssel unter mcpServers ist der Servername, den Claude zur Identifizierung verwendet. Sie können beliebig viele Server registrieren – Claude Desktop lädt alle beim Start.
Nachdem Sie die Datei bearbeitet haben, starten Sie Claude Desktop neu, damit die Änderungen wirksam werden. Sie sehen ein Hämmerchen-Symbol im Chat-Eingabebereich, wenn MCP-Tools erfolgreich geladen wurden.
Hinzufügen eines entfernten MCP-Servers über SSE
Bei entfernten Servern, die den Server-Sent-Events (SSE)-Transport anstelle von stdio verwenden, ist die Konfigurationsform leicht abweichend:
{
"mcpServers": {
"remote-tools": {
"url": "https://ihr-mcp-server.example.com/sse"
}
}
}
Manche entfernten Server erfordern eine Authentifizierung. Übergeben Sie ein Bearer-Token im Headers-Feld, wenn der Server dies erwartet:
{
"mcpServers": {
"remote-tools": {
"url": "https://ihr-mcp-server.example.com/sse",
"headers": {
"Authorization": "Bearer ihr_token_hier"
}
}
}
}
MCP-Transportarten: stdio vs. SSE
MCP-Server kommunizieren mit dem Claude-Host über einen von zwei Transportmechanismen:
stdio – Der Server läuft als Subprozess auf demselben Rechner. Der Host startet den Prozess und liest/schreibt JSON-RPC-Nachrichten über die Standardeingabe/-ausgabe. Dies ist der Standard für lokale Server und am einfachsten einzurichten.
SSE (Server-Sent Events) – Der Server läuft entfernt und stellt einen HTTP-Endpunkt bereit. Der Host verbindet sich mit einer URL und erhält Tool-Antworten als Stream. Dies funktioniert rechnerübergreifend und ist die richtige Wahl für gemeinsame Team-Infrastruktur oder gehostete Tool-Dienste.
Für die meisten einzelnen Entwickler, die neu einsteigen, ist stdio einfacher – keine Netzwerkanforderungen, und der Serverprozess wird für Sie verwaltet. SSE wird wertvoll, wenn ein Team einen einzelnen MCP-Server gemeinsam nutzen möchte oder wenn das Tool selbst in einer bestimmten Netzwerkumgebung laufen muss.
Wie Claude über MCP-Tools nachdenkt
Wenn eine Sitzung startet und MCP-Server registriert sind, fragt Claude bei jedem Server die verfügbaren Tools ab. Dies erzeugt eine Liste von Tool-Namen und JSON-Schema-Beschreibungen. Claude ruft Tools nicht spekulativ auf – es ruft ein Tool nur dann auf, wenn es die Unterhaltung oder Aufgabe erfordert, basierend darauf, was die Tool-Beschreibung sagt.
Der Tool-Aufrufablauf funktioniert wie folgt:
- Der Benutzer sendet eine Nachricht oder Aufgabe.
- Claude bewertet, ob ein registriertes Tool helfen kann.
- Wenn ja, konstruiert Claude einen Tool-Aufruf mit den entsprechenden Argumenten.
- Der MCP-Host sendet den Aufruf an den richtigen Server.
- Der Server führt aus und gibt ein Ergebnis zurück.
- Claude bezieht das Ergebnis in seine Überlegungen ein und fährt fort.
Diese Schleife kann in einer einzigen Runde mehrfach durchlaufen werden – Claude kann Tool-Aufrufe verketten, Ergebnisse eines Tools zur Information der Argumente eines anderen nutzen und in derselben Sitzung über mehrere Server hinweg aggregieren.
Die Qualität der Tool-Beschreibungen ist hier sehr wichtig. Vage Beschreibungen führen zu verpassten oder falschen Aufrufen. Präzise Beschreibungen, die enthalten, was das Tool tut, was seine Argumente bedeuten und was es zurückgibt, ermöglichen Claude eine genaue Weiterleitung ohne Raten.
Ausführung von Tools in einer Sandbox
Wenn MCP-Tools Code ausführen – Python-Skripte, Shell-Befehle, Dateioperationen – wirft das Ausführen auf Ihrem lokalen Rechner Fragen zur Isolation auf. Ein Tool mit Dateisystemzugriff, Prozess-Spawning oder Netzwerkaufrufen hat eine große Reichweite, wenn es sich falsch verhält oder auf einen unerwarteten Pfad hingewiesen wird.
Der Novita AI Agent Sandbox adressiert dies, indem er isolierte Cloud-Umgebungen für die Tool-Ausführung bereitstellt. Anstatt Ihren MCP-Server lokal auszuführen, deployen Sie ihn in einer Sandbox-Instanz. Die Sandbox erhält ein eigenes Dateisystem, einen eigenen Netzwerkbereich und eigene Ressourcenlimits. Der Agent kann innerhalb dieser Grenzen Dateien schreiben, Code ausführen und interne APIs aufrufen, ohne den Host-Rechner zu berühren.
Der MCP-Server, der innerhalb der Sandbox läuft, stellt seine Tools über SSE-Transport bereit, und Claude verbindet sich remote damit – aus Claudes Perspektive ist die Integration also identisch. Der Unterschied liegt ausschließlich darin, auf welcher Umgebung das Tool tatsächlich läuft.
Wesentliche Merkmale der Novita Sandbox für MCP-Bereitstellungen:
- Schneller Start: Instanzen starten in unter ~200ms, wodurch die Tool-Roundtrip-Latenz niedrig bleibt
- Abrechnung pro Sekunde: Sie zahlen nur für die tatsächliche Ausführungszeit, nicht für Leerlaufreservierung
- Isoliertes Dateisystem: Jede Sandbox-Instanz hat einen separaten Arbeitsbereich, um Datenlecks zwischen Sitzungen zu verhindern
- Konfigurierbare Netzwerkrichtlinie: Steuern Sie, welche externen Dienste das Tool erreichen kann
Eine Schritt-für-Schritt-Anleitung zum Erstellen eines MCP-Servers, der auf einer Novita Sandbox basiert, finden Sie unter Build a Remote Code Execution MCP Server with Novita Sandbox and mcp-use Library.
Verwendung der Novita LLM API für MCP Tool-Use-Reasoning
Obwohl Claudes eigene Modelle Tool-Use nativ beherrschen, möchten Sie vielleicht das Tool-Use-Reasoning für einige MCP-Aufrufe über ein anderes Modell leiten – aus Kosten-, Latenz- oder Spezialisierungsgründen. Die Novita LLM API bietet einen OpenAI-kompatiblen Endpunkt mit Zugriff auf Modelle, die Funktionsaufrufe und strukturierte Tool-Invocation unterstützen.
Dies fügt sich auf zwei Arten in MCP-Architekturen ein:
1. Als Reasoning-Modell hinter einem benutzerdefinierten MCP-Host: Wenn Sie Ihren eigenen MCP-Host erstellen (statt Claude Code oder Claude Desktop zu verwenden), können Sie die Novita LLM API zur Steuerung der Modellebene nutzen. Der Host ruft die Novita-API mit der Tool-Liste und der Unterhaltung auf; das Modell gibt Tool-Aufrufanweisungen zurück; der Host leitet sie an den MCP-Server weiter.
import openai
client = openai.OpenAI(
base_url="https://api.novita.ai/v3/openai",
api_key="ihr_novita_api_key",
)
response = client.chat.completions.create(
model="meta-llama/llama-3.3-70b-instruct",
messages=[{"role": "user", "content": "Liste die verfügbaren Tools auf und führe einen schnellen Test durch"}],
tools=[
{
"type": "function",
"function": {
"name": "list_models",
"description": "Liste alle verfügbaren Modelle der API auf.",
"parameters": {"type": "object", "properties": {}},
}
}
],
tool_choice="auto",
)
2. Als LLM innerhalb eines MCP-Tools selbst: Ein MCP-Tool kann die Novita LLM API intern nutzen – zum Beispiel ein Zusammenfassungstool, ein Klassifikationstool oder ein Tool, das Code generiert. Das Tool akzeptiert Eingaben vom Agenten, ruft die Novita-API auf und gibt das Ergebnis zurück. Dies hält die Modell-Inferenzkosten von den Hauptagent-Modellkosten getrennt und ermöglicht Ihnen, das richtige Modell für jede Unteraufgabe auszuwählen.
Ein praktisches Beispiel für den Bau eines MCP-Servers, der die Novita-API aufruft, finden Sie unter How to Build Your First MCP Server with Novita AI.
Häufige Probleme und Lösungen
Server wird in Claude Desktop nicht angezeigt
Die häufigste Ursache ist ein JSON-Syntaxfehler in claude_desktop_config.json. Verwenden Sie vor dem Speichern einen JSON-Validator. Selbst ein nachgestelltes Komma verhindert das Laden der Datei. Starten Sie Claude Desktop nach jeder Bearbeitung neu.
Befehl claude mcp add nicht gefunden
Dies bedeutet, dass Claude Code entweder nicht installiert oder nicht in Ihrem PATH ist. Installieren Sie Claude Code über npm install -g @anthropic-ai/claude-code und überprüfen Sie mit claude --version.
Tools werden aufgelistet, aber nie aufgerufen
Claude ruft ein Tool nur dann auf, wenn es glaubt, dass das Tool für die aktuelle Aufgabe relevant ist. Wenn Ihre Tool-Beschreibungen zu vage sind, wird Claude sie nicht auswählen. Fügen Sie Spezifika hinzu: Was das Tool tut, wann es verwendet werden soll, wie seine Ein- und Ausgaben aussehen.
Server beendet sich sofort nach dem Start
Überprüfen Sie, ob der Serverbefehl korrekt ist und alle erforderlichen Umgebungsvariablen gesetzt sind. Führen Sie den Befehl direkt in einem Terminal aus, um die tatsächliche Fehlerausgabe zu sehen – Claude Code unterdrückt möglicherweise stderr von Subprozessen in manchen Konfigurationen.
SSE-Verbindung wird abgelehnt
Stellen Sie sicher, dass die Server-URL vom Rechner aus, auf dem Claude läuft, erreichbar ist, dass der Server tatsächlich auf dem erwarteten Port lauscht und dass alle erforderlichen Authentifizierungsheader korrekt konfiguriert sind.
Tool-Aufrufe schlagen mit Validierungsfehlern fehl
Die von Claude übergebenen Argumente müssen mit dem JSON-Schema übereinstimmen, das das Tool deklariert. Überprüfen Sie die inputSchema-Definition Ihres Tools – wenn erforderliche Felder fehlen oder die Typen nicht übereinstimmen, wird der Server den Aufruf ablehnen. Claude konstruiert Argumente basierend auf dem Schema, daher führt ein unvollständiges Schema zu unvollständigen Aufrufen.
FAQ
Unterstützt Claude Code MCP?
Ja. Claude Code hat native MCP-Unterstützung über den Unterbefehl claude mcp. Verwenden Sie claude mcp add zum Registrieren von Servern, claude mcp list zum Anzeigen registrierter Server und claude mcp remove zum Deregistrieren. Führen Sie claude mcp --help für die vollständige Befehlsreferenz aus.
Wie füge ich einen MCP-Server zu Claude Code hinzu?
Führen Sie claude mcp add <name> <befehl> [argumente...] für einen stdio-Server aus, oder verwenden Sie --json, um eine JSON-Spezifikation zu übergeben. Für eine projektbezogene Registrierung fügen Sie --scope project hinzu. Starten Sie nach dem Hinzufügen eine neue Claude Code-Sitzung – die Tools sind sofort verfügbar.
Was ist claude mcp serve?
claude mcp serve startet Claude Code selbst als MCP-Server und stellt seine Fähigkeiten über das MCP-Protokoll bereit. Ein anderer MCP-Host kann dann eine Verbindung zu Claude Code herstellen und es als Tool-Quelle nutzen. Dies ist nützlich beim Aufbau von Multi-Agenten-Systemen, bei denen Claude eine von mehreren Komponenten ist.
Kann ich denselben MCP-Server sowohl in Claude Code als auch in Claude Desktop verwenden?
Ja. Der Server selbst ist es egal, welcher Host sich verbindet. Bei stdio-Servern können sowohl Claude Code (über claude mcp add) als auch Claude Desktop (über claude_desktop_config.json) denselben Befehl starten. Bei SSE-Servern kann sich jeder Host, der die URL erreichen kann, verbinden.
Woher weiß Claude, welches MCP-Tool aufgerufen werden soll?
Zu Sitzungsbeginn fragt Claude alle registrierten Server nach ihren Tool-Listen ab. Jedes Tool hat einen Namen und eine Beschreibung. Bei der Verarbeitung einer Aufgabe wählt Claude Tools basierend darauf aus, ob ihre Beschreibungen zum Benötigten passen. Gut geschriebene Beschreibungen mit klaren Anwendungsfällen führen zu einer genauen Tool-Auswahl; vage Beschreibungen führen zu verpassten oder falschen Aufrufen.
Gibt es eine Begrenzung, wie viele MCP-Server ich registrieren kann?
Die MCP-Spezifikation legt keine harte Grenze fest, und Claude Code oder Claude Desktop tun dies ebenfalls nicht. In der Praxis können Dutzende von Servern mit Hunderten von Tools den Sitzungsstart verlangsamen (Tool-Erkennung läuft beim Start) und das Rauschen bei Claudes Tool-Auswahl erhöhen. Halten Sie den Tool-Satz fokussiert auf das, was ein bestimmtes Projekt oder eine Sitzung tatsächlich benötigt.
Was ist der Unterschied zwischen stdio- und SSE-Transport?
Stdio führt den Server als lokalen Subprozess aus; der Host kommuniziert über stdin/stdout. SSE verbindet sich mit einem entfernten HTTP-Endpunkt und empfängt Antworten als Stream. Stdio ist einfacher für die lokale Entwicklung; SSE ist besser für entfernte, gemeinsam genutzte oder Produktionsbereitstellungen geeignet.
