Claude Code MCP Vollständiger Leitfaden
Was ist Claude Code MCP?
Claude Code ist das offizielle KI-Kommandozeilen-Tool von Anthropic, während MCP (Model Context Protocol) das Protokoll ist, das es Claude Code ermöglicht, sich mit externen Tools und Diensten zu verbinden.
Einfach gesagt: MCP verwandelt Claude Code von einem KI-Assistenten, der nur lokale Dateien lesen und schreiben kann, in einen Super-Assistenten, der auf GitHub, Datenbanken, APIs und Cloud-Dienste zugreifen kann.
Warum MCP in Claude Code nutzen?
Claude Code ohne MCP
Was Sie tun können:
✓ Lokale Dateien lesen
✓ Code bearbeiten
✓ Befehle ausführen
✓ Bash-Tools nutzen
Was Sie nicht tun können:
✗ Ihre GitHub Issues ansehen
✗ Auf eine Cloud-Datenbank zugreifen
✗ Externe APIs aufrufen
✓ Echtzeitwetter abrufenClaude Code mit MCP
Was Sie tun können:
✓ Alle ursprünglichen Funktionen
✓ GitHub Issues und PRs ansehen / erstellen
✓ SQLite- und PostgreSQL-Datenbanken abfragen
✓ Auf externe Dienste wie Notion und Slack zugreifen
✓ Echtzeitwetter- und Kartendaten abrufen
✓ Browser-Automatisierung
✓ ...und mehrSchnellstart
Schritt 1: Verstehen, wo die Konfigurationsdateien liegen
Die MCP-Konfigurationsdateien von Claude Code befinden sich unter:
| Ebene | Konfigurationsdateipfad | Geltungsbereich |
|---|---|---|
| Benutzerebene | ~/.claude.json | Alle Projekte |
| Projektebene | .claude/mcp.json | Aktuelles Projekt |
Es wird empfohlen, zuerst Projektebenen-Konfiguration zu verwenden, damit verschiedene Projekte verschiedene MCP-Dienste nutzen können.
Schritt 2: MCP-Server mit natürlicher Sprache hinzufügen
In Claude Code müssen Sie Konfigurationsdateien nicht manuell bearbeiten oder Befehle auswendig lernen. Sie können beschreiben, was Sie wollen, in natürlicher Sprache:
Sie: Helfen Sie mir, einen GitHub MCP-Server hinzuzufügen. Mein Token ist ghp_xxx
Claude: Ich helfe Ihnen, den GitHub MCP-Server zu konfigurieren...
[Aktualisiert automatisch .claude/mcp.json]Sie: Fügen Sie einen SQLite-Datenbankserver hinzu. Die Datenbankdatei liegt unter ./data/app.db
Claude: Okay, ich konfiguriere den SQLite MCP-Server...Sie: Fügen Sie einen HTTP-Typ MCP-Server mit der Adresse https://api.example.com/mcp hinzu
Claude: Ich füge diesen Remote-MCP-Server hinzu...Schritt 3: Konfiguration verifizieren
Fragen Sie Claude Code direkt:
Sie: Welche MCP-Server sind jetzt verfügbar?
Claude: Aktuell konfigurierte MCP-Server:
• github - GitHub-Integration
• sqlite - SQLite-Datenbank
• filesystem - DateisystemzugriffOder verwenden Sie den Diagnose-Befehl:
/doctorSchritt 4: Nutzung starten
Sobald die Konfiguration erfolgreich ist, können Sie MCP-Funktionen direkt mit natürlicher Sprache aufrufen:
Sie: Helfen Sie mir, ein Issue auf GitHub zu erstellen
Claude: Ich kann Ihnen helfen, ein GitHub Issue zu erstellen. Bitte teilen Sie mir mit:
- die Repository-Adresse, zum Beispiel owner/repo
- den Issue-Titel
- die Issue-BeschreibungVerwaltung in natürlicher Sprache in Claude Code
MCP-Server ansehen und verwalten
Sie können mit Claude Code vollständig in natürlicher Sprache interagieren:
Sie: Alle konfigurierten MCP-Server auflisten
Sie: Verbindungsstatus der MCP-Server prüfen
Sie: Den MCP-Server namens notion löschen
Sie: Das Token für den github-Server aktualisierenProbleme diagnostizieren
Wenn Sie auf Probleme stoßen:
Sie: Prüfen Sie, was mit der MCP-Verbindung nicht stimmt
Claude: [führt automatisch Diagnosen durch, analysiert Konfigurationsdateien und prüft Serverstatus]Konfigurationsmethoden im Detail
Benutzerebenen-Konfiguration, global
Bearbeiten Sie ~/.claude.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token"
}
}
}
}Projektebenen-Konfiguration, empfohlen
Bearbeiten Sie .claude/mcp.json im Projektverzeichnis:
{
"mcpServers": {
"project-db": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "./data/app.db"]
}
}
}Vorteile der projektebenen Konfiguration:
- Teammitglieder können die Konfiguration durch Git-Commit teilen
- Verschiedene Projekte können verschiedene MCP-Dienste nutzen
- Konfiguration ist flexibler und verschmutzt nicht die globalen Einstellungen
Transportmodi
Claude Code unterstützt drei Transportmodi:
STDIO, lokaler Prozess
{
"mcpServers": {
"local-tool": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
}
}
}HTTP, entfernter Dienst
{
"mcpServers": {
"remote-api": {
"url": "https://api.example.com/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer your-token"
}
}
}
}SSE, Server-Sent Events
{
"mcpServers": {
"streaming": {
"url": "https://api.example.com/sse",
"transport": "sse"
}
}
}Praktische Beispiele
Beispiel 1: GitHub-Workflow-Automatisierung
Sie: Helfen Sie mir, die aktuellen Änderungen zu GitHub zu pushen und dann einen PR mit dem Titel "Neue Funktion hinzufügen" zu erstellen
Claude:
1. Aktuellen Git-Status prüfen...
2. Neuen Branch feature/new-feature erstellen...
3. Änderungen committen...
4. Zu Remote pushen...
5. github_create_pull_request aufrufen, um den PR zu erstellen...
6. PR erstellt: https://github.com/owner/repo/pull/123Beispiel 2: Datenbankabfrage
Sie: Die 10 zuletzt registrierten Nutzer in der Datenbank abfragen
Claude:
1. Mit SQLite-Datenbank verbinden...
2. Abfrage ausführen: SELECT * FROM users ORDER BY created_at DESC LIMIT 10
3. Ergebnisse zurückgeben:
- Zhang San (zhang@example.com) - 2025-02-28
- Li Si (li@example.com) - 2025-02-27
...Beispiel 3: Webseite-Screenshot-Analyse
Sie: https://example.com öffnen, einen Screenshot machen und das Seitendesign analysieren
Claude:
1. Browser starten...
2. Zu https://example.com navigieren...
3. Screenshot aufnehmen...
4. [Gibt Screenshot zurück]
5. Seitendesign-Analyse:
- Das Layout verwendet ein zentriertes Design mit max-width 1200px
- Die Hauptfarbe ist Blau (#3b82f6)
- Die Navigationsleiste ist oben fixiert
...Beispiel 4: Integration mit Notion
Sie: Die Notizen, die ich gerade geschrieben habe, in Notion speichern
Claude:
1. Notion MCP-Server verwenden...
2. Neue Seite erstellen...
3. Gespeichert: https://notion.so/page/xxxDebugging-Tipps
Diagnose mit natürlicher Sprache
Wenn etwas schiefgeht, sagen Sie es Claude Code einfach direkt:
Sie: Mein MCP-Server kann sich nicht verbinden. Bitte prüfen Sie das für mich
Sie: Der GitHub MCP-Tool-Aufruf ist fehlgeschlagen. Was ist der Grund?
Sie: Warum zeigt der sqlite-Server immer "connecting" an?Claude Code wird automatisch:
- Das Konfigurationsdateiformat prüfen
- Umgebungsvariablen validieren
- Die Serververbindung testen
- Konkrete Lösungsvorschläge geben
Häufige Problembehebung
| Problem | Mögliche Ursache | Lösung |
|---|---|---|
| Server nicht verbunden | Konfigurationsdateiformat-Fehler | JSON-Syntax prüfen |
| Tool kann nicht aufgerufen werden | Unzureichende Berechtigungen | Umgebungsvariablen prüfen |
| Verbindungszeitüberschreitung | Netzwerkproblem | URL oder Netzwerk prüfen |
| Prozess stürzt ab | Bug im Server-Code | Server-Logs prüfen |
Manueller Diagnose-Befehl
/doctorBeispielausgabe:
System Diagnostic Report:
===============
Claude Code: v2.5.0 ✓
Node.js: v20.0.0 ✓
MCP-Server-Status:
• github: ✓ Verbunden (12 Tools)
• sqlite: ✗ Verbindung fehlgeschlagen - Datenbankdatei nicht gefunden
• puppeteer: ✓ Verbunden (8 Tools)
Vorschläge:
1. Prüfen Sie, ob der sqlite-Datenbankpfad korrekt ist
2. Stellen Sie sicher, dass das .claude/mcp.json-Format korrekt istBest Practices
1. Projektebenen-Konfiguration bevorzugen
Warum projektebene Konfiguration empfehlen?
Verschiedene Projekte benötigen oft verschiedene MCP-Dienste. Zum Beispiel benötigt ein Frontend-Projekt möglicherweise Browser-Test-Tools, während ein Backend-Projekt Datenbankverbindungen benötigt. Mit projektebenen Konfiguration kann jedes Projekt seinen eigenen dedizierten Satz von MCP-Servern haben, was das Chaos einer großen globalen Konfiguration vermeidet.
Wichtiger noch: Projektebenen-Konfiguration kann in Git committet werden. Nachdem Teammitglieder das Projekt geklont haben, können sie direkt dieselben MCP-Dienste nutzen, ohne alles neu zu konfigurieren.
Projekt A, Frontend-Projekt -> .claude/mcp.json enthält Browser-Test-MCP
Projekt B, Backend-Projekt -> .claude/mcp.json enthält Datenbank-MCP2. Sensible Informationen in Umgebungsvariablen speichern
Schreiben Sie niemals Geheimnisse direkt in die Konfigurationsdatei.
Konfigurationsdateien können versehentlich in Git committet werden und Schlüssel leaken. Der richtige Ansatz ist, sensible Werte in Umgebungsvariablen zu speichern und nur die Variablennamen aus der Konfigurationsdatei zu referenzieren. Auf diese Weise bleiben die echten Geheimnisse selbst dann verborgen, wenn die Konfigurationsdatei öffentlich wird.
{
"env": {
"GITHUB_TOKEN": "$GITHUB_TOKEN",
"GITHUB_TOKEN": "ghp_abc123"
}
}Die erste Form ist gut, weil sie aus der Umgebungsvariablen liest. Die zweite Form ist schlecht, weil sie ein Geheimnis direkt hardcodiert.
3. Versionen anheften
Warum müssen Sie Versionen anheften?
Standardmäßig wird npx -y immer die neueste Version eines MCP-Servers verwenden. Dies kann Probleme verursachen: Eine neue Version kann Breaking Changes einführen oder ein Paket kann plötzlich entfernt oder umbenannt werden.
Indem Sie @version an den Paketnamen anhängen, stellen Sie sicher, dass immer eine validierte Version verwendet wird, was Überraschungen durch automatische Upgrades reduziert.
{
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github@1.2.3"]
}4. Ihre MCP-Konfiguration dokumentieren
Helfen Sie Teamkollegen, die MCP-Einrichtung schnell zu verstehen
Wenn ein Projekt mehrere MCP-Server enthält, verstehen neue Teammitglieder möglicherweise nicht, wofür jeder Server gedacht ist oder welche Konfiguration er erfordert. Eine README.md im .claude/-Verzeichnis zu erstellen, die den Zweck jedes Servers, die erforderliche Konfiguration und wie man Zugangsdaten erhält erklärt, kann die Kommunikationskosten erheblich senken.
Erstellen Sie .claude/README.md in Ihrem Projekt:
# MCP-Konfigurationshinweise
In diesem Projekt verwendete MCP-Server:
## github
Für GitHub-Automatisierung. Erfordert GITHUB_TOKEN.
## sqlite
Verbindet sich mit ./data/app.db zum Abfragen und Ändern von Daten.
## puppeteer
Für E2E-Tests.Claude Code vs. Claude Desktop
| Funktion | Claude Code | Claude Desktop |
|---|---|---|
| Konfigurationsdatei | ~/.claude.json oder .claude/mcp.json | claude_desktop_config.json |
| Projektebenen-Konfiguration | ✓ Unterstützt | ✗ Nicht unterstützt |
| Verwaltung in natürlicher Sprache | ✓ Unterstützt | ✗ Manuelle Bearbeitung erforderlich |
| Diagnose | ✓ /doctor | ✗ Keine |
| Hot Reload | ✓ Automatisch | ✗ App-Neustart erforderlich |
| Anwendungsfälle | Entwicklungs-Workflow, CI/CD | Tägliche Nutzung, Büroaufgaben |
Häufige MCP-Server
Hinweis: Die vollständige MCP-Server-Liste finden Sie im Anhang: MCP-Server-Verzeichnis
GitHub-Server
Funktion: Issues, PRs, Repository-Verwaltung
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token"
}
}
}
}Token erhalten von: https://github.com/settings/tokens
SQLite-Server
Funktion: SQLite-Datenbanken abfragen und verwalten
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "./data/database.db"]
}
}
}Dateisystem-Server
Funktion: Auf Dateien in einem bestimmten Verzeichnis zugreifen
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
}
}
}Puppeteer Browser-Automatisierung
Funktion: Browser-Steuerung, Screenshots, automatisierte Tests
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}Brave Search-Server
Funktion: Websuche
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-brave-api-key"
}
}
}
}Referenzressourcen
Offizielle Dokumentation
- Claude Code offizielle Dokumentation - MCP
- MCP offizielle Website
- MCP-Spezifikationsdokumentation
- MCP GitHub-Repository
Offizielle Server
- @modelcontextprotocol/server-github - GitHub-Integration
- @modelcontextprotocol/server-sqlite - SQLite-Datenbank
- @modelcontextprotocol/server-postgres - PostgreSQL-Datenbank
- @modelcontextprotocol/server-filesystem - Dateisystemzugriff
- @modelcontextprotocol/server-puppeteer - Browser-Automatisierung
- @modelcontextprotocol/server-fetch - Web-Fetching
- @modelcontextprotocol/server-brave-search - Brave-Suche
- @modelcontextprotocol/server-git - Git-Operationen
Tutorial-Artikel
- Eine gründliche Erklärung von MCP-Prinzipien und Praxis
- MCP (Model Context Protocol) Architektur und Funktionsweise
- 2025 neuestes Großmodell-Tutorial: vom Einstieg bis zur Beherrschung des MCP-Protokolls
- MCP von Grund auf lernen (8) - einen MCP-Server bauen
Konfigurationsleitfäden
Entwicklungs-Tutorials
- Anfängerfreundlicher MCP-Server-Praxis-Leitfaden in TypeScript und Python
- Ultimativer MCP-Server-Bau-Leitfaden: vollständige TypeScript- und Python-Tutorials
- Den einfachsten MCP-Server mit TypeScript bauen
- Einen TypeScript MCP-Server mit Azure Container Applications generieren
MCP-Server-Ressourcen
- Awesome MCP Servers - die umfassendste MCP-Server-Liste
- Offizielles MCP-Registry - Anthropics offizieller App Store
- MCP.so - Community MCP-Server-Zentrum
- Glama.ai MCP - MCP-Verzeichnis mit Bewertungen und Kommentaren
- Smithery - MCP-Server-Marktplatz
- MCPHub - aufgeräumtes Interface-Verzeichnis
- LobeHub MCP - chinesisches MCP-Verzeichnis
Karten- und Wetterdienste
- Amap MCP Server
- Tencent Standortdienst MCP-Dokumentation
- Caiyun Wetter MCP Server
- OpenWeatherMap MCP Server
Community-Ressourcen
- Everything Claude Code Config - produktionsgrade Claude-Code-Konfigurationssammlung
- AI Coding Guide - chinesischer Lernpfad für Claude Code