MCP Server einrichten in Claude Code: Schritt für Schritt
MCP Server einrichten ist der Weg, Claude Code Zugriff auf Dinge außerhalb Ihrer Dateien zu geben: ein Ticket-Tracker, eine Datenbank, ein Design-Tool, Ihre eigene API. MCP (Model Context Protocol) ist ein offener Standard für solche Verbindungen. Das Setup selbst ist ein einziger Befehl – die meisten Probleme kommen später: Der Server funktioniert bei Ihnen, aber nicht im Team, ein Key landet im Repository, oder die Tools werden aufgelistet und nie benutzt.
Dieser Guide folgt der offiziellen MCP-Dokumentation für Claude Code. Wir verbinden in unserem Studio täglich MCP-Server mit Claude Code; die unten aufgeführten Fehler sind die, die wir bei Kunden-Setups am häufigsten sehen.
Bevor Sie einen Server hinzufügen: drei Fragen
- Wer braucht ihn? Nur Sie, alle in diesem Projekt oder Sie in allen Projekten. Die Antwort ist der Scope – er entscheidet, wo die Konfiguration liegt.
- Worauf darf er zugreifen? Ein Server, der nur aus einem Ticket-Tracker liest, ist ein anderes Risiko als einer, der in Ihre Datenbank schreiben oder E-Mails senden kann. Starten Sie read-only, wenn der Dienst das erlaubt.
- Wo liegen die Keys? Entscheiden Sie das vor dem ersten Befehl. Ein Token, das in eine geteilte Datei getippt wurde, ist der schwerste Fehler rückgängig zu machen, weil er in der Repository-Historie bleibt.
Drei Wege, einen Server hinzuzufügen
Ein Remote-Server über HTTP ist die übliche Wahl für Cloud-Dienste:
claude mcp add --transport http notion https://mcp.notion.com/mcp
Wenn der Dienst einen Token braucht, übergeben Sie ihn als Header:
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
Ein lokaler Server über stdio läuft als Programm auf Ihrem Rechner:
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-server
Das -- ist wichtig. Alles davor ist für Claude Code; alles danach ist der eigene Befehl des Servers, der unverändert weitergegeben wird.
SSE funktioniert noch, gilt aber als veraltet. Nutzen Sie bevorzugt HTTP, wo der Dienst es unterstützt.
Scopes: wer den Server sieht
Jeder Server wird mit einem Scope hinzugefügt – und hier gehen Team-Setups meist schief.
| Scope | Wo er gilt | Mit dem Team geteilt | Gespeichert in |
|---|---|---|---|
| local (Standard) | dieses Projekt, nur Sie | nein | ~/.claude.json |
| project | dieses Projekt | ja, über das Repository | .mcp.json im Projektstamm |
| user | alle Ihre Projekte | nein | ~/.claude.json |
Wählen Sie ihn mit --scope:
claude mcp add --transport http shared-server --scope project https://example.com/mcp
Wenn derselbe Servername in mehreren Scopes existiert, gewinnt local, dann project, dann user. Der gewinnende Eintrag wird als Ganzes verwendet; Felder werden nicht zusammengeführt.
Eine teamfähige .mcp.json ohne Geheimnisse
Der Projekt-Scope schreibt eine Datei, die Sie committen können. Halten Sie Keys mit Umgebungsvariablen daraus fern:
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": { "Authorization": "Bearer ${API_KEY}" }
}
}
}
${VAR} wird durch den Wert der Variable ersetzt, und ${VAR:-default} fällt auf den Standardwert zurück. Hat eine Variable keinen Wert und keinen Default, warnt Claude Code und lässt den Text unverändert stehen – ein fehlender Key zeigt sich also als fehlgeschlagene Verbindung statt stillschweigend.
In einer interaktiven Session bittet Claude Code jede Person, die Server des Projekts vor der ersten Nutzung zu bestätigen. Diese Nachfrage ist ein Feature: Ein Server aus einem gerade geklonten Repository sollte nicht ohne Ihre Zustimmung starten.
Prüfen, ob das MCP server setup funktioniert
claude mcp list
claude mcp get notion
claude mcp list zeigt jeden Server mit einem Status: verbunden, Authentifizierung nötig oder Verbindung fehlgeschlagen. Innerhalb einer Session zeigt /mcp dasselbe und erlaubt Ihnen, sich bei Remote-Servern mit OAuth anzumelden. Um einen Server zu entfernen, nutzen Sie claude mcp remove notion.
Probleme, die wir am häufigsten sehen
- Der Server funktioniert nur bei Ihnen. Er wurde mit dem Standard-Scope local hinzugefügt. Fügen Sie ihn mit
--scope projectneu hinzu. - Ein Key im Repository. Jemand hat einen Token in die
.mcp.jsoneingefügt. Rotieren Sie den Key und steigen Sie dann auf${API_KEY}um. - Tools aufgelistet, nie erlaubt. Berechtigungsregeln und Hook-Matcher nutzen vollständige Tool-Namen:
mcp__server__tool. Ein Matcher wiemcp__memoryallein passt auf nichts; siehe unseren Artikel zu Claude Code Hooks. - Riesige Antworten. Claude Code warnt, wenn ein Tool-Ergebnis 10.000 Tokens übersteigt, und begrenzt es standardmäßig auf 25.000 (
MAX_MCP_OUTPUT_TOKENSändert das Limit). Ein Tool, das jedes Mal eine ganze Tabelle zurückgibt, braucht Filter, kein größeres Limit. - Ein ungeprüfter Server. Server, die externe Inhalte laden, können Prompt-Injection in Ihre Session tragen. Verbinden Sie nur Server, denen Sie vertrauen, und geben Sie ihnen nur den Zugriff, den die Aufgabe braucht.
Wenn Sie abwägen, ob eine Aufgabe in einen MCP-Server, eine Skill oder einen Subagenten gehört, behandelt unser Guide zu Agents vs. Skills die Unterschiede.
Wann Sie es abgeben sollten
Wenn Ihr Team Claude Code an die eigenen Systeme anbinden will – mit geteilter Konfiguration, ohne Geheimnisse im Repository und mit Regeln, die halten – dann richten wir die MCP-Server, Agents und getesteten Regeln ein und hinterlassen Ihnen eine funktionierende Konfiguration. Wie unser eigenes System aufgebaut ist, sehen Sie auf der Work-Seite.
Fragen
Warum sehen meine Teamkollegen den von mir hinzugefügten MCP-Server nicht?
Weil der Standard-Scope local ist: Der Server wird nur in Ihrer eigenen ~/.claude.json für genau dieses Projekt gespeichert. Fügen Sie ihn mit --scope project hinzu, damit er in die .mcp.json im Repository geschrieben wird, die das Team committen kann.
Wo gehören API-Keys für einen MCP-Server hin?
Nicht in die .mcp.json selbst. Schreiben Sie ${API_KEY} in die Felder url, headers, command, args oder env und halten Sie den Wert in einer Umgebungsvariable. ${VAR:-default} liefert einen Fallback.
Warum wird der Server aufgelistet, aber Claude nutzt seine Tools nie?
Prüfen Sie zuerst den Status mit claude mcp list: Möglicherweise ist eine Authentifizierung nötig oder die Verbindung schlägt fehl. Prüfen Sie dann die Tool-Namen in Ihren Berechtigungsregeln und Hooks: Sie haben die Form mcp__server__tool.
Wird SSE noch unterstützt?
Es funktioniert noch, gilt aber als veraltet. Nutzen Sie den HTTP-Transport, wo der Dienst ihn anbietet; neuere Versionen versuchen zuerst HTTP und fallen selbstständig auf SSE zurück.