Claude MCP-Konfigurationsleitfaden: Code, Desktop, Server und JSON

Claude MCP-Konfigurationsleitfaden: Code, Desktop, Server und JSON

Die Claude MCP-Konfiguration verbindet Claude Code oder Claude Desktop mit externen Tools wie Datenbanken, Code-Ausführern, APIs und benutzerdefinierten Servern. Verwenden Sie claude mcp add für Claude Code oder bearbeiten Sie die JSON-Konfiguration von Claude Desktop, und überprüfen Sie dann den Transport, den Geltungsbereich und die Tool-Liste. Dieser Leitfaden behandelt beide Einrichtungspfade, häufige Fehler, die Überlegungen zur Tool-Nutzung und die sandboxierte Ausführung.

Wie die Claude MCP-Konfiguration funktioniert

MCP ist ein offener Standard von Anthropic, der Sprachmodellen eine einheitliche Möglichkeit bietet, externe Tools aufzurufen. Vor MCP benötigte jede KI-App individuellen Klebecode für jedes Tool, das sie verwenden wollte. Mit MCP stellt jeder konforme Server seine Fähigkeiten über ein standardisiertes Erkennungs- und Aufrufprotokoll zur Verfügung, und jeder konforme Host – einschließlich Claude – kann sie ohne Integrationsarbeit pro Tool nutzen.

Praktisch gesehen: Wenn Sie einen MCP-Server zu Claude hinzufügen, teilen Sie dem Claude-Host mit, wo er eine Reihe von Tools findet. Claude kann diese Tools dann während einer Sitzung auflisten und bei Bedarf mit Namen 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
Ressource Nur-Lese-Daten, die der Server als Kontext bereitstellt Eine Datei, eine Datenbankzeile, ein Datensatz
Prompt Vorgefertigte Anweisungsvorlagen, die mit dem Server gebündelt sind Eine systemweite Aufgabenbeschreibung

Für die meisten Entwickler sind Tools am wichtigsten. Ressourcen 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 zu bearbeiten.

claude mcp add – die grundlegende Form

claude mcp add <name> <command> [args...]

Zum Beispiel, um einen lokalen Python-MCP-Server hinzuzufügen:

claude mcp add my-tools python /path/to/mcp_server.py

Dies registriert einen Server namens my-tools, der python /path/to/mcp_server.py mit stdio-Transport ausführt. Claude Code startet den Prozess, wenn Sie eine Sitzung beginnen, und hält ihn für die Dauer am Leben.

Umgebungsvariablen übergeben

Viele MCP-Server benötigen API-Schlüssel oder Endpunkt-URLs. Verwenden Sie --env, um sie bei der Registrierung zu übergeben:

claude mcp add my-tools python /path/to/mcp_server.py \
  --env API_KEY=your_key_here \
  --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. Codieren Sie Geheimnisse nicht direkt im Serverbefehl.

claude mcp add json – Registrierung anhand einer JSON-Spezifikation

Wenn Sie bereits eine Server-Spezifikation als JSON haben (üblich beim Teilen von Konfigurationen im Team), können Sie sie direkt übergeben:

echo '{
  "command": "python",
  "args": ["/path/to/mcp_server.py"],
  "env": {
    "API_KEY": "your_key"
  }
}' | claude mcp add my-tools --json

Oder eine Datei übergeben:

claude mcp add my-tools --json < server-spec.json

Dies ist äquivalent zur positionellen Form, liefert Ihnen 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

Geltungsbereich: 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 /path/to/mcp_server.py --scope project

Projektbezogene Server sind nützlich, wenn verschiedene Projekte unterschiedliche Tools benötigen und Sie die Konfigurationen getrennt 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-Fähigkeiten in eine größere Agenten-Pipeline einbinden möchten, in der ein anderer Host die Tool-Aufrufe orchestriert.

Konfiguration der MCP-Server für Claude Desktop

Claude Desktop speichert die MCP-Server-Konfiguration in einer JSON-Datei. Der Speicherort hängt von Ihrem 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": ["/path/to/mcp_server.py"],
      "env": {
        "API_KEY": "your_key_here"
      }
    }
  }
}

Jeder Schlüssel unter mcpServers ist der Server-Name, den Claude zur Identifizierung verwendet. Sie können so viele Server registrieren, wie Sie benötigen – Claude Desktop lädt alle beim Start.

