68 MCP-Server installieren68 MCP-Server installieren
69</h2>69</h2>
70 70
71MCP-Server können je nach Ihren Anforderungen auf mehrere Arten konfiguriert werden:71MCP-Server können je nach Ihren Anforderungen auf verschiedene Weise konfiguriert werden:
72 72
73<h3 id="option-1-add-a-remote-http-server">73<h3 id="option-1-add-a-remote-http-server">
74 Option 1: Einen Remote-HTTP-Server hinzufügen74 Option 1: Einen Remote-HTTP-Server hinzufügen
88 --header "Authorization: Bearer your-token"88 --header "Authorization: Bearer your-token"
89```89```
90 90
91Bei der Konfiguration von MCP-Servern über JSON in `.mcp.json`, `~/.claude.json` oder `claude mcp add-json` akzeptiert das Feld `type` `streamable-http` als Alias für `http`. Die MCP-Spezifikation verwendet den Namen `streamable-http` für dieses Transportprotokoll, sodass Konfigurationen, die aus der Server-Dokumentation kopiert werden, ohne Änderungen funktionieren.91Bei der Konfiguration von MCP-Servern über JSON in `.mcp.json`, `~/.claude.json` oder `claude mcp add-json` akzeptiert das Feld `type` `streamable-http` als Alias für `http`. Die MCP-Spezifikation verwendet den Namen `streamable-http` für dieses Transportprotokoll, sodass Konfigurationen, die aus der Serverdokumentation kopiert werden, ohne Änderungen funktionieren.
92 92
93Ein JSON-Eintrag, der eine `url` hat, aber keinen `type`, ist ein Konfigurationsfehler, da Claude Code einen Eintrag ohne `type` als Stdio-Server liest. Claude Code überspringt diesen Server und meldet `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`. Vor v2.1.202 meldete Claude Code diese Fehlkonfiguration als `command: expected string, received undefined`.93Ein JSON-Eintrag mit einer `url` aber ohne `type` ist ein Konfigurationsfehler, da Claude Code einen Eintrag ohne `type` als Stdio-Server liest. Claude Code überspringt diesen Server und meldet `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`. Vor v2.1.202 meldete Claude Code diese Fehlkonfiguration als `command: expected string, received undefined`.
94 94
95Nur eine SDK-Host-Anwendung, wie eine [Agent SDK](/docs/de/agent-sdk/mcp)-Anwendung oder die [Desktop-App](/docs/de/desktop), kann einen In-Process-Server mit `"type": "sdk"` registrieren. Claude Code überspringt einen `"type": "sdk"`-Eintrag in `.mcp.json`, `~/.claude.json` oder Einstellungen und meldet `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.95Nur eine SDK-Host-Anwendung, wie eine [Agent SDK](/docs/de/agent-sdk/mcp)-Anwendung oder die [Desktop-App](/docs/de/desktop), kann einen In-Process-Server vom Typ `"type": "sdk"` registrieren. Claude Code überspringt einen `"type": "sdk"`-Eintrag in `.mcp.json`, `~/.claude.json` oder Einstellungen und meldet `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`.
96 96
97Bei `--output-format stream-json`-Läufen meldet Claude Code auch einen übersprungenen `--mcp-config`-Eintrag im [`mcp_server_errors`-Feld](/docs/de/headless#stream-responses) des `system/init`-Ereignisses, sodass Skripte erkennen können, dass der Server nie geladen wurde. Dies erfordert Claude Code v2.1.219 oder später.97Bei `--output-format stream-json`-Läufen meldet Claude Code auch einen übersprungenen `--mcp-config`-Eintrag im [`mcp_server_errors`-Feld](/docs/de/headless#stream-responses) des `system/init`-Events, sodass Skripte erkennen können, dass der Server nie geladen wurde. Dies erfordert Claude Code v2.1.219 oder später.
98 98
99<h3 id="option-2-add-a-remote-sse-server">99<h3 id="option-2-add-a-remote-sse-server">
100 Option 2: Einen Remote-SSE-Server hinzufügen100 Option 2: Einen Remote-SSE-Server hinzufügen
104 Das SSE-Transportprotokoll (Server-Sent Events) ist veraltet. Verwenden Sie stattdessen HTTP-Server, wo verfügbar.104 Das SSE-Transportprotokoll (Server-Sent Events) ist veraltet. Verwenden Sie stattdessen HTTP-Server, wo verfügbar.
105</Warning>105</Warning>
106 106
107Einige Dienste stellen nur einen SSE-Endpunkt bereit. Fügen Sie diese mit dem gleichen Befehl `claude mcp add --transport http <name> <url>` wie [ein HTTP-Server](#option-1-add-a-remote-http-server) hinzu. Claude Code versucht zuerst das HTTP-Transportprotokoll und wechselt zu SSE, wenn der Server es nicht akzeptiert. Der automatische Wechsel erfordert Claude Code v2.1.265 oder später.107Einige Dienste stellen nur einen SSE-Endpunkt bereit. Fügen Sie diese mit demselben Befehl `claude mcp add --transport http <name> <url>` wie [einen HTTP-Server](#option-1-add-a-remote-http-server) hinzu. Claude Code versucht zuerst das HTTP-Transportprotokoll und wechselt zu SSE, wenn der Server es nicht akzeptiert. Der automatische Wechsel erfordert Claude Code v2.1.265 oder später.
108 108
109Bei einer früheren Version oder um sich direkt über SSE zu verbinden, übergeben Sie stattdessen `--transport sse`:109Bei einer früheren Version oder um direkt über SSE zu verbinden, übergeben Sie stattdessen `--transport sse`:
110 110
111```bash theme={null}111```bash theme={null}
112# Grundlegende Syntax112# Grundlegende Syntax
115# Echtes Beispiel: Mit Asana verbinden115# Echtes Beispiel: Mit Asana verbinden
116claude mcp add --transport sse asana https://mcp.asana.com/sse116claude mcp add --transport sse asana https://mcp.asana.com/sse
117 117
118# Beispiel mit Authentifizierungs-Header118# Beispiel mit Authentifizierungsheader
119claude mcp add --transport sse private-api https://api.company.com/sse \119claude mcp add --transport sse private-api https://api.company.com/sse \
120 --header "X-API-Key: your-key-here"120 --header "X-API-Key: your-key-here"
121```121```
126 126
127Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.127Stdio-Server werden als lokale Prozesse auf Ihrem Computer ausgeführt. Sie sind ideal für Tools, die direkten Systemzugriff oder benutzerdefinierte Skripte benötigen.
128 128
129Claude Code setzt `CLAUDE_PROJECT_DIR` in der Umgebung des erzeugten Servers auf das Projektstammverzeichnis, sodass Ihr Server projektrelative Pfade auflösen kann, ohne vom Arbeitsverzeichnis abhängig zu sein. Dies ist das gleiche Verzeichnis, das Hooks in ihrer `CLAUDE_PROJECT_DIR`-Variable erhalten. Lesen Sie es aus Ihrem Serverprozess, zum Beispiel `process.env.CLAUDE_PROJECT_DIR` in Node oder `os.environ["CLAUDE_PROJECT_DIR"]` in Python.129Claude Code setzt `CLAUDE_PROJECT_DIR` in der Umgebung des erzeugten Servers auf das Projektstammverzeichnis, sodass Ihr Server projektrelative Pfade auflösen kann, ohne vom Arbeitsverzeichnis abhängig zu sein. Dies ist dasselbe Verzeichnis, das Hooks in ihrer `CLAUDE_PROJECT_DIR`-Variable erhalten. Lesen Sie es aus Ihrem Serverprozess, zum Beispiel `process.env.CLAUDE_PROJECT_DIR` in Node oder `os.environ["CLAUDE_PROJECT_DIR"]` in Python.
130 130
131`CLAUDE_PROJECT_DIR` ist das stabile Projektstammverzeichnis und ändert sich nicht, wenn Sie während einer Sitzung Arbeitsverzeichnisse hinzufügen oder entfernen. Ein Server, der seinen eigenen Dateisystemzugriff auf einen Satz zulässiger Verzeichnisse beschränkt, sollte stattdessen die MCP-Anfrage `roots/list` implementieren. Claude Code antwortet auf `roots/list` mit dem Startverzeichnis der Sitzung plus jedem [zusätzlichen Arbeitsverzeichnis](/docs/de/permissions#working-directories), das Sie mit `--add-dir`, `/add-dir` oder der Einstellung `additionalDirectories` gewährt haben. Claude Code sendet `notifications/roots/list_changed`, wenn sich dieser Satz ändert. Vor v2.1.203 gab `roots/list` nur das Startverzeichnis zurück und Claude Code sendete `notifications/roots/list_changed` nicht.131`CLAUDE_PROJECT_DIR` ist das stabile Projektstammverzeichnis und ändert sich nicht, wenn Sie während einer Sitzung Arbeitsverzeichnisse hinzufügen oder entfernen. Ein Server, der seinen eigenen Dateisystemzugriff auf einen Satz zulässiger Verzeichnisse beschränkt, sollte stattdessen die MCP-Anfrage `roots/list` implementieren. Claude Code antwortet auf `roots/list` mit dem Startverzeichnis der Sitzung plus jedem [zusätzlichen Arbeitsverzeichnis](/docs/de/permissions#working-directories), das Sie mit `--add-dir`, `/add-dir` oder der Einstellung `additionalDirectories` gewährt haben. Claude Code sendet `notifications/roots/list_changed`, wenn sich dieser Satz ändert. Vor v2.1.203 gab `roots/list` nur das Startverzeichnis zurück und Claude Code sendete `notifications/roots/list_changed` nicht.
132 132
133Diese Variable wird in der Umgebung des Servers gesetzt, nicht in der Umgebung von Claude Code selbst, daher erfordert das Referenzieren über `${VAR}`-Erweiterung in `command` oder `args` eines projektgesteuerten `.mcp.json`-Eintrags oder eines lokal- oder benutzergesteuerten Server-Eintrags in `~/.claude.json` einen Standard wie `${CLAUDE_PROJECT_DIR:-.}`. Von Plugins bereitgestellte MCP-Konfigurationen ersetzen `${CLAUDE_PROJECT_DIR}` direkt und benötigen keinen Standard.133Diese Variable wird in der Umgebung des Servers gesetzt, nicht in der Umgebung von Claude Code selbst. Daher erfordert das Referenzieren über `${VAR}`-Expansion in `command` oder `args` eines projektgebundenen `.mcp.json`-Eintrags oder eines lokal- oder benutzergebundenen Servereintrags in `~/.claude.json` einen Standard wie `${CLAUDE_PROJECT_DIR:-.}`. Von Plugins bereitgestellte MCP-Konfigurationen ersetzen `${CLAUDE_PROJECT_DIR}` direkt und benötigen keinen Standard.
134 134
135```bash theme={null}135```bash theme={null}
136# Grundlegende Syntax136# Grundlegende Syntax
142```142```
143 143
144<Note>144<Note>
145 **Wichtig: Trennen Sie Server-Argumente mit `--`**145 **Wichtig: Trennen Sie Serverargumente mit `--`**
146 146
147 Bei Stdio-Servern trennt der `--` (Doppelstrich) Claudes eigene Optionen, wie `--transport`, `--env` und `--scope`, vom Befehl und den Argumenten, die den Server ausführen. Alles nach `--` wird unverändert an den Server übergeben.147 Bei Stdio-Servern trennt `--` (Doppelstrich) Claudes eigene Optionen wie `--transport`, `--env` und `--scope` vom Befehl und den Argumenten, die den Server ausführen. Alles nach `--` wird unverändert an den Server übergeben.
148 148
149 Zum Beispiel:149 Zum Beispiel:
150 150
151 * `claude mcp add --transport stdio myserver -- npx server` → führt `npx server` aus151 * `claude mcp add --transport stdio myserver -- npx server` → führt `npx server` aus
152 * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → führt `python server.py --port 8080` mit `KEY=value` in der Umgebung aus152 * `claude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080` → führt `python server.py --port 8080` mit `KEY=value` in der Umgebung aus
153 153
154 Ohne `--` würde Claude Code versuchen, die Flags des Servers, wie `--port` oben, als seine eigenen Optionen zu analysieren.154 Ohne `--` würde Claude Code versuchen, die Flags des Servers wie `--port` oben als seine eigenen Optionen zu analysieren.
155 155
156 `--env` akzeptiert mehrere `KEY=value`-Paare. Wenn der Servername direkt nach `--env` kommt, liest die CLI den Namen als ein weiteres Paar und lehnt ihn ab, daher platzieren Sie mindestens eine andere Option, wie `--transport stdio`, zwischen `--env` und dem Servernamen.156 `--env` akzeptiert mehrere `KEY=value`-Paare. Wenn der Servername direkt nach `--env` kommt, liest die CLI den Namen als ein weiteres Paar und lehnt ihn ab. Platzieren Sie daher mindestens eine andere Option wie `--transport stdio` zwischen `--env` und dem Servernamen.
157</Note>157</Note>
158 158
159<h3 id="option-4-add-a-remote-websocket-server">159<h3 id="option-4-add-a-remote-websocket-server">
160 Option 4: Einen Remote-WebSocket-Server hinzufügen160 Option 4: Einen Remote-WebSocket-Server hinzufügen
161</h3>161</h3>
162 162
163WebSocket-Server halten eine persistente bidirektionale Verbindung, die sich für Remote-MCP-Server eignet, die Claude unaufgefordert Ereignisse pushen. Verwenden Sie HTTP stattdessen, wenn Ihr Server nur auf Anfragen antwortet, da HTTP OAuth und das Flag `claude mcp add --transport` unterstützt, während WebSocket beides nicht unterstützt.163WebSocket-Server halten eine persistente bidirektionale Verbindung, die sich für Remote-MCP-Server eignet, die Claude unaufgefordert Ereignisse übermitteln. Verwenden Sie HTTP, wenn Ihr Server nur auf Anfragen antwortet, da HTTP OAuth und das Flag `claude mcp add --transport` unterstützt, während WebSocket beides nicht unterstützt.
164 164
165Konfigurieren Sie WebSocket-Server in `.mcp.json` oder mit `claude mcp add-json`:165Konfigurieren Sie WebSocket-Server in `.mcp.json` oder mit `claude mcp add-json`:
166 166
169 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'169 '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'
170```170```
171 171
172Der Eintrag `type: "ws"` akzeptiert die gleichen Felder `url`, `headers`, `headersHelper`, `timeout` und `alwaysLoad` wie `http`. Die Authentifizierung erfolgt nur über Header, daher übergeben Sie ein statisches Token in `headers` oder generieren Sie eines zur Verbindungszeit mit [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Das Flag `claude mcp add --transport` akzeptiert nicht `ws`.172Der Eintrag `type: "ws"` akzeptiert dieselben Felder `url`, `headers`, `headersHelper`, `timeout` und `alwaysLoad` wie `http`. Die Authentifizierung erfolgt nur über Header. Übergeben Sie ein statisches Token in `headers` oder generieren Sie eines beim Verbinden mit [`headersHelper`](#use-dynamic-headers-for-custom-authentication). Das Flag `claude mcp add --transport` akzeptiert `ws` nicht.
173 173
174<h3 id="add-a-server-from-setup-instructions-written-for-another-client">174<h3 id="add-a-server-from-setup-instructions-written-for-another-client">
175 Einen Server aus Setupanweisungen hinzufügen, die für einen anderen Client geschrieben wurden175 Einen Server aus Setupanweisungen hinzufügen, die für einen anderen Client geschrieben wurden
181* **Ein Startbefehl** wie `npx -y @example/mcp-server`: Der Server wird auf Ihrem Computer ausgeführt.181* **Ein Startbefehl** wie `npx -y @example/mcp-server`: Der Server wird auf Ihrem Computer ausgeführt.
182* **Ein `mcpServers`-JSON-Block**: Konfiguration, die für die Einstellungsdatei eines anderen Clients geschrieben wurde.182* **Ein `mcpServers`-JSON-Block**: Konfiguration, die für die Einstellungsdatei eines anderen Clients geschrieben wurde.
183 183
184Jedes ist einer der Eingaben, die die vier Optionen in [MCP-Server installieren](#installing-mcp-servers) benötigen. Finden Sie die Form, die Sie haben, unten, um sie in den Befehl umzuwandeln, den Claude Code akzeptiert. Jeder Befehl schreibt in [lokalen Bereich](#local-scope), es sei denn, Sie fügen `--scope project` oder `--scope user` hinzu.184Jede ist eine der Eingaben, die die vier Optionen in [MCP-Server installieren](#installing-mcp-servers) benötigen. Finden Sie die Form, die Sie haben, unten, um sie in den Befehl umzuwandeln, den Claude Code akzeptiert. Jeder Befehl schreibt in [lokalen Bereich](#local-scope), es sei denn, Sie fügen `--scope project` oder `--scope user` hinzu.
185 185
186<h4 id="from-a-url">186<h4 id="from-a-url">
187 Aus einer URL187 Aus einer URL
188</h4>188</h4>
189 189
190Eine URL bedeutet, dass der Server Remote ist. Für einen `https://`-Endpunkt fügen Sie ihn mit `--transport http` hinzu, oder folgen Sie [Option 2](#option-2-add-a-remote-sse-server), wenn die Anweisungen sagen, dass der Endpunkt SSE verwendet. Für einen `wss://`-Endpunkt verwenden Sie stattdessen [Option 4](#option-4-add-a-remote-websocket-server), da `--transport` nicht `ws` akzeptiert:190Eine URL bedeutet, dass der Server Remote ist. Für einen `https://`-Endpunkt fügen Sie ihn mit `--transport http` hinzu, oder folgen Sie [Option 2](#option-2-add-a-remote-sse-server), wenn die Anweisungen sagen, dass der Endpunkt SSE verwendet. Für einen `wss://`-Endpunkt verwenden Sie stattdessen [Option 4](#option-4-add-a-remote-websocket-server), da `--transport` `ws` nicht akzeptiert:
191 191
192```bash theme={null}192```bash theme={null}
193claude mcp add --transport http example https://mcp.example.com/mcp193claude mcp add --transport http example https://mcp.example.com/mcp
194```194```
195 195
196Wenn die Anweisungen auch einen API-Schlüssel oder Token-Header geben, übergeben Sie ihn mit `--header`, wie in [Option 1](#option-1-add-a-remote-http-server) gezeigt.196Wenn die Anweisungen auch einen API-Schlüssel oder Token-Header geben, übergeben Sie ihn mit `--header` wie in [Option 1](#option-1-add-a-remote-http-server) gezeigt.
197 197
198<h4 id="from-an-npx-uvx-or-binary-command">198<h4 id="from-an-npx-uvx-or-binary-command">
199 Aus einem `npx`-, `uvx`- oder Binary-Befehl199 Aus einem `npx`-, `uvx`- oder Binärbefehl
200</h4>200</h4>
201 201
202Ein Startbefehl bedeutet, dass der Server als lokaler Stdio-Prozess ausgeführt wird. Setzen Sie den gesamten Befehl nach `--`, sodass Claude Code Flags wie `-y` an den Befehl übergibt, der den Server startet, anstatt sie als seine eigenen Optionen zu lesen. Übergeben Sie alle Umgebungsvariablen, die die Anweisungen anfordern, mit `--env`, nach dem Servernamen und vor `--`:202Ein Startbefehl bedeutet, dass der Server als lokaler Stdio-Prozess ausgeführt wird. Platzieren Sie den gesamten Befehl nach `--`, sodass Claude Code Flags wie `-y` an den Befehl übergibt, der den Server startet, anstatt sie als seine eigenen Optionen zu lesen. Übergeben Sie alle Umgebungsvariablen, die die Anweisungen anfordern, mit `--env`, nach dem Servernamen und vor `--`:
203 203
204```bash theme={null}204```bash theme={null}
205claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server205claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server
206```206```
207 207
208[Option 3](#option-3-add-a-local-stdio-server) behandelt den `--`-Separator vollständig.208[Option 3](#option-3-add-a-local-stdio-server) behandelt den `--`-Trennzeichen vollständig.
209 209
210<h4 id="from-an-mcpservers-json-block">210<h4 id="from-an-mcpservers-json-block">
211 Aus einem `mcpServers`-JSON-Block211 Aus einem `mcpServers`-JSON-Block
212</h4>212</h4>
213 213
214Ein `mcpServers`-Block, der für einen anderen MCP-Client wie Claude Desktop geschrieben wurde, verwendet den Wrapper-Schlüssel und die Eintrag-Form, die Claude Code liest. Übergeben Sie `claude mcp add-json` das Objekt innerhalb von `mcpServers`, nicht den Wrapper. Zwei Einträge benötigen zuerst eine Reparatur:214Ein `mcpServers`-Block, der für einen anderen MCP-Client wie Claude Desktop geschrieben wurde, verwendet den Wrapper-Schlüssel und die Eintragform, die Claude Code liest. Übergeben Sie `claude mcp add-json` das Objekt in `mcpServers`, nicht den Wrapper. Zwei Einträge benötigen zuerst eine Reparatur:
215 215
216* **Eine `url` ohne `type`**: Fügen Sie `"type": "http"`, `"type": "sse"` oder `"type": "ws"` hinzu, um dem Endpunkt zu entsprechen. Claude Code liest einen Eintrag ohne `type` als Stdio-Server, daher schlägt ein `url`-Eintrag ohne `type` fehl.216* **Eine `url` ohne `type`**: Fügen Sie `"type": "http"`, `"type": "sse"` oder `"type": "ws"` hinzu, um dem Endpunkt zu entsprechen. Claude Code liest einen Eintrag ohne `type` als Stdio-Server, daher schlägt ein `url`-Eintrag ohne `type` fehl.
217* **Ein Schlüssel mit Zeichen außer Buchstaben, Zahlen, Bindestrichen und Unterstrichen**: Wählen Sie einen Servernamen, der nur diese Zeichen verwendet. Andernfalls ist der Schlüssel der Servername.217* **Ein Schlüssel mit Zeichen außer Buchstaben, Zahlen, Bindestrichen und Unterstrichen**: Wählen Sie einen Servernamen, der nur diese Zeichen verwendet. Andernfalls ist der Schlüssel der Servername.
235claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'235claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'
236```236```
237 237
238[MCP-Server aus JSON-Konfiguration hinzufügen](#add-mcp-servers-from-json-configuration) behandelt Shell-Escaping und das `--scope`-Flag für `add-json`. Um den Server stattdessen mit Ihrem Team zu teilen, fügen Sie `--scope project` hinzu, oder fügen Sie den Eintrag unter `mcpServers` in `.mcp.json` in Ihrem Projektstammverzeichnis hinzu und committen Sie ihn. [Projektbereich](#project-scope) behandelt, wie Claude Code diese Datei lädt und genehmigt.238[MCP-Server aus JSON-Konfiguration hinzufügen](#add-mcp-servers-from-json-configuration) behandelt Shell-Escaping und das Flag `--scope` für `add-json`. Um den Server stattdessen mit Ihrem Team zu teilen, fügen Sie `--scope project` hinzu, oder fügen Sie den Eintrag unter `mcpServers` in `.mcp.json` in Ihrem Projektstammverzeichnis hinzu und committen Sie ihn. [Projektbereich](#project-scope) behandelt, wie Claude Code diese Datei lädt und genehmigt.
239 239
240Jeder `claude mcp add`- und `claude mcp add-json`-Befehl gibt eine `Added ...`-Zeile aus. Um zu überprüfen, dass Claude Code verbunden ist, führen Sie `claude mcp get <name>` aus; [Serverstatus](#server-status) behandelt die Statuse, die er anzeigt, und den Genehmigungsschritt für `.mcp.json`-Server.240Jeder `claude mcp add`- und `claude mcp add-json`-Befehl gibt bei Erfolg eine `Added ...`-Zeile aus. Um zu überprüfen, dass Claude Code verbunden ist, führen Sie `claude mcp get <name>` aus; [Serverstatus](#server-status) behandelt die Statuse, die er anzeigt, und den Genehmigungsschritt für `.mcp.json`-Server.
241 241
242<h3 id="managing-your-servers">242<h3 id="managing-your-servers">
243 Verwalten Ihrer Server243 Ihre Server verwalten
244</h3>244</h3>
245 245
246Nach der Konfiguration können Sie Ihre MCP-Server mit diesen Befehlen verwalten:246Nach der Konfiguration können Sie Ihre MCP-Server mit diesen Befehlen verwalten:
259/mcp259/mcp
260```260```
261 261
262Wenn Sie einen Remote-Server entfernen, löscht Claude Code auch die OAuth-Tokens und die Client-Registrierung, die er für diesen Server gespeichert hat.262Wenn Sie einen Remote-Server entfernen, löscht Claude Code auch die OAuth-Tokens und die Client-Registrierung, die es für diesen Server gespeichert hat.
263 263
264<h4 id="server-status">264<h4 id="server-status">
265 Serverstatus265 Serverstatus
266</h4>266</h4>
267 267
268`claude mcp add` bestätigt ein erfolgreiches Hinzufügen durch Ausgabe einer `Added ...`-Zeile, was bedeutet, dass die Konfiguration geschrieben wurde. Wenn der Befehl stattdessen eine `was not saved`-Nachricht druckt, siehe [MCP-Server wurde nicht gespeichert oder entfernt](/docs/de/errors#mcp-server-was-not-saved-or-removed); für eine `may not have been saved`-Nachricht siehe [MCP-Server wurde möglicherweise nicht gespeichert oder entfernt](/docs/de/errors#mcp-server-may-not-have-been-saved-or-removed).268`claude mcp add` bestätigt ein erfolgreiches Hinzufügen durch Ausgabe einer `Added ...`-Zeile, was bedeutet, dass die Konfiguration geschrieben wurde. Wenn der Befehl stattdessen eine `was not saved`-Meldung ausgibt, siehe [MCP-Server wurde nicht gespeichert oder entfernt](/docs/de/errors#mcp-server-was-not-saved-or-removed); für eine `may not have been saved`-Meldung siehe [MCP-Server wurde möglicherweise nicht gespeichert oder entfernt](/docs/de/errors#mcp-server-may-not-have-been-saved-or-removed).
269 269
270`claude mcp list` zeigt einen Gesundheitsstatus neben jedem Server an, den es auflistet, wie `✔ Connected`, `! Needs authentication` oder `✘ Failed to connect`. Ein Fehlerstatus bedeutet, dass Claude Code sich nicht mit diesem Server verbinden konnte, nicht dass der List-Befehl fehlgeschlagen ist.270`claude mcp list` zeigt neben jedem aufgelisteten Server einen Gesundheitsstatus an, wie `✔ Connected`, `! Needs authentication` oder `✘ Failed to connect`. Ein Fehlerstatus bedeutet, dass Claude Code keine Verbindung zu diesem Server herstellen konnte, nicht dass der List-Befehl fehlgeschlagen ist.
271 271
272Die Statuse in dieser Liste melden eine Konfigurationsentscheidung statt eines Verbindungsversuchs, daher gibt Claude Code sie aus, ohne sich mit dem Server zu verbinden:272Die Statuse in dieser Liste melden eine Konfigurationsentscheidung statt eines Verbindungsversuchs, daher gibt Claude Code sie aus, ohne sich mit dem Server zu verbinden:
273 273
274* ``⏸ Pending approval (run `claude` to approve)``: Ein projektgesteuerten Server aus `.mcp.json`, den Sie noch nicht genehmigt haben. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Führen Sie `claude` interaktiv aus, um ihn zu überprüfen und zu genehmigen.274* ``⏸ Pending approval (run `claude` to approve)``: ein projektgebundener Server aus `.mcp.json`, den Sie noch nicht genehmigt haben. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Führen Sie `claude` interaktiv aus, um ihn zu überprüfen und zu genehmigen.
275* `✘ Rejected (see disabledMcpjsonServers in settings)`: Ein `.mcp.json`-Server, den ein [`disabledMcpjsonServers`](/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag ablehnt. Claude Code zeigt ihn nur in `claude mcp get <name>`.275* `✘ Rejected (see disabledMcpjsonServers in settings)`: ein `.mcp.json`-Server, den ein [`disabledMcpjsonServers`](/docs/de/settings-reference#disabledmcpjsonservers)-Eintrag ablehnt. Claude Code zeigt ihn nur in `claude mcp get <name>`.
276* `⊘ Disabled for this project (re-enable via /mcp)`: Ein Server, den die [`disabledMcpServers`](#disable-a-server-without-removing-it)-Liste des Projekts benennt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Schalten Sie den Server über das `/mcp`-Panel wieder ein. Vor v2.1.238 verbanden sich beide Befehle mit einem deaktivierten Server, um ihn zu überprüfen, und meldeten das Verbindungsergebnis.276* `⊘ Disabled for this project (re-enable via /mcp)`: ein Server, den die [`disabledMcpServers`](#disable-a-server-without-removing-it)-Liste des Projekts nennt. Claude Code zeigt ihn sowohl in `claude mcp list` als auch in `claude mcp get <name>`. Schalten Sie den Server über das `/mcp`-Panel wieder ein.
277 277
278WebSocket-Server erscheinen nicht in der `claude mcp list`-Ausgabe. Verwenden Sie `claude mcp get <name>` oder das `/mcp`-Panel, um sie zu überprüfen.278WebSocket-Server erscheinen nicht in der `claude mcp list`-Ausgabe. Verwenden Sie `claude mcp get <name>` oder das `/mcp`-Panel, um sie zu überprüfen.
279 279
281 Genehmigungen von Projektservern und Workspace-Vertrauen281 Genehmigungen von Projektservern und Workspace-Vertrauen
282</h4>282</h4>
283 283
284Ab v2.1.196 lesen `claude mcp list` und `claude mcp get` `.mcp.json`-Genehmigungen nur aus Einstellungsdateien, die nicht in das Repository eingecheckt werden, bis Sie dem Workspace vertrauen, indem Sie `claude` darin ausführen und den Workspace-Vertrauensdialog akzeptieren. Ein geklontes Repository kann seine eigenen Server nicht genehmigen: [`enableAllProjectMcpServers`](/docs/de/settings-reference#enableallprojectmcpservers) oder [`enabledMcpjsonServers`](/docs/de/settings-reference#enabledmcpjsonservers), die in die `.claude/settings.json` des Projekts eingecheckt werden, werden in einem nicht vertrauenswürdigen Ordner ignoriert, und der Server bleibt bei `⏸ Pending approval` statt verbunden und Health-Check zu sein.284Ab v2.1.196 lesen `claude mcp list` und `claude mcp get` `.mcp.json`-Genehmigungen nur aus Einstellungsdateien, die nicht in das Repository eingecheckt werden, bis Sie dem Workspace vertrauen, indem Sie `claude` darin ausführen und den Workspace-Vertrauensdialog akzeptieren. Ein geklontes Repository kann seine eigenen Server nicht genehmigen: [`enableAllProjectMcpServers`](/docs/de/settings-reference#enableallprojectmcpservers) oder [`enabledMcpjsonServers`](/docs/de/settings-reference#enabledmcpjsonservers), die in die `.claude/settings.json` des Projekts eingecheckt werden, werden in einem nicht vertrauenswürdigen Ordner ignoriert, und der Server bleibt bei `⏸ Pending approval` statt verbunden und Gesundheitsprüfung.
285 285
286Genehmigungen aus diesen Quellen gelten weiterhin in einem nicht vertrauenswürdigen Ordner:286Genehmigungen aus diesen Quellen gelten weiterhin in einem nicht vertrauenswürdigen Ordner:
287 287
288* Ihre Benutzer-`~/.claude/settings.json`288* Ihre Benutzer-`~/.claude/settings.json`
289* Verwaltete Einstellungen289* verwaltete Einstellungen
290* Einstellungen, die mit `--settings` übergeben werden290* Einstellungen, die mit `--settings` übergeben werden
291 291
292Claude Code wendet auch Genehmigungen aus einer nicht verfolgten `.claude/settings.local.json` an, aber es führt Git aus, um zu überprüfen, ob die Datei verfolgt wird, und führt diese Überprüfung nur in einem [vertrauenswürdigen Ordner](/docs/de/permissions#project-allow-rules-and-workspace-trust) durch. In einem Ordner, dem Sie noch nie vertraut haben, wartet Claude Code auf den Vertrauensdialog, bevor die Genehmigungen der Datei angewendet werden, es sei denn, der Ordner ist Ihr eigenes Konfigurationsheim: Ihr Home-Verzeichnis oder ein Verzeichnis, dessen `.claude` Sie als [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) festgelegt haben. Vor v2.1.207 genehmigte Claude Code Server aus einer nicht verfolgten `.claude/settings.local.json` sogar in einem Ordner, dem Sie noch nie vertraut haben.292Claude Code wendet auch Genehmigungen aus einer nicht verfolgten `.claude/settings.local.json` an, aber es führt git aus, um zu überprüfen, ob die Datei verfolgt wird, und führt diese Überprüfung nur in einem [vertrauenswürdigen Ordner](/docs/de/permissions#project-allow-rules-and-workspace-trust) durch. In einem Ordner, dem Sie noch nie vertraut haben, wartet Claude Code auf den Vertrauensdialog, bevor die Genehmigungen der Datei angewendet werden, es sei denn, der Ordner ist Ihr eigenes Konfigurationsheim: Ihr Home-Verzeichnis oder ein Verzeichnis, dessen `.claude` Sie als [`CLAUDE_CONFIG_DIR`](/docs/de/env-vars) gesetzt haben. Vor v2.1.207 wendete Claude Code Genehmigungen aus einer nicht verfolgten `.claude/settings.local.json` auch in einem Ordner an, dem Sie noch nie vertraut hatten.
293 293
294Ein `disabledMcpjsonServers`-Eintrag in einer beliebigen Einstellungsdatei lehnt den Server weiterhin ab.294Ein `disabledMcpjsonServers`-Eintrag in einer beliebigen Einstellungsdatei lehnt den Server weiterhin ab.
295 295
297 Serverstatus-Detail297 Serverstatus-Detail
298</h4>298</h4>
299 299
300In `/mcp`, einschließlich des Menüs eines Servers dort, und im [`/plugin`](/docs/de/plugins/install)-Manager kann ein Remote-HTTP- oder SSE-Server, den Sie zuvor verwendet haben, einen `cached`-Status wie `cached 2h ago · connects on first use · 5 tools` anzeigen. Claude Code lud die Tool-Liste des Servers aus seinem Discovery-Cache, der in einer vorherigen Sitzung gespeichert wurde, anstatt beim Start zu verbinden, und Claude Code verbindet den Server das erste Mal, wenn Claude eines der Tools des Servers aufruft. Die Tools sind ab Ihrer ersten Nachricht verfügbar, daher müssen Sie nichts tun. Der Discovery-Cache und sein `cached`-Status erfordern Claude Code v2.1.221 oder später.300In `/mcp`, einschließlich des Menüs eines Servers dort, und im [`/plugin`](/docs/de/plugins/install)-Manager kann ein Remote-HTTP- oder SSE-Server, den Sie zuvor verwendet haben, einen `cached`-Status wie `cached 2h ago · connects on first use · 5 tools` anzeigen. Claude Code hat die Werkzeugliste des Servers aus seinem Erkennungs-Cache geladen, der in einer vorherigen Sitzung gespeichert wurde, anstatt beim Start zu verbinden, und Claude Code verbindet den Server das erste Mal, wenn Claude eines der Werkzeuge des Servers aufruft. Die Werkzeuge sind ab Ihrer ersten Nachricht verfügbar, daher müssen Sie nichts tun. Der Erkennungs-Cache und sein `cached`-Status erfordern Claude Code v2.1.221 oder später.
301 301
302Der Discovery-Cache ist standardmäßig deaktiviert, es sei denn, ein schrittweiser Rollout hat ihn für Ihr Konto aktiviert. Setzen Sie [`MCP_DISCOVERY_CACHE=1`](/docs/de/env-vars), um ihn einzuschalten, oder `0`, um ihn ausgeschaltet zu halten, auch wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig aktiviert.302Der Erkennungs-Cache ist standardmäßig deaktiviert, es sei denn, ein schrittweiser Rollout hat ihn für Ihr Konto aktiviert. Setzen Sie [`MCP_DISCOVERY_CACHE=1`](/docs/de/env-vars), um ihn einzuschalten, oder `0`, um ihn deaktiviert zu halten, auch wenn der Rollout ihn aktiviert hat. Vor v2.1.238 war der Cache standardmäßig aktiviert.
303 303
304Wenn Sie **Disable** oder **Clear authentication** aus dem Menü eines Servers in `/mcp` auswählen, verwirft Claude Code auch den Cache-Eintrag dieses Servers. **Reconnect** verwirft ihn auch bei einem verbundenen oder fehlgeschlagenen Server; bei einem `cached`-Server verbindet **Reconnect** den Server jetzt und behält den Eintrag. Das nächste Mal, wenn Claude Code sich mit dem Server verbindet, nachdem der Eintrag verworfen wurde, ruft es die Tool-Liste vom Server ab, anstatt aus dem Cache.304Wenn Sie **Disable** oder **Clear authentication** aus dem Menü eines Servers in `/mcp` auswählen, verwirft Claude Code auch den Cache-Eintrag dieses Servers. **Reconnect** verwirft ihn auch auf einem verbundenen oder fehlgeschlagenen Server; auf einem `cached`-Server verbindet **Reconnect** den Server jetzt und behält den Eintrag. Das nächste Mal, wenn Claude Code sich mit dem Server verbindet, nachdem der Eintrag verworfen wurde, ruft es die Werkzeugliste vom Server ab, anstatt sie aus dem Cache zu holen.
305 305
306Wenn der Status eines Servers `✘ Failed to connect` ist, hängt `claude mcp list` das Fehlerdetail an diese Statuszeile an, und `claude mcp get <name>` zeigt es auf einer `Issue:`-Zeile: der HTTP-Status oder Fehlercode, plus jeder Fehlertext, den der Server zurückgegeben hat. Die Detailansicht des Servers in `/mcp` enthält den gleichen vom Server gemeldeten Text in ihrer `Issue:`-Zeile. Claude Code redigiert Credential-ähnlichen Text aus diesem Detail und enthält niemals die erweiterte Server-URL, die Geheimnisse tragen kann. Claude Code hängt keinen Detail an einen `✘ Connection error`-Status an, da der Exception-Text, den es dort drucken würde, diese URL einbetten kann. Vor v2.1.219 zeigten beide Befehle nur den bloßen Fehlerstatus ohne Statuscode oder Fehlertext des Servers.306Wenn der Status eines Servers `✘ Failed to connect` ist, hängt `claude mcp list` das Fehlerdetail an diese Statuszeile an, und `claude mcp get <name>` zeigt es auf einer `Issue:`-Zeile: der HTTP-Status oder Fehlercode, plus jeder Fehlertext, den der Server zurückgegeben hat. Die Detailansicht des Servers in `/mcp` enthält denselben vom Server gemeldeten Text in seiner `Issue:`-Zeile. Claude Code redigiert anmeldungsähnlichen Text aus diesem Detail und enthält niemals die erweiterte Server-URL, die Geheimnisse tragen kann. Claude Code hängt kein Detail an einen `✘ Connection error`-Status an, da der Ausnahmtext, den es dort drucken würde, diese URL einbetten kann. Vor v2.1.219 zeigten beide Befehle nur den bloßen Fehlerstatus ohne Statuscode oder Fehlertext des Servers.
307 307
308Wenn Sie die Authentifizierung von `/mcp` aus abschließen und die Verbindung immer noch mit einem HTTP-Status oder einem Transport-Fehlercode fehlschlägt, fügt Claude Code diesen Code und den Ursprung der URL des Servers zur Nachricht hinzu, die es nach dem Versuch druckt. Der Ursprung ist das Schema und der Host, plus der Port, wenn die URL einen benennt, wie `https://mcp.example.com`.308Wenn Sie die Authentifizierung von `/mcp` aus abschließen und die Verbindung immer noch mit einem HTTP-Status oder einem Transportfehlerkode fehlschlägt, fügt Claude Code diesen Code und den Ursprung der Server-URL zur Meldung hinzu, die es nach dem Versuch druckt. Der Ursprung ist das Schema und der Host, plus der Port, wenn die URL einen nennt, wie `https://mcp.example.com`.
309 309
310* Der Pfad und die Abfrage erscheinen niemals in dieser Nachricht.310* Der Pfad und die Abfrage erscheinen niemals in dieser Meldung.
311* Für einen Server im lokalen, Projekt- oder Benutzer-[Bereich](#mcp-installation-scopes) oder in verwalteter MCP-Konfiguration zeigt der Ursprung den Host, wie er in dieser Konfiguration geschrieben ist, daher wird eine `${VAR}`-Referenz im Host nicht in der Nachricht erweitert.311* Für einen Server im lokalen, Projekt- oder Benutzer-[Bereich](#mcp-installation-scopes) oder in verwalteter MCP-Konfiguration zeigt der Ursprung den Host wie in dieser Konfiguration geschrieben, daher wird eine `${VAR}`-Referenz im Host in der Meldung nicht erweitert.
312* Bei einem Fehler ohne Status oder Fehlercode zeigt Claude Code den Fehlertext ohne den Ursprung.312* Bei einem Fehler ohne Status oder Fehlercode zeigt Claude Code den Fehlertext ohne den Ursprung.
313 313
314Ein Remote-Server, dessen Konfiguration eine leere `url` hat, wird in `/mcp`, in `claude mcp list` und im [`/plugin`](/docs/de/plugins/install)-Manager als `not configured` angezeigt, und Claude Code versucht nicht, sich damit zu verbinden. Ein Plugin kann einen Platzhalter-Eintrag wie diesen für einen Connector enthalten, den Sie später konfigurieren, sodass Claude Code ihn nicht als Fehler oder Setup-Problem meldet. Die Detailansicht des Servers in `/mcp` liest `No URL configured for this server`; setzen Sie die `url` des Eintrags, um sich zu verbinden. Vor v2.1.208 meldete Claude Code eine leere `url` als Konfigurationsproblem mit einer Aufforderung zur Wiederverbindung.314Ein Remote-Server, dessen Konfiguration eine leere `url` hat, wird in `/mcp`, in `claude mcp list` und im [`/plugin`](/docs/de/plugins/install)-Manager als `not configured` angezeigt, und Claude Code versucht nicht, sich damit zu verbinden. Ein Plugin kann einen Platzhalter-Eintrag wie diesen für einen Connector enthalten, den Sie später konfigurieren, sodass Claude Code ihn nicht als Fehler oder Setup-Problem meldet. Die Detailansicht des Servers in `/mcp` liest `No URL configured for this server`; setzen Sie die `url` des Eintrags, um ihn zu verbinden. Vor v2.1.208 meldete Claude Code eine leere `url` als Konfigurationsproblem mit einer Aufforderung zum Erneuten Verbinden.
315 315
316<h4 id="configuration-warnings">316<h4 id="configuration-warnings">
317 Konfigurationswarnungen317 Konfigurationswarnungen
319 319
320Claude Code warnt vor den folgenden Konfigurationsproblemen. Jeder Eintrag sagt, was Claude Code überprüft und wie die Warnung gelöscht wird:320Claude Code warnt vor den folgenden Konfigurationsproblemen. Jeder Eintrag sagt, was Claude Code überprüft und wie die Warnung gelöscht wird:
321 321
322* **Versteckte Leerzeichen**: Claude Code warnt, wenn ein MCP-Konfigurationswert versteckte führende oder nachfolgende Leerzeichen trägt, die oft vom Einfügen eines Tokens mit einem nachfolgenden Zeilenumbruch stammen. Claude Code überprüft `command`, `url`, jeden `args`-Eintrag und die Werte und Schlüsselnamen unter `env` und `headers`. Claude Code zeigt die Warnung in der `claude mcp list`-Ausgabe und in `/mcp` an und benennt die betroffenen Felder, ohne ihre Werte zu wiederholen, zum Beispiel `Leading or trailing whitespace in: headers.Authorization`. Claude Code trimmt das Leerzeichen nicht und verwendet die Werte genau wie geschrieben, daher bearbeiten Sie die Konfiguration, um es zu entfernen.322* **Versteckte Leerzeichen**: Claude Code warnt, wenn ein MCP-Konfigurationswert versteckte führende oder nachfolgende Leerzeichen trägt, die oft vom Einfügen eines Tokens mit einem nachfolgenden Zeilenumbruch stammen. Claude Code überprüft `command`, `url`, jeden `args`-Eintrag und die Werte und Schlüsselnamen unter `env` und `headers`. Claude Code zeigt die Warnung in der `claude mcp list`-Ausgabe und in `/mcp` an und nennt die betroffenen Felder, ohne ihre Werte auszugeben, zum Beispiel `Leading or trailing whitespace in: headers.Authorization`. Claude Code trimmt die Leerzeichen nicht und verwendet die Werte genau wie geschrieben, daher bearbeiten Sie die Konfiguration, um sie zu entfernen.
323* **Gleicher Name in mehr als einem Bereich**: Wenn Sie den gleichen Servernamen in mehr als einem [Bereich](#mcp-installation-scopes) mit verschiedenen Endpunkten definieren, warnt Claude Code vor dem Konflikt in der `claude mcp list`-Ausgabe und in `/mcp`. Claude Code speichert OAuth-Anmeldungen pro Endpunkt, daher müssen Sie sich, wenn Sie die Definition authentifizieren, die in einem Projekt geladen wird, immer noch separat in einem Projekt anmelden, in dem eine andere Definition geladen wird. Behalten Sie den Endpunkt, den Sie möchten, und entfernen Sie die anderen mit `claude mcp remove <name> --scope <scope>`. In der Warnung zitiert Claude Code den Endpunkt jedes Bereichs, wie er in Ihrer Konfiguration geschrieben ist, mit [`${VAR}`-Referenzen](#environment-variable-expansion-in-mcp-json) nicht erweitert, daher zeigt es niemals einen aufgelösten Wert wie einen API-Schlüssel.323* **Gleicher Name in mehr als einem Bereich**: Wenn Sie denselben Servernamen in mehr als einem [Bereich](#mcp-installation-scopes) mit verschiedenen Endpunkten definieren, warnt Claude Code vor dem Konflikt in der `claude mcp list`-Ausgabe und in `/mcp`. Claude Code speichert OAuth-Anmeldungen pro Endpunkt, daher müssen Sie sich, wenn Sie die Definition authentifizieren, die in einem Projekt geladen wird, in einem Projekt, in dem eine andere Definition geladen wird, immer noch separat anmelden. Behalten Sie den Endpunkt, den Sie möchten, und entfernen Sie die anderen mit `claude mcp remove <name> --scope <scope>`. In der Warnung zitiert Claude Code den Endpunkt jedes Bereichs wie in Ihrer Konfiguration geschrieben, mit [`${VAR}`-Referenzen](#environment-variable-expansion-in-mcp-json) nicht erweitert, daher zeigt es niemals einen aufgelösten Wert wie einen API-Schlüssel.
324* **Reservierte Namen**: Claude Code reserviert die Namen seiner integrierten Server, einschließlich `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` und `Claude Browser`. Wenn Ihre Konfiguration einen Server mit einem reservierten Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen. `claude mcp add` lehnt einen reservierten Namen mit einem Fehler ab. `Claude Preview` und `Claude Browser` benennen beide den integrierten Server, den der [Claude Code Desktop-App-Vorschaubereich](/docs/de/desktop#preview-your-app) verwendet. Vor v2.1.205 war `Claude Browser` nicht reserviert, daher konnte ein benutzerkonfigurierter Server sich unter diesem Namen registrieren.324* **Reservierte Namen**: Claude Code reserviert die Namen seiner integrierten Server, einschließlich `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview` und `Claude Browser`. Wenn Ihre Konfiguration einen Server mit einem reservierten Namen definiert, überspringt Claude Code ihn beim Laden und zeigt eine Warnung an, die Sie auffordert, ihn umzubenennen. `claude mcp add` lehnt einen reservierten Namen mit einem Fehler ab. `Claude Preview` und `Claude Browser` benennen beide den integrierten Server, den das [Vorschau-Panel der Claude Code Desktop-App](/docs/de/desktop#preview-your-app) verwendet.
325* **Fehlende Umgebungsvariable**: Wenn eine [`${VAR}`-Referenz](#environment-variable-expansion-in-mcp-json) in der Konfiguration eines Servers eine Variable benennt, die nicht gesetzt ist und keinen `:-default` hat, warnt Claude Code in der `claude mcp list`-Ausgabe und in `/mcp`, benennt die Variable und lädt den Server immer noch mit dem `${VAR}`-Text nicht erweitert. Setzen Sie die Variable oder fügen Sie einen `${VAR:-default}`-Fallback hinzu. In der `url` und `headers` eines Remote-Servers lesen einige Credential-Variablen [als leer](#credential-variables-that-read-as-empty) statt, ohne Warnung.325* **Fehlende Umgebungsvariable**: Wenn eine [`${VAR}`-Referenz](#environment-variable-expansion-in-mcp-json) in der Konfiguration eines Servers eine Variable nennt, die nicht gesetzt ist und keinen `:-default` hat, warnt Claude Code in der `claude mcp list`-Ausgabe und in `/mcp`, nennt die Variable und lädt den Server immer noch mit dem `${VAR}`-Text nicht erweitert. Setzen Sie die Variable oder fügen Sie einen `${VAR:-default}`-Fallback hinzu. In der `url` und `headers` eines Remote-Servers lesen einige Anmeldungsvariablen stattdessen [als leer](#credential-variables-that-read-as-empty), ohne Warnung.
326 326
327<h4 id="tool-availability">327<h4 id="tool-availability">
328 Tool-Verfügbarkeit328 Werkzeugverfügbarkeit
329</h4>329</h4>
330 330
331Das `/mcp`-Panel zeigt die Tool-Anzahl neben jedem verbundenen Server an und kennzeichnet Server, die die Tools-Funktion ankündigen, aber keine Tools bereitstellen.331Das `/mcp`-Panel zeigt die Werkzeuganzahl neben jedem verbundenen Server und kennzeichnet Server, die die Werkzeugfähigkeit ankündigen, aber keine Werkzeuge bereitstellen.
332 332
333Wenn Ihre Anfrage Tools von einem Server benötigt, der sich noch im Hintergrund verbindet, wartet Claude auf diesen Server, bevor er fortfährt. Wie das Warten geschieht, hängt von Ihrer Konfiguration ab:333Wenn Ihre Anfrage Werkzeuge von einem Server benötigt, der sich noch im Hintergrund verbindet, wartet Claude auf diesen Server, bevor er fortfährt. Wie das Warten geschieht, hängt von Ihrer Konfiguration ab:
334 334
335* **Mit [Tool-Suche](#scale-with-mcp-tool-search), der Standardeinstellung**: Das Warten erfolgt innerhalb des `ToolSearch`-Aufrufs.335* **Mit [Werkzeugsuche](#scale-with-mcp-tool-search), der Standard**: Das Warten geschieht innerhalb des `ToolSearch`-Aufrufs.
336* **Ohne Tool-Suche**: Claude verwendet stattdessen das `WaitForMcpServers`-Tool. Konfigurationen ohne Tool-Suche enthalten eine benutzerdefinierte `ANTHROPIC_BASE_URL`, `ENABLE_TOOL_SEARCH=false` und ein Modell früher als die Claude 4.5-Generation auf Google Cloud's Agent Platform.336* **Ohne Werkzeugsuche**: Claude verwendet stattdessen das `WaitForMcpServers`-Werkzeug. Konfigurationen ohne Werkzeugsuche enthalten eine benutzerdefinierte `ANTHROPIC_BASE_URL`, `ENABLE_TOOL_SEARCH=false` und ein Modell früher als die Claude 4.5-Generation auf Google Clouds Agent Platform.
337* **Bei einer Microsoft Foundry-[Bereitstellung auf Azure gehostet](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude startet auf dem Tool-Suche-Pfad statt mit `WaitForMcpServers`, da Claude Code die serverseitige Ablehnung der Bereitstellung nur von der API entdeckt. Nachdem Claude Code diese Bereitstellung auf [vorausgehendes Laden](#scale-with-mcp-tool-search) umschaltet, werden Tools von einem Server, der die Verbindung beendet, bei Claudes nächster Anfrage verfügbar.337* **Bei einer Microsoft Foundry-[Bereitstellung auf Azure gehostet](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)**: Claude startet auf dem Werkzeugsuche-Pfad statt mit `WaitForMcpServers`, da Claude Code die serverseitige Ablehnung der Bereitstellung nur von der API entdeckt. Nachdem Claude Code diese Bereitstellung auf [vorausgehendes Laden](#scale-with-mcp-tool-search) umschaltet, werden Werkzeuge von einem Server, der die Verbindung beendet, bei Claudes nächster Anfrage verfügbar.
338 338
339Mit aktivierter Tool-Suche, wenn ein Server die Verbindung beendet, während Claude arbeitet, listet Claude Code die Tool-Namen des Servers bei seiner nächsten Anfrage in der gleichen Runde zu Claude auf. Claude kann dann diese Tools suchen und aufrufen, ohne auf Ihre nächste Nachricht zu warten.339Mit aktivierter Werkzeugsuche, wenn ein Server die Verbindung beendet, während Claude arbeitet, listet Claude Code die Werkzeugnamen des Servers bei Claudes nächster Anfrage in derselben Runde auf. Claude kann dann diese Werkzeuge suchen und aufrufen, ohne auf Ihre nächste Nachricht zu warten.
340 340
341<h3 id="disable-a-server-without-removing-it">341<h3 id="disable-a-server-without-removing-it">
342 Einen Server deaktivieren, ohne ihn zu entfernen342 Einen Server deaktivieren, ohne ihn zu entfernen
343</h3>343</h3>
344 344
345Schalten Sie einen Server im `/mcp`-Panel aus, um Claude Code daran zu hindern, sich damit zu verbinden, ohne seine Konfiguration zu verlieren. Claude Code listet den Server immer noch in `/mcp` auf, markiert als deaktiviert.345Schalten Sie einen Server im `/mcp`-Panel aus, um Claude Code daran zu hindern, sich damit zu verbinden, ohne seine Konfiguration zu verlieren. Claude Code listet den Server immer noch in `/mcp` auf, gekennzeichnet als deaktiviert.
346 346
347Wenn Sie einen Server umschalten, zeichnet Claude Code Ihre Wahl pro Projekt in `~/.claude.json` in einer von zwei Listen auf, die disjunkte Sätze von Servern abdecken:347Wenn Sie einen Server umschalten, zeichnet Claude Code Ihre Wahl pro Projekt in `~/.claude.json` in einer von zwei Listen auf, die disjunkte Sätze von Servern abdecken:
348 348
349* `disabledMcpServers`: Eine Opt-out-Liste für benutzerkonfigurierte Server, Plugin-Server, Server, die Ihre Organisation [über verwaltete Einstellungen bereitstellt](/docs/de/managed-mcp#provide-servers-through-managed-settings), die claude.ai-Connectoren, die Claude Code [selbst abruft](#how-connectors-reach-claude-code), und integrierte Server, die standardmäßig aktiviert sind. Claude Code verbindet sich nicht mit einem Server, den Sie hier auflisten. Wenn Sie einen claude.ai-Connector mit dem Pro-Projekt-`/mcp`-Umschalter deaktivieren, der in [claude.ai-Connectoren deaktivieren](#disable-claude-ai-connectors) beschrieben ist, schreibt Claude Code ihn in diese Liste unter seinem Anzeigenamen, zum Beispiel `claude.ai Slack`.349* `disabledMcpServers`: eine Opt-out-Liste für benutzerkonfigurierte Server, Plugin-Server, Server, die Ihre Organisation [durch verwaltete Einstellungen bereitstellt](/docs/de/managed-mcp#provide-servers-through-managed-settings), die claude.ai-Connectoren, die Claude Code [selbst abruft](#how-connectors-reach-claude-code), und integrierte Server, die standardmäßig aktiviert sind. Claude Code verbindet sich nicht mit einem Server, den Sie hier auflisten. Wenn Sie einen claude.ai-Connector mit dem pro-Projekt-`/mcp`-Umschalter deaktivieren, der in [claude.ai-Connectoren deaktivieren](#disable-claude-ai-connectors) beschrieben ist, schreibt Claude Code ihn unter seinem Anzeigenamen in diese Liste, zum Beispiel `claude.ai Slack`.
350* `enabledMcpServers`: Eine Opt-in-Liste für integrierte Server, die standardmäßig deaktiviert sind, wie `computer-use`. Claude Code verbindet sich mit einem standardmäßig deaktivierten Server nur, wenn Sie ihn hier auflisten.350* `enabledMcpServers`: eine Opt-in-Liste für integrierte Server, die standardmäßig deaktiviert sind, wie `computer-use`. Claude Code verbindet sich mit einem standardmäßig deaktivierten Server nur, wenn Sie ihn hier auflisten.
351 351
352Claude Code konsultiert genau eine der beiden Listen für jeden Server, daher überschreibt keine Liste die andere. Wenn Sie einen regulären Server zu `enabledMcpServers` hinzufügen oder einen standardmäßig deaktivierten integrierten Server zu `disabledMcpServers`, ignoriert Claude Code den Eintrag.352Claude Code konsultiert genau eine der beiden Listen für jeden Server, daher überschreibt keine Liste die andere. Wenn Sie einen regulären Server zu `enabledMcpServers` hinzufügen oder einen standardmäßig deaktivierten integrierten Server zu `disabledMcpServers`, ignoriert Claude Code den Eintrag.
353 353
357 MCP-Client-Runtimes357 MCP-Client-Runtimes
358</h3>358</h3>
359 359
360Claude Code verbindet sich mit MCP-Servern über eine von zwei Client-Runtimes. Die v1-Runtime basiert auf MCP TypeScript SDK 1.x. Die v2-Runtime ist der gleiche Code auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), das MCP-Protokoll-Revision 2026-07-28 hinzufügt. Der Rest dieser Seite gilt für beide Runtimes, außer wo ein Abschnitt die v2-Runtime benennt.360Claude Code verbindet sich mit MCP-Servern über eine von zwei Client-Runtimes. Die v1-Runtime basiert auf MCP TypeScript SDK 1.x. Die v2-Runtime ist derselbe Code auf [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), das MCP-Protokollrevision 2026-07-28 hinzufügt. Der Rest dieser Seite gilt für beide Runtimes, außer wo ein Abschnitt die v2-Runtime nennt.
361 361
362Claude Code wählt jedes Mal, wenn Sie es starten, eine Runtime aus und behält sie bis zum Beenden. In Sitzungen, in denen es [Feature-Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), verwendet es die v2-Runtime bei Claude Code v2.1.232 oder später.362Claude Code wählt jedes Mal, wenn Sie ihn starten, eine Runtime aus und behält sie bis zum Beenden. In Sitzungen, in denen es [Feature-Flags abruft](/docs/de/env-vars#features-that-need-feature-flag-fetching), verwendet es die v2-Runtime auf Claude Code v2.1.232 oder später.
363 363
364In den Sitzungen, in denen es keine Feature-Flags abruft, verwendet Claude Code die v2-Runtime standardmäßig bei Claude Code v2.1.274 oder später:364In den Sitzungen, in denen es keine Feature-Flags abruft, verwendet Claude Code die v2-Runtime standardmäßig auf Claude Code v2.1.274 oder später:
365 365
366* Sitzungen auf Amazon Bedrock, Claude Platform auf AWS, Google Cloud's Agent Platform oder Microsoft Foundry, es sei denn, eine Host-Plattform, die Claude Code einbettet, setzt [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars)366* Sitzungen auf Amazon Bedrock, Claude Platform auf AWS, Google Clouds Agent Platform oder Microsoft Foundry, es sei denn, eine Host-Plattform, die Claude Code einbettet, setzt [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/de/env-vars)
367* Sitzungen angemeldet über ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway)367* Sitzungen, die sich über ein [Claude-Apps-Gateway](/docs/de/claude-apps-gateway) anmelden
368* Sitzungen, in denen Sie Telemetrie oder Feature-Flag-Abruf ausschalten, zum Beispiel mit `DISABLE_TELEMETRY`368* Sitzungen, in denen Sie Telemetrie oder Feature-Flag-Abruf deaktivieren, zum Beispiel mit `DISABLE_TELEMETRY`
369 369
370Bei v2 macht Claude Code auch:370Auf v2 führt Claude Code auch:
371 371
372* Fragt HTTP-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die das tun. Es fragt auch claude.ai-Connector-Server in Sitzungen, in denen es Feature-Flags abruft. Um es Stdio-Server zu fragen oder Connector-Server in jeder Sitzung zu fragen, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto`. Es verbindet sich mit jedem anderen Server wie v1.372* Fragt HTTP-Server, ob sie die neuere Revision unterstützen, und verwendet sie mit denen, die dies tun. Es fragt auch claude.ai-Connector-Server in Sitzungen, in denen es Feature-Flags abruft. Um es zu fragen, Stdio-Server oder Connector-Server in jeder Sitzung zu fragen, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto`. Es verbindet sich mit jedem anderen Server wie v1.
373* Empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).373* Empfängt `list_changed`-Benachrichtigungen von Servern auf der neueren Revision über einen [Stream, den es offen hält](#notification-streams-on-the-v2-runtime).
374* Registriert keinen [Kanal](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Kanal-Nachrichten tragen kann.374* Registriert keinen [Channel](#push-messages-with-channels)-Server, der sich auf der neueren Revision verbindet, da diese Revision keine Channel-Nachrichten tragen kann.
375* Schlägt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehl, deren Autorisierungsantwort einen unerwarteten Aussteller benennt.375* Schlägt eine [MCP-OAuth-Anmeldung](#authenticate-with-remote-mcp-servers) fehl, deren Autorisierungsantwort einen unerwarteten Aussteller nennt.
376* Sendet [MCP-OAuth](#authenticate-with-remote-mcp-servers)-Anmeldedaten nur an einen Token-Endpunkt, der über HTTPS oder bei `localhost`, `127.0.0.1` oder `::1` bereitgestellt wird. Die Anmeldung schlägt für einen Server fehl, dessen Token-Endpunkt einfaches `http://` irgendwo anders ist, wie ein Gerät in Ihrem lokalen Netzwerk. Siehe [Ablehnung, Anmeldedaten an nicht-HTTPS-Token-Endpunkt zu senden](/docs/de/errors#refusing-to-send-credentials-to-non-https-token-endpoint).376* Sendet [MCP-OAuth](#authenticate-with-remote-mcp-servers)-Anmeldedaten nur an einen Token-Endpunkt, der über HTTPS oder bei `localhost`, `127.0.0.1` oder `::1` bereitgestellt wird. Die Anmeldung schlägt für einen Server fehl, dessen Token-Endpunkt einfaches `http://` irgendwo anders ist, wie ein Gerät in Ihrem lokalen Netzwerk. Siehe [Refusing to send credentials to non-https token endpoint](/docs/de/errors#refusing-to-send-credentials-to-non-https-token-endpoint).
377 377
378Anthropic kann einen bestimmten Server auf dem früheren Protokoll halten oder von diesem Stream entfernen, mit einem Feature-Flag, das Claude Code abruft.378Anthropic kann einen bestimmten Server mit einem Feature-Flag, das Claude Code abruft, auf dem früheren Protokoll halten oder aus diesem Stream entfernen.
379 379
380Um die Runtime selbst zu wählen, setzen Sie [`MCP_SDK_GENERATION`](/docs/de/env-vars) auf `v1` oder `v2`. Um zu entscheiden, ob Claude Code fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` oder `legacy`.380Um die Runtime selbst auszuwählen, setzen Sie [`MCP_SDK_GENERATION`](/docs/de/env-vars) auf `v1` oder `v2`. Um zu entscheiden, ob Claude Code fragt, setzen Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` oder `legacy`.
381 381
382<h3 id="dynamic-tool-updates">382<h3 id="dynamic-tool-updates">
383 Dynamische Tool-Updates383 Dynamische Werkzeugaktualisierungen
384</h3>384</h3>
385 385
386Claude Code unterstützt MCP-`list_changed`-Benachrichtigungen, die es MCP-Servern ermöglichen, ihre verfügbaren Tools, Prompts und Ressourcen dynamisch zu aktualisieren, ohne dass Sie die Verbindung trennen und erneut verbinden müssen. Wenn ein MCP-Server eine `list_changed`-Benachrichtigung sendet, aktualisiert Claude Code automatisch die verfügbaren Funktionen von diesem Server.386Claude Code unterstützt MCP-`list_changed`-Benachrichtigungen, die es MCP-Servern ermöglichen, ihre verfügbaren Werkzeuge, Prompts und Ressourcen dynamisch zu aktualisieren, ohne dass Sie die Verbindung trennen und erneut verbinden müssen. Wenn ein MCP-Server eine `list_changed`-Benachrichtigung sendet, aktualisiert Claude Code automatisch die verfügbaren Fähigkeiten von diesem Server.
387 387
388Wenn eine Aktualisierungsanfrage fehlschlägt, behält Claude Code die zuvor entdeckten Tools, Prompts und Ressourcen des Servers bis zu einer späteren erfolgreichen Aktualisierung. Vor v2.1.214 ersetzte ein vorübergehender Fehler während der Aktualisierung die Tools, Prompts und Ressourcen des Servers durch eine leere Liste.388Wenn eine Aktualisierungsanfrage fehlschlägt, behält Claude Code die zuvor entdeckten Werkzeuge, Prompts und Ressourcen des Servers, bis eine spätere Aktualisierung erfolgreich ist. Vor v2.1.214 ersetzte ein vorübergehender Fehler während der Aktualisierung die Werkzeuge, Prompts und Ressourcen des Servers durch eine leere Liste.
389 389
390<h4 id="notification-streams-on-the-v2-runtime">390<h4 id="notification-streams-on-the-v2-runtime">
391 Benachrichtigungs-Streams auf der v2-Runtime391 Benachrichtigungsströme auf der v2-Runtime
392</h4>392</h4>
393 393
394Bei der [v2-Runtime](#mcp-client-runtimes) empfängt Claude Code `list_changed`-Benachrichtigungen von einem Server auf der neueren Protokoll-Revision über einen Stream, den es offen hält. Wenn der Stream schließt, öffnet Claude Code ihn erneut, mit zwei Grenzen:394Auf der [v2-Runtime](#mcp-client-runtimes) empfängt Claude Code `list_changed`-Benachrichtigungen von einem Server auf der neueren Protokollrevision über einen Stream, den es offen hält. Wenn der Stream schließt, öffnet Claude Code ihn erneut, mit zwei Grenzen:
395 395
396* **Der Stream schließt innerhalb von 10 Sekunden erneut**: Claude Code öffnet ihn bis zu dreimal erneut, dann stoppt es für diese Verbindung.396* **Der Stream schließt innerhalb von 10 Sekunden erneut**: Claude Code öffnet ihn bis zu dreimal erneut, dann stoppt es für diese Verbindung.
397* **Der Stream bleibt länger als 10 Sekunden offen, dann schließt**, wie Streams zu serverlosen Hosts häufig tun: Nach fünf Wiederöffnungen in einer Stunde wartet Claude Code etwa sechs Stunden vor der nächsten.397* **Der Stream bleibt länger als 10 Sekunden offen, dann schließt**, wie Streams zu serverlosen Hosts häufig tun: Nach fünf Wiederöffnungen in einer Stunde wartet Claude Code etwa sechs Stunden, bevor die nächste.
398 398
399Bis der Stream erneut öffnet, behalten Sie die zuletzt abgerufenen Tools, Prompts und Ressourcen des Servers. Um seine Änderungen schneller zu erkennen, verbinden Sie den Server von `/mcp` erneut.399Bis der Stream erneut öffnet, behalten Sie die zuletzt abgerufenen Werkzeuge, Prompts und Ressourcen des Servers. Um seine Änderungen schneller zu erkennen, verbinden Sie den Server von `/mcp` erneut.
400 400
401<h3 id="automatic-reconnection">401<h3 id="automatic-reconnection">
402 Automatische Wiederverbindung402 Automatische Wiederverbindung
403</h3>403</h3>
404 404
405Claude Code verbindet einen Remote-Server, der während einer Sitzung die Verbindung trennt, erneut und versucht die erste Verbindung eines HTTP- oder SSE-Servers nach einem vorübergehenden Fehler erneut. Stdio-Server sind lokale Prozesse, und Claude Code verbindet sie nicht automatisch erneut.405Claude Code verbindet einen Remote-Server erneut, der während einer Sitzung abbricht, und versucht die erste Verbindung eines HTTP- oder SSE-Servers nach einem vorübergehenden Fehler erneut. Stdio-Server sind lokale Prozesse, und Claude Code verbindet sie nicht automatisch erneut.
406 406
407<h4 id="mid-session-drops-of-a-remote-server">407<h4 id="mid-session-drops-of-a-remote-server">
408 Verbindungstrennung eines Remote-Servers während einer Sitzung408 Mitten in der Sitzung abbrechende Remote-Server
409</h4>409</h4>
410 410
411Claude Code verbindet einen getrennten Remote-Server mit exponentiellem Backoff erneut: bis zu fünf Versuche, beginnend mit einer Verzögerung von einer Sekunde und sich jedes Mal verdoppelnd. Was Sie sehen, hängt davon ab, wie Sie Claude Code ausführen:411Claude Code verbindet einen abgebrochenen Remote-Server mit exponentiellem Backoff erneut: bis zu fünf Versuche, beginnend mit einer Verzögerung von einer Sekunde und verdoppelt sich jedes Mal. Was Sie sehen, hängt davon ab, wie Sie Claude Code ausführen:
412 412
413* **In einer interaktiven Sitzung**: `/mcp` zeigt den Server als ausstehend an, während Claude Code erneut verbindet. Nach fünf fehlgeschlagenen Versuchen markiert Claude Code den Server als fehlgeschlagen oder als Authentifizierung erforderlich, wenn der Server erneut autorisiert werden muss. Sie können manuell von `/mcp` aus erneut versuchen.413* **In einer interaktiven Sitzung**: `/mcp` zeigt den Server als ausstehend an, während Claude Code erneut verbindet. Nach fünf fehlgeschlagenen Versuchen markiert Claude Code den Server als fehlgeschlagen oder als Authentifizierung erforderlich, wenn der Server erneut autorisiert werden muss. Wenn es den Server als fehlgeschlagen markiert, sehen Sie eine `MCP server "<name>" disconnected · open /mcp to reconnect`-Benachrichtigung. Sie können manuell von `/mcp` aus erneut versuchen.
414* **In [`claude -p`](/docs/de/headless)-Läufen und [Agent SDK](/docs/de/agent-sdk/overview)-Sitzungen**: Claude Code verbindet sich nach dem gleichen Zeitplan erneut, ohne `/mcp`-Panel, um die Versuche anzuzeigen.414* **In [`claude -p`](/docs/de/headless)-Läufen und [Agent SDK](/docs/de/agent-sdk/overview)-Sitzungen**: Claude Code verbindet sich nach demselben Zeitplan erneut, ohne `/mcp`-Panel, um die Versuche anzuzeigen.
415 415
416<h4 id="failed-first-connections">416<h4 id="failed-first-connections">
417 Fehlgeschlagene erste Verbindungen417 Fehlgeschlagene erste Verbindungen
418</h4>418</h4>
419 419
420Wenn die erste Verbindung eines HTTP- oder SSE-Servers mit einem vorübergehenden Fehler fehlschlägt, wie eine 5xx-Antwort, eine Verbindungsverweigerung oder ein Timeout, versucht Claude Code bis zu dreimal erneut. Wenn die Verbindung immer noch fehlschlägt, markiert Claude Code den Server als fehlgeschlagen. Claude Code versucht auf diese Weise beim Start und wenn ein Server während einer Sitzung hinzugefügt wird. Das schließt einen Server ein, den Claude Code zu einer [Cloud-Sitzung](/docs/de/claude-code-on-the-web) aus seiner Konfiguration hinzufügt, und einen Server, den Sie mit der Agent SDK's [`setMcpServers()`](/docs/de/agent-sdk/typescript) hinzufügen.420Wenn die erste Verbindung eines HTTP- oder SSE-Servers mit einem vorübergehenden Fehler fehlschlägt, wie eine 5xx-Antwort, eine Verbindung verweigert oder ein Timeout, versucht Claude Code bis zu dreimal erneut. Wenn die Verbindung immer noch fehlschlägt, markiert Claude Code den Server als fehlgeschlagen.
421 421
422Claude Code versucht nicht in diesen Fällen erneut:422Claude Code versucht in diesen Fällen nicht erneut:
423 423
424* Eine WebSocket-Server-Verbindung424* Die erste Verbindung eines WebSocket-Servers
425* Ein Authentifizierungs- oder Not-Found-Fehler, da er eine Konfigurationsänderung erfordert, um behoben zu werden. Wenn ein [`headersHelper`](#use-dynamic-headers-for-custom-authentication) die einzige Quelle des `Authorization`-Headers des Servers ist, versucht Claude Code einen Authentifizierungsfehler trotzdem erneut, da er den Helper bei jedem Versuch erneut ausführt und eine frische Anmeldedaten abholen kann425* Ein Authentifizierungs- oder Not-Found-Fehler, da er eine Konfigurationsänderung erfordert, um ihn zu beheben. Wenn ein [`headersHelper`](#use-dynamic-headers-for-custom-authentication) die einzige Quelle des `Authorization`-Headers des Servers ist, versucht Claude Code einen Authentifizierungsfehler trotzdem erneut, da es den Helper bei jedem Versuch erneut ausführt und eine frische Anmeldung abholen kann
426 426
427<h4 id="failed-discovery-requests">427<h4 id="failed-discovery-requests">
428 Fehlgeschlagene Discovery-Anfragen428 Fehlgeschlagene Erkennungsanfragen
429</h4>429</h4>
430 430
431Nachdem ein Server verbunden ist, sendet Claude Code ihm Funktionsentdeckungsanfragen wie `tools/list`, `prompts/list` und `resources/list`. Claude Code versucht diese Anfragen bis zu dreimal mit kurzem Backoff nach einem vorübergehenden Netzwerk- oder Serverfehler erneut. Es versucht Authentifizierungsfehler, 4xx-Antworten oder Request-Timeouts nicht erneut.431Nachdem sich ein Server verbindet, sendet Claude Code ihm Erkennungsanfragen wie `tools/list`, `prompts/list` und `resources/list`. Claude Code versucht diese Anfragen bis zu dreimal mit kurzem Backoff nach einem vorübergehenden Netzwerk- oder Serverfehler erneut. Es versucht Authentifizierungsfehler, 4xx-Antworten oder Anfrage-Timeouts nicht erneut.
432 432
433<h4 id="how-claude-learns-that-a-server-failed">433<h4 id="how-claude-learns-that-a-server-failed">
434 Wie Claude erfährt, dass ein Server fehlgeschlagen ist434 Wie Claude erfährt, dass ein Server fehlgeschlagen ist
435</h4>435</h4>
436 436
437Ob Claude Code Claude über einen konfigurierten Server, der sich nicht verbinden konnte, informiert, hängt von [Tool-Suche](#scale-with-mcp-tool-search) ab, die standardmäßig aktiviert ist:437Ob Claude Code Claude über einen konfigurierten Server informiert, der keine Verbindung hergestellt hat, hängt von [Werkzeugsuche](#scale-with-mcp-tool-search) ab, die standardmäßig aktiviert ist:
438 438
439* Mit Tool-Suche teilt Claude Code Claude mit, welcher Server fehlgeschlagen ist und sein Verbindungsfehler, daher meldet Claude den Verbindungsfehler in seiner Antwort. Claude Code enthält die gleichen Informationen in `ToolSearch`-Ergebnissen, die kein passendes Tool finden.439* Mit Werkzeugsuche informiert Claude Code Claude, welcher Server fehlgeschlagen ist und sein Verbindungsfehler, daher meldet Claude den Verbindungsfehler in seiner Antwort. Claude Code enthält dieselben Informationen in `ToolSearch`-Ergebnissen, die kein passendes Werkzeug finden.
440* In jeder [Konfiguration ohne Tool-Suche](#configure-tool-search) meldet Claude Code fehlgeschlagene Server-Verbindungen nicht an Claude.440* In jeder [Konfiguration ohne Werkzeugsuche](#configure-tool-search) meldet Claude Code fehlgeschlagene Serververbindungen nicht Claude.
441 441
442<h3 id="push-messages-with-channels">442<h3 id="push-messages-with-channels">
443 Push-Nachrichten mit Kanälen443 Nachrichten mit Channels pushen
444</h3>444</h3>
445 445
446Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, sodass Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, deklariert Ihr Server die Funktion `claude/channel` und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Kanäle](/docs/de/channels), um einen offiziell unterstützten Kanal zu verwenden, oder [Kanäle-Referenz](/docs/de/channels-reference), um Ihren eigenen zu erstellen.446Ein MCP-Server kann auch Nachrichten direkt in Ihre Sitzung pushen, damit Claude auf externe Ereignisse wie CI-Ergebnisse, Überwachungswarnungen oder Chat-Nachrichten reagieren kann. Um dies zu aktivieren, erklärt Ihr Server die `claude/channel`-Fähigkeit und Sie aktivieren sie mit dem Flag `--channels` beim Start. Siehe [Channels](/docs/de/channels), um einen offiziell unterstützten Channel zu verwenden, oder [Channels-Referenz](/docs/de/channels-reference), um Ihren eigenen zu erstellen.
447 447
448Bei der [v2-Runtime](#mcp-client-runtimes), wenn Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` setzen und ein Kanal-Server die MCP-Protokoll-Revision 2026-07-28 aushandelt, kann er keine Kanal-Nachrichten liefern, daher registriert Claude Code ihn nicht als Kanal. Das Verlassen der Variable ungesetzt oder das Setzen auf `legacy` hält Stdio-Server auf dem früheren Handshake.448Auf der [v2-Runtime](#mcp-client-runtimes), wenn Sie [`MCP_PROTOCOL_NEGOTIATION`](/docs/de/env-vars) auf `auto` setzen und ein Channel-Server MCP-Protokollrevision 2026-07-28 aushandelt, kann er keine Channel-Nachrichten liefern, daher registriert Claude Code ihn nicht als Channel. Das Lassen der Variable ungesetzt oder das Setzen auf `legacy` hält Stdio-Server auf dem früheren Handshake.
449 449
450<Tip>450<Tip>
451 Tipps:451 Tipps:
452 452
453 * Verwenden Sie das Flag `-s` oder `--scope`, um anzugeben, wo die Konfiguration gespeichert wird:453 * Verwenden Sie das Flag `-s` oder `--scope`, um anzugeben, wo die Konfiguration gespeichert wird:
454 * `local` (Standard): Nur für Sie im aktuellen Projekt verfügbar454 * `local` (Standard): nur für Sie im aktuellen Projekt verfügbar
455 * `project`: Geteilt mit allen im Projekt über die Datei `.mcp.json`455 * `project`: geteilt mit jedem im Projekt über die `.mcp.json`-Datei
456 * `user`: Für Sie über alle Projekte hinweg verfügbar456 * `user`: für Sie über alle Projekte verfügbar
457 * Legen Sie Umgebungsvariablen mit `-e` oder `--env`-Flags fest (zum Beispiel `-e KEY=value`)457 * Setzen Sie Umgebungsvariablen mit `-e` oder `--env`-Flags (zum Beispiel `-e KEY=value`)
458 * Die Flags `--transport` und `--header` akzeptieren auch die Kurzformen `-t` und `-H`458 * Die Flags `--transport` und `--header` akzeptieren auch `-t` und `-H` Kurzformen
459 * Konfigurieren Sie das Startup-Timeout des MCP-Servers mit der Umgebungsvariablen `MCP_TIMEOUT` (zum Beispiel `MCP_TIMEOUT=10000 claude` setzt ein 10-Sekunden-Timeout)459 * Konfigurieren Sie das MCP-Server-Starttimeout mit der Umgebungsvariable `MCP_TIMEOUT` (zum Beispiel `MCP_TIMEOUT=10000 claude` setzt ein 10-Sekunden-Timeout)
460 * Setzen Sie ein Pro-Server-Tool-Ausführungs-Timeout, indem Sie ein `timeout`-Feld in Millisekunden zum `.mcp.json`-Eintrag dieses Servers hinzufügen, zum Beispiel `"timeout": 600000` für zehn Minuten. Dies überschreibt die Umgebungsvariable `MCP_TOOL_TIMEOUT` nur für diesen Server460 * Setzen Sie ein Pro-Server-Werkzeug-Ausführungs-Timeout, indem Sie ein `timeout`-Feld in Millisekunden zum `.mcp.json`-Eintrag dieses Servers hinzufügen, zum Beispiel `"timeout": 600000` für zehn Minuten. Dies überschreibt die Umgebungsvariable `MCP_TOOL_TIMEOUT` nur für diesen Server
461 * Claude Code zeigt eine Warnung an, wenn die MCP-Tool-Ausgabe 10.000 Token überschreitet und begrenzt die Ausgabe standardmäßig auf 25.000 Token. Um dieses Limit zu erhöhen, setzen Sie die Umgebungsvariable `MAX_MCP_OUTPUT_TOKENS` (zum Beispiel `MAX_MCP_OUTPUT_TOKENS=50000`); die Warnschwelle ist fest. Siehe [MCP-Ausgabegrenzen und Warnungen](#mcp-output-limits-and-warnings)461 * Claude Code zeigt eine Warnung an, wenn die MCP-Werkzeugausgabe 10.000 Token überschreitet, und begrenzt die Ausgabe standardmäßig auf 25.000 Token. Um die Grenze zu erhöhen, setzen Sie die Umgebungsvariable `MAX_MCP_OUTPUT_TOKENS` (zum Beispiel `MAX_MCP_OUTPUT_TOKENS=50000`); die Warnschwelle ist fest. Siehe [MCP-Ausgabegrenzen und Warnungen](#mcp-output-limits-and-warnings)
462 * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern462 * Verwenden Sie `/mcp`, um sich bei Remote-Servern zu authentifizieren, die OAuth 2.0-Authentifizierung erfordern
463</Tip>463</Tip>
464 464
465Das Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Tool-Aufruf, und Fortschrittsbenachrichtigungen vom Server verlängern sie nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` zurück, oder auf seinen Standard von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. Für einen HTTP-, SSE- oder [claude.ai-Connector](/docs/de/mcp#use-mcp-servers-from-claude-ai)-Server gibt es auch einen zweiten, Pro-Request-Timer, der jeden Request bis zur ersten Antwort-Byte des Servers abdeckt. Claude Code setzt diesen Timer auf das Maximum von drei Werten: 60 Sekunden, das Tool-Timeout, das für den Server gilt, und `MCP_TIMEOUT`. Der 28-Stunden-Standard eines nicht gesetzten `MCP_TOOL_TIMEOUT` speist diese Vergleichung nicht, und ein Wert unter 60 Sekunden verkürzt den Timer nicht. Stdio- und WebSocket-Server haben keinen Pro-Request-Timer.465Das Pro-Server-`timeout` ist eine harte Wanduhr-Grenze pro Werkzeugaufruf, und Fortschrittsbenachrichtigungen vom Server verlängern es nicht. Werte unter 1000 werden ignoriert und fallen auf `MCP_TOOL_TIMEOUT` oder auf seinen Standard von etwa 28 Stunden, wenn diese Variable nicht gesetzt ist. Für einen HTTP-, SSE- oder [claude.ai-Connector](/docs/de/mcp#use-mcp-servers-from-claude-ai)-Server gibt es auch einen zweiten, pro-Anfrage-Timer, der jede Anfrage bis zur ersten Antwortbyte des Servers abdeckt. Claude Code setzt diesen Timer auf den größten von drei Werten: 60 Sekunden, das Werkzeug-Timeout, das für den Server gilt, und `MCP_TIMEOUT`. Der 28-Stunden-Standard eines nicht gesetzten `MCP_TOOL_TIMEOUT` tritt nicht in diesen Vergleich ein, und ein Wert unter 60 Sekunden verkürzt den Timer nicht. Stdio- und WebSocket-Server haben keinen Pro-Anfrage-Timer.
466 466
467Ein Pro-Server-`timeout` von mindestens 1000 fungiert auch als Untergrenze für das unten beschriebene Idle-Timeout: Claude Code bricht die Tool-Aufrufe dieses Servers niemals wegen Untätigkeit früher ab als das Pro-Server-`timeout`. Erfordert Claude Code v2.1.203 oder später.467Ein Pro-Server-`timeout` von mindestens 1000 fungiert auch als Untergrenze für das unten beschriebene Idle-Timeout: Claude Code bricht die Werkzeugaufrufe dieses Servers nicht früher als das Pro-Server-`timeout` ab. Erfordert Claude Code v2.1.203 oder später.
468 468
469Ein Tool-Aufruf an einen MCP-Server, der für das Idle-Fenster keine Antwort und keine Fortschrittsbenachrichtigung sendet, bricht mit einem Fehler ab, anstatt auf die Wanduhr-Grenze zu warten. Das Idle-Timeout gilt für jeden Server-Typ außer IDE-Servern und SDK-In-Process-Servern. Das Idle-Fenster beträgt standardmäßig fünf Minuten für HTTP-, SSE-, WebSocket- und [claude.ai-Connector](#use-mcp-servers-from-claude-ai)-Server und 30 Minuten für Stdio-Server. Vor v2.1.203 waren Stdio-Server vom Idle-Timeout ausgenommen.469Ein Werkzeugaufruf an einen MCP-Server, der für das Idle-Fenster keine Antwort und keine Fortschrittsbenachrichtigung sendet, bricht mit einem Fehler ab, anstatt auf die Wanduhr-Grenze zu warten. Das Idle-Timeout gilt für jeden Servertyp außer IDE-Servern und SDK In-Process-Servern. Das Idle-Fenster beträgt standardmäßig fünf Minuten für HTTP-, SSE-, WebSocket- und [claude.ai-Connector](#use-mcp-servers-from-claude-ai)-Server und 30 Minuten für Stdio-Server. Vor v2.1.203 waren Stdio-Server vom Idle-Timeout ausgenommen.
470 470
471Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/de/env-vars) in Millisekunden, um das Idle-Fenster zu ändern, oder setzen Sie sie auf `0`, um die Überprüfung zu deaktivieren.471Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/de/env-vars) in Millisekunden, um das Idle-Fenster zu ändern, oder setzen Sie sie auf `0`, um die Überprüfung zu deaktivieren.
472 472
473Diese Timeouts begrenzen, wie lange ein Aufruf ausgeführt werden kann, nicht immer wie lange er die Sitzung blockiert: Ein Hauptkonversations-Aufruf, der zwei Minuten überschreitet, wird zuerst zu einer Hintergrund-Aufgabe. Siehe [Automatisches Backgrounding von langen Tool-Aufrufen](#automatic-backgrounding-of-long-tool-calls).473Diese Timeouts begrenzen, wie lange ein Aufruf laufen kann, nicht immer wie lange er die Sitzung blockiert: Ein Hauptkonversations-Aufruf, der zwei Minuten überschreitet, wird zuerst zu einer Hintergrundaufgabe. Siehe [Automatisches Backgrounding von langen Werkzeugaufrufen](#automatic-backgrounding-of-long-tool-calls).
474 474
475<h3 id="automatic-backgrounding-of-long-tool-calls">475<h3 id="automatic-backgrounding-of-long-tool-calls">
476 Automatisches Backgrounding von langen Tool-Aufrufen476 Automatisches Backgrounding von langen Werkzeugaufrufen
477</h3>477</h3>
478 478
479Ein MCP-Tool-Aufruf in der Hauptkonversation, der nach zwei Minuten noch läuft, wird zu einer Hintergrund-Aufgabe, anstatt die Sitzung zu blockieren. Claude erhält die Aufgaben-ID sofort und arbeitet weiter, und das Ergebnis kommt als Aufgaben-Benachrichtigung, wenn der Aufruf sich setzt. Automatisches Backgrounding erfordert Claude Code v2.1.212 oder später.479Ein MCP-Werkzeugaufruf in der Hauptkonversation, der nach zwei Minuten noch läuft, wird statt die Sitzung zu blockieren zu einer Hintergrundaufgabe. Claude erhält die Aufgaben-ID sofort und arbeitet weiter, und das Ergebnis kommt als Aufgabenbenachrichtigung, wenn der Aufruf sich setzt. Automatisches Backgrounding erfordert Claude Code v2.1.212 oder später.
480 480
481Die Aufgabe erscheint in [`/tasks`](/docs/de/commands#all-commands), wo Sie sie auch stoppen können, und sie überlebt nicht das Beenden der Sitzung. Die Pro-Aufruf-Grenzen gelten immer noch, während der Aufruf im Hintergrund läuft: die Wanduhr-Grenze, die durch das Pro-Server-`timeout` oder [`MCP_TOOL_TIMEOUT`](/docs/de/env-vars) gesetzt wird, und das Idle-Timeout, das durch [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/de/env-vars) gesetzt wird.481Die Aufgabe erscheint in [`/tasks`](/docs/de/commands#all-commands), wo Sie sie auch stoppen können, und sie überlebt das Beenden der Sitzung nicht. Der Eintrag der Aufgabe zeigt den neuesten Fortschritt, den der Server gemeldet hat.
482 482
483Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/de/env-vars) in Millisekunden, um den Schwellenwert zu ändern, oder setzen Sie sie auf `0`, um automatisches Backgrounding auszuschalten. Das Setzen von `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1` schaltet es auch aus, zusammen mit allen anderen Hintergrund-Aufgaben-Funktionen.483Die Pro-Aufruf-Grenzen gelten weiterhin, während der Aufruf im Hintergrund läuft: die Wanduhr-Grenze, die durch das Pro-Server-`timeout` oder [`MCP_TOOL_TIMEOUT`](/docs/de/env-vars) gesetzt wird, und das Idle-Timeout, das durch [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/docs/de/env-vars) gesetzt wird.
484 484
485Einige Aufrufe werden niemals in den Hintergrund verschoben:485Setzen Sie die Umgebungsvariable [`CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS`](/docs/de/env-vars) in Millisekunden, um den Schwellenwert zu ändern, oder setzen Sie sie auf `0`, um automatisches Backgrounding auszuschalten. Das Setzen von `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` auf `1` schaltet es auch aus, zusammen mit allen anderen Hintergrundaufgaben-Funktionen.
486
487Einige Aufrufe werden nie in den Hintergrund verschoben:
486 488
487* Aufrufe von [Subagenten](/docs/de/sub-agents); Claude Code verschiebt nur Hauptkonversations-Aufrufe489* Aufrufe von [Subagenten](/docs/de/sub-agents); Claude Code verschiebt nur Hauptkonversations-Aufrufe
488* Aufrufe an IDE-Server490* Aufrufe an IDE-Server
489* Aufrufe im [nicht-interaktiven Modus](/docs/de/headless), es sei denn, `CLAUDE_AUTO_BACKGROUND_TASKS` ist auf `1` gesetzt, da ein One-Shot-Lauf enden kann, bevor das Ergebnis ankommt491* Aufrufe im [nicht-interaktiven Modus](/docs/de/headless), es sei denn, `CLAUDE_AUTO_BACKGROUND_TASKS` ist auf `1` gesetzt, da ein One-Shot-Lauf enden kann, bevor das Ergebnis ankommt
490 492
491Ein Aufruf, der auf einen offenen [Elicitation-Dialog](#respond-to-mcp-elicitation-requests) wartet, wird nicht in den Hintergrund verschoben, während der Dialog offen ist; der Server ist auf Ihre Eingabe blockiert, nicht langsam, daher verschiebt Claude Code die Verschiebung bis zum Schließen des Dialogs.493Ein Aufruf, der auf einen offenen [Elicitation-Dialog](#respond-to-mcp-elicitation-requests) wartet, wird nicht in den Hintergrund verschoben, während der Dialog offen ist; der Server wird auf Ihre Eingabe blockiert, nicht langsam, daher verschiebt Claude Code die Verschiebung, bis der Dialog schließt.
492 494
493<h3 id="plugin-provided-mcp-servers">495<h3 id="plugin-provided-mcp-servers">
494 Von Plugins bereitgestellte MCP-Server496 Von Plugins bereitgestellte MCP-Server
495</h3>497</h3>
496 498
497[Plugins](/docs/de/plugins/overview) können MCP-Server bündeln, die Tools und Integrationen bereitstellen, wenn Sie das Plugin aktivieren. Plugin-MCP-Server funktionieren identisch mit benutzerkonfigurierten Servern.499[Plugins](/docs/de/plugins/overview) können MCP-Server bündeln, die Werkzeuge und Integrationen bereitstellen, wenn Sie das Plugin aktivieren. Von Plugins bereitgestellte MCP-Server funktionieren identisch mit benutzerkonfigurierten Servern.
498 500
499**Wie Plugin-MCP-Server funktionieren**:501**Wie von Plugins bereitgestellte MCP-Server funktionieren**:
500 502
501* Plugins definieren MCP-Server in `.mcp.json` im Plugin-Root oder inline in `plugin.json`503* Plugins definieren MCP-Server in `.mcp.json` im Plugin-Root oder inline in `plugin.json`
502* Wenn Sie ein Plugin aktivieren, starten seine MCP-Server automatisch504* Wenn Sie ein Plugin aktivieren, startet Claude Code seine MCP-Server automatisch
503* Claude Code bietet Plugin-MCP-Tools neben manuell konfigurierten MCP-Tools an505* Claude Code bietet Plugin-MCP-Werkzeuge neben manuell konfigurierten MCP-Werkzeugen an
504* Sie fügen Plugin-Server hinzu und entfernen sie durch Installation oder Deinstallation des Plugins, nicht mit `/mcp`-Befehlen. Sie können einen installierten Plugin-Server immer noch [ohne Entfernung ausschalten](#disable-a-server-without-removing-it) in `/mcp`, was Claude Code daran hindert, sich damit zu verbinden, ohne das Plugin zu entfernen506* Sie fügen Plugin-Server hinzu und entfernen sie, indem Sie das Plugin installieren oder deinstallieren, nicht mit `/mcp`-Befehlen. Sie können einen installierten Plugin-Server immer noch [ohne ihn zu entfernen ausschalten](#disable-a-server-without-removing-it) in `/mcp`, was Claude Code daran hindert, sich damit zu verbinden, ohne das Plugin zu entfernen
505 507
506**Beispiel-Plugin-MCP-Konfiguration**:508**Beispiel-Plugin-MCP-Konfiguration**:
507 509
535}537}
536```538```
537 539
538**Plugin-MCP-Funktionen**:540**Von Plugins bereitgestellte MCP-Funktionen**:
539 541
540* **Automatischer Lebenszyklus**: Server verbinden und trennen sich an diesen Punkten:542* **Automatischer Lebenszyklus**: Server verbinden und trennen sich an diesen Punkten:
541 * Beim Sitzungsstart verbindet Claude Code die Server für aktivierte Plugins automatisch. In `/mcp` kann ein Remote-HTTP- oder SSE-Plugin-Server, den Sie zuvor verwendet haben, den [`cached`-Status](#server-status-detail) statt anzeigen; Claude Code verbindet ihn, wenn Claude eines seiner Tools zum ersten Mal aufruft543 * Beim Sitzungsstart verbindet Claude Code die Server für aktivierte Plugins automatisch. In `/mcp` kann ein Remote-(HTTP- oder SSE-)Plugin-Server, den Sie zuvor verwendet haben, stattdessen den [`cached`-Status](#server-status-detail) anzeigen; Claude Code verbindet ihn, wenn Claude eines seiner Werkzeuge zum ersten Mal aufruft
542 * Wenn Sie ein Plugin während einer Sitzung aktivieren oder deaktivieren, verbindet Claude Code seine MCP-Server oder trennt sie, wenn die Änderung angewendet wird. [Plugin-Änderungen ohne Neustart anwenden](/docs/de/plugins/cli-reference#reload-plugins) beschreibt, wann das ist. In einer Sitzung ohne interaktives Terminal verbindet oder trennt `/reload-plugins` Plugin-MCP-Server nicht; diese Änderungen treten in Ihrer nächsten Sitzung in Kraft544 * Wenn Sie ein Plugin während einer Sitzung aktivieren oder deaktivieren, verbindet oder trennt Claude Code seine MCP-Server, wenn die Änderung angewendet wird. [Plugin-Änderungen ohne Neustart anwenden](/docs/de/plugins/cli-reference#reload-plugins) beschreibt, wann das ist. In einer Sitzung ohne interaktives Terminal verbindet oder trennt `/reload-plugins` keine Plugin-MCP-Server; diese Änderungen treten in Ihrer nächsten Sitzung in Kraft
543 * Wenn Sie neu laden, behält Claude Code die Live-Verbindungen von Plugin-Servern, deren Konfiguration unverändert ist, und macht das gleiche, wenn Sie [die MCP-Server-Liste der Sitzung](/docs/de/agent-sdk/typescript#mcpsetserversresult) vom Agent SDK ersetzen, ohne sie zu benennen545 * Wenn Sie neu laden, behält Claude Code die Live-Verbindungen von Plugin-Servern, deren Konfiguration unverändert ist, und macht dasselbe, wenn Sie [die MCP-Serverliste der Sitzung](/docs/de/agent-sdk/typescript#mcpsetserversresult) vom Agent SDK ersetzen, ohne sie zu nennen
544 * Wenn Sie die Sitzung mit `/cd` [in ein anderes Verzeichnis verschieben](/docs/de/permissions#move-the-session-to-another-directory) bei v2.1.246 oder später, verbindet Claude Code die Server von Plugins, die die Einstellungen des neuen Verzeichnisses aktivieren, und trennt die Server von Plugins, die nicht mehr aktiviert sind, daher müssen Sie `/reload-plugins` nach der Verschiebung nicht ausführen546 * Wenn Sie die Sitzung mit `/cd` [in ein anderes Verzeichnis verschieben](/docs/de/permissions#move-the-session-to-another-directory) auf v2.1.246 oder später, verbindet Claude Code die Server von Plugins, die die Einstellungen des neuen Verzeichnisses aktivieren, und trennt die Server von Plugins, die nicht mehr aktiviert sind, daher müssen Sie `/reload-plugins` nach der Verschiebung nicht ausführen
545 * In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) startet ein MCP-Aufruf an einen Plugin-Server, der noch nicht verbunden ist, wie direkt nach einer Idle-Sitzung, die aufwacht, den Server bei Bedarf und wartet auf die Verbindung547 * In [Cloud-Sitzungen](/docs/de/claude-code-on-the-web) startet ein MCP-Aufruf an einen Plugin-Server, der noch nicht verbunden ist, wie direkt nach einer Idle-Sitzung aufwacht, den Server bei Bedarf und wartet auf die Verbindung
546* **Pfad-Platzhalter**: `${CLAUDE_PLUGIN_ROOT}` wird in das Installationsverzeichnis des Plugins aufgelöst, `${CLAUDE_PLUGIN_DATA}` in sein [persistentes Zustandsverzeichnis](/docs/de/plugins/components#path-variables-and-persistent-data), und `${CLAUDE_PROJECT_DIR}` in das stabile Projektstammverzeichnis. Die Substitution gilt für:548* **Pfad-Platzhalter**: `${CLAUDE_PLUGIN_ROOT}` wird zum Installationsverzeichnis des Plugins aufgelöst, `${CLAUDE_PLUGIN_DATA}` zu seinem [persistenten Zustand](/docs/de/plugins/components#path-variables-and-persistent-data)-Verzeichnis und `${CLAUDE_PROJECT_DIR}` zum stabilen Projektstammverzeichnis. Die Substitution gilt für:
547 * `stdio`-Server: `command`, `args`, `env`549 * `stdio`-Server: `command`, `args`, `env`
548 * `http`-, `sse`- und `ws`-Server: `url`, `headers` und `headersHelper`550 * `http`-, `sse`- und `ws`-Server: `url`, `headers` und `headersHelper`
549* **Zugriff auf Benutzerumgebung**: Zugriff auf die gleichen Umgebungsvariablen wie manuell konfigurierte Server551* **Zugriff auf Benutzerumgebung**: Zugriff auf dieselben Umgebungsvariablen wie manuell konfigurierte Server
550* **Mehrere Transporttypen**: Unterstützung für Stdio-, SSE-, HTTP- und WebSocket-Transporte, wobei die Transportunterstützung je nach Server variieren kann552* **Mehrere Transporttypen**: Unterstützung für Stdio-, SSE-, HTTP- und WebSocket-Transporte, obwohl die Transportunterstützung je nach Server variieren kann
551 553
552Plugin-Server erscheinen in `/mcp` mit Indikatoren, die zeigen, dass sie von Plugins stammen.554Plugin-Server erscheinen in `/mcp` mit Indikatoren, die zeigen, dass sie von Plugins stammen.
553 555
554**Plugin-MCP-Tool-Namen**:556Für einen Stdio-Server eines Plugins druckt `claude mcp get` `Command: stdio`, eine leere `Args:`-Zeile und jede Umgebungsvariable als `NAME=[REDACTED]`. Die Werte sind verborgen, da sie Anmeldedaten tragen können.
557
558**Namen von Plugin-MCP-Werkzeugen**:
555 559
556Tools von einem Plugin-gebündelten MCP-Server enthalten sowohl den Plugin-Namen als auch den Server-Schlüssel in ihrem aufrufbaren Namen. Die vollständige Form ist `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, wobei jedes Zeichen außerhalb von `A-Z`, `a-z`, `0-9`, `_` und `-` durch `_` ersetzt wird. Für den Server `database-tools`, der in einem Plugin namens `my-plugin` gebündelt ist, ist ein `query`-Tool aufrufbar als:560Werkzeuge von einem von einem Plugin gebündelten MCP-Server enthalten sowohl den Plugin-Namen als auch den Server-Schlüssel in ihrem aufrufbaren Namen. Die vollständige Form ist `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`, wobei jedes Zeichen außerhalb von `A-Z`, `a-z`, `0-9`, `_` und `-` durch `_` ersetzt wird. Für den `database-tools`-Server, der in einem Plugin namens `my-plugin` gebündelt ist, ist ein `query`-Werkzeug aufrufbar als:
557 561
558```562```
559mcp__plugin_my-plugin_database-tools__query563mcp__plugin_my-plugin_database-tools__query
560```564```
561 565
562Verwenden Sie diesen vollständigen Namen, wenn Sie auf das Tool in [Berechtigungsregeln](/docs/de/permissions), der `allowed-tools`-Liste eines Skills, dem [`tools`-Feld eines Subagenten](/docs/de/sub-agents#available-tools) oder einem [Hook-Matcher](/docs/de/hooks#match-mcp-tools) verweisen. Ein Hook-Matcher, der gegen den bloßen Server-Schlüssel geschrieben wurde, wie `mcp__database-tools__.*`, wird niemals für einen Plugin-gebündelten Server ausgelöst.566Verwenden Sie diesen vollständigen Namen, wenn Sie das Werkzeug in [Berechtigungsregeln](/docs/de/permissions), einer Skill-`allowed-tools`-Liste, einem [Subagenten-`tools`-Feld](/docs/de/sub-agents#available-tools) oder einem [Hook-Matcher](/docs/de/hooks#match-mcp-tools) referenzieren. Ein Hook-Matcher, der gegen den bloßen Server-Schlüssel geschrieben ist, wie `mcp__database-tools__.*`, wird niemals für einen von einem Plugin gebündelten Server ausgelöst.
563 567
564Der Server selbst registriert sich unter dem scoped Namen `plugin:<plugin-name>:<server-name>`, wie `plugin:my-plugin:database-tools`. Verwenden Sie diesen Namen, wo ein konfigurierter Server-Name erwartet wird, wie das [`server`-Feld eines `mcp_tool`-Hooks](/docs/de/hooks#mcp-tool-hook-fields).568Der Server selbst registriert sich unter dem scoped Namen `plugin:<plugin-name>:<server-name>`, wie `plugin:my-plugin:database-tools`. Verwenden Sie diesen Namen, wo ein konfigurierter Servername erwartet wird, wie das [`mcp_tool`-Hook-Feld `server`](/docs/de/hooks#mcp-tool-hook-fields).
565 569
566Siehe die [Plugin-Komponenten-Referenz](/docs/de/plugins/components#mcp-servers) für Details zum Bündeln von MCP-Servern mit Plugins.570Siehe die [Plugin-Komponenten-Referenz](/docs/de/plugins/components#mcp-servers) für Details zum Bündeln von MCP-Servern mit Plugins.
567 571
1454* Namen von Eigenschaften auf der obersten Ebene müssen 1 bis 64 Zeichen lang sein und dürfen nur ASCII-Buchstaben und Ziffern, `_`, `.` und `-` verwenden1458* Namen von Eigenschaften auf der obersten Ebene müssen 1 bis 64 Zeichen lang sein und dürfen nur ASCII-Buchstaben und Ziffern, `_`, `.` und `-` verwenden
1455* Das Schema muss gegen das JSON-Schema-Draft-2020-12-Meta-Schema gültig sein. Claude Code wendet diese Überprüfung auf Schemas an, die kein `$schema` deklarieren, und auf Schemas, die Draft 2020-12 deklarieren. Ein Schema, das einen anderen Dialekt deklariert, überspringt diese Überprüfung, obwohl die obige Überprüfung der Eigenschaftsnamen weiterhin gilt1459* Das Schema muss gegen das JSON-Schema-Draft-2020-12-Meta-Schema gültig sein. Claude Code wendet diese Überprüfung auf Schemas an, die kein `$schema` deklarieren, und auf Schemas, die Draft 2020-12 deklarieren. Ein Schema, das einen anderen Dialekt deklariert, überspringt diese Überprüfung, obwohl die obige Überprüfung der Eigenschaftsnamen weiterhin gilt
1456 1460
1457Claude Code führt die Überprüfungen nach dem [Umschreiben des Root-Level-Kombinators](#tool-input-schemas-with-a-root-level-combinator) auf dem Schema durch, das es tatsächlich senden würde.
1458
1459Wenn Claude Code ein Tool ausschließt, zeichnet es den Grund im Log des Servers auf und teilt Claude mit, welche Tools es ausgeschlossen hat und warum, damit Sie Claude fragen können, warum ein Tool fehlt. Wenn Sie das Schema auf dem Server korrigieren, wird das Tool beim nächsten Laden der Server-Tools durch Claude Code wieder verfügbar.1461Wenn Claude Code ein Tool ausschließt, zeichnet es den Grund im Log des Servers auf und teilt Claude mit, welche Tools es ausgeschlossen hat und warum, damit Sie Claude fragen können, warum ein Tool fehlt. Wenn Sie das Schema auf dem Server korrigieren, wird das Tool beim nächsten Laden der Server-Tools durch Claude Code wieder verfügbar.
1460 1462
1461Claude Code aktiviert den Ausschluss über ein Feature-Flag, das es von Anthropic abruft. Bei einer [Bereitstellung, bei der das Flag-Abrufen deaktiviert ist](/docs/de/env-vars#features-that-need-feature-flag-fetching), oder auf einem Computer, dessen Flags nie angekommen sind, z. B. auf einem isolierten Computer, führt Claude Code die Überprüfungen weiterhin durch und zeichnet im Log des Servers auf, welches Tool abgelehnt würde, sendet das Schema des Tools aber trotzdem an die API. Die API lehnt eine Anfrage, die dieses Schema enthält, mit [einem 400-Fehler ab, der das Tool nach seiner Position benennt](/docs/de/errors#tool-input-schema-is-invalid). Vor v2.1.216 führte keine Bereitstellung diese Überprüfungen durch.1463Claude Code aktiviert den Ausschluss über ein Feature-Flag, das es von Anthropic abruft. Bei einer [Bereitstellung, bei der das Flag-Abrufen deaktiviert ist](/docs/de/env-vars#features-that-need-feature-flag-fetching), oder auf einem Computer, dessen Flags nie angekommen sind, z. B. auf einem isolierten Computer, führt Claude Code die Überprüfungen weiterhin durch und zeichnet im Log des Servers auf, welches Tool abgelehnt würde, sendet das Schema des Tools aber trotzdem an die API. Die API lehnt eine Anfrage, die dieses Schema enthält, mit [einem 400-Fehler ab, der das Tool nach seiner Position benennt](/docs/de/errors#tool-input-schema-is-invalid). Vor v2.1.216 führte keine Bereitstellung diese Überprüfungen durch.