Nach dem Bearbeiten der Datei starten Sie Claude Desktop neu, damit die Änderungen wirksam werden. Sie sehen ein Hammersymbol im Chat-Eingabebereich, wenn MCP-Tools erfolgreich geladen wurden.

Hinzufügen eines entfernten MCP-Servers per SSE

Für entfernte Server, die Server-Sent Events (SSE) anstelle von stdio verwenden, ist die Konfigurationsform etwas anders:

{
  "mcpServers": {
    "remote-tools": {
      "url": "https://your-mcp-server.example.com/sse"
    }
  }
}

Einige entfernte Server erfordern eine Authentifizierung. Übergeben Sie ein Bearer-Token im Headers-Feld, wenn der Server dies erwartet:

{
  "mcpServers": {
    "remote-tools": {
      "url": "https://your-mcp-server.example.com/sse",
      "headers": {
        "Authorization": "Bearer your_token_here"
      }
    }
  }
}

MCP-Transporttypen: stdio vs. SSE

MCP-Server kommunizieren mit dem Claude-Host über einen von zwei Transportmechanismen:

  • stdio — Der Server wird als Unterprozess auf demselben Rechner ausgeführt. Der Host startet den Prozess und liest/schreibt JSON-RPC-Nachrichten über Standardeingabe/-ausgabe. Dies ist der Standard für lokale Server und am einfachsten einzurichten.
  • SSE (Server-Sent Events) — Der Server wird remote ausgeführt und stellt einen HTTP-Endpunkt bereit. Der Host stellt eine Verbindung zu einer URL her und empfängt Tool-Antworten als Stream. Dies funktioniert maschinenü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 Netzwerkanforderung, und der Serverprozess wird für Sie verwaltet. SSE wird wertvoll, wenn ein Team einen einzelnen MCP-Server gemeinsam nutzen möchte oder das Tool selbst in einer bestimmten Netzwerkumgebung ausgeführt werden muss.

Wie Claude über MCP-Tools nachdenkt

Wenn eine Sitzung startet und MCP-Server registriert sind, fragt Claude jeden Server nach seinen 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 auf, wenn die Konversation oder Aufgabe es erfordert, basierend darauf, was die Tool-Beschreibung aussagt.

Der Tool-Aufruffluss funktioniert wie folgt:

  1. Der Benutzer sendet eine Nachricht oder Aufgabe.
  2. Claude bewertet, ob ein registriertes Tool helfen kann.
  3. Wenn ja, erstellt Claude einen Tool-Aufruf mit den entsprechenden Argumenten.
  4. Der MCP-Host sendet den Aufruf an den richtigen Server.
  5. Der Server führt aus und gibt ein Ergebnis zurück.
  6. Claude integriert das Ergebnis in seine Überlegungen und fährt fort.

Diese Schleife kann in einem einzigen Durchlauf mehrfach vorkommen – Claude kann Tool-Aufrufe verketten, Ergebnisse eines Tools verwenden, um Argumente für ein anderes zu informieren, und über mehrere Server in derselben Sitzung 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 es Claude, Aufrufe genau zu leiten, ohne zu raten.

Ausführung von Tools in einer Sandbox

Wenn MCP-Tools Code ausführen – Python-Skripte, Shell-Befehle, Dateioperationen – wirft die Ausführung auf Ihrem lokalen Rechner Fragen zur Isolation auf. Ein Tool mit Dateisystemzugriff, Prozessstart oder Netzwerkaufrufen hat eine große Reichweite, wenn es sich fehlverhält oder in einen unerwarteten Pfad geführt wird.

Novita AI Agent Sandbox adressiert dies, indem es 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 Ressourcenlimits. Der Agent kann innerhalb dieser Grenzen Dateien schreiben, Code ausführen und interne APIs aufrufen, ohne den Host-Rechner zu berühren.

Der in der Sandbox laufende MCP-Server 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, worauf das Tool tatsächlich läuft.

Wichtige Merkmale der Novita Sandbox für MCP-Bereitstellungen:

  • Schneller Start: Instanzen starten in unter ~200 ms, was die Tool-Roundtrip-Latenz niedrig hält
  • Abrechnung pro Sekunde: Sie zahlen nur für die aktive Ausführungszeit, nicht für ungenutzte Reservierungen
  • Isoliertes Dateisystem: Jede Sandbox-Instanz hat einen eigenen Arbeitsbereich, der Datenlecks zwischen Sitzungen verhindert
  • Konfigurierbare Netzwerkrichtlinie: Steuern Sie, welche externen Dienste das Tool erreichen kann

Eine Schritt-für-Schritt-Anleitung zum Erstellen eines MCP-Servers mit einer Novita Sandbox finden Sie unter Build a Remote Code Execution MCP Server with Novita Sandbox and mcp-use Library.

Verwenden der Novita LLM-API für die Tool-Nutzungs-Argumentation in MCP

Während Claudes eigene Modelle die Tool-Nutzung nativ handhaben, möchten Sie vielleicht einige MCP-Tool-Nutzungs-Überlegungen ü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-Aufrufe unterstützen.

Dies passt in zwei Arten in MCP-Architekturen:

1. Als Reasoning-Modell hinter einem benutzerdefinierten MCP-Host: Wenn Sie Ihren eigenen MCP-Host erstellen (anstatt Claude Code oder Claude Desktop zu verwenden), können Sie die Novita LLM-API verwenden, um die Modellebene zu betreiben. Der Host ruft die Novita-API mit der Tool-Liste und der Konversation 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="your_novita_api_key",
)

response = client.chat.completions.create(
    model="meta-llama/llama-3.3-70b-instruct",
    messages=[{"role": "user", "content": "List the available tools and run a quick test"}],
    tools=[
        {
            "type": "function",
            "function": {
                "name": "list_models",
                "description": "List all available models from the API.",
                "parameters": {"type": "object", "properties": {}},
            }
        }
    ],
    tool_choice="auto",
)

2. Als LLM innerhalb eines MCP-Tools selbst: Ein MCP-Tool kann die Novita LLM-API intern verwenden – zum Beispiel ein Zusammenfassungstool, ein Klassifizierungstool 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 Haupt-Agenten-Modellkosten getrennt und ermöglicht es 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 nicht in Claude Desktop angezeigt

Die häufigste Ursache ist ein JSON-Syntaxfehler in claude_desktop_config.json. Verwenden Sie vor dem Speichern einen JSON-Validator. Bereits 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 mit npm install -g @anthropic-ai/claude-code und überprüfen Sie mit claude --version.

Tools aufgelistet, aber nie aufgerufen

Claude ruft ein Tool nur 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 Details hinzu: was das Tool tut, wann es verwendet werden soll, wie seine Eingaben und Ausgaben aussehen.

Server wird sofort nach dem Start beendet

Ü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 in einigen Konfigurationen die stderr des Unterprozesses.

SSE-Verbindung verweigert

Stellen Sie sicher, dass die Server-URL vom Rechner, auf dem Claude läuft, erreichbar ist, dass der Server tatsächlich auf dem erwarteten Port lauscht und dass alle erforderlichen Authentifizierungs-Header 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 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 bietet native MCP-Unterstützung über den Unterbefehl claude mcp. Verwenden Sie claude mcp add, um Server zu registrieren, claude mcp list, um zu sehen, was registriert ist, und claude mcp remove, um die Registrierung aufzuheben. 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> <command> [args...] 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. Nach dem Hinzufügen starten Sie eine neue Claude Code-Sitzung – die Tools sind sofort verfügbar.

Was ist claude mcp serve?

claude mcp serve führt Claude Code selbst als MCP-Server aus 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 verwenden. Dies ist nützlich beim Aufbau von Multi-Agenten-Systemen, in 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 kümmert sich nicht darum, welcher Host eine Verbindung herstellt. Für stdio-Server können sowohl Claude Code (über claude mcp add) als auch Claude Desktop (über claude_desktop_config.json) denselben Befehl starten. Für SSE-Server kann jeder Host, der die URL erreichen kann, eine Verbindung herstellen.

Woher weiß Claude, welches MCP-Tool es aufrufen soll?

Beim Start einer Sitzung 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 dem entsprechen, was benötigt wird. 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 das gilt auch für Claude Code oder Claude Desktop. In der Praxis können Dutzende von Servern mit Hunderten von Tools den Sitzungsstart verlangsamen (Tool-Erkennung läuft beim Start) und das Rauschen in Claudes Tool-Auswahl erhöhen. Halten Sie das Tool-Set 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 Unterprozess aus; der Host kommuniziert über stdin/stdout. SSE stellt eine Verbindung zu einem entfernten HTTP-Endpunkt her und empfängt Antworten als Stream. Stdio ist einfacher für die lokale Entwicklung; SSE ist besser für entfernte, gemeinsame oder Produktionsumgebungen.


Empfohlene Artikel