Claude Code MCP-Server: Model Context Protocol einrichten
MCP verbindet Claude Code mit GitHub, Datenbanken, JIRA und mehr. Lernen Sie, wie Sie MCP-Server konfigurieren und eigene Integrationen erstellen.
MCP (Model Context Protocol) ist das Feature, das Claude Code von einem Chat-Interface zu einem vollwertigen Entwicklungs-Tool macht. Mit MCP greift Claude auf Ihre Tools zu: GitHub, Datenbanken, Issue Tracker, Monitoring - alles aus einer Schnittstelle.
Was ist MCP?
Das Model Context Protocol ist ein offener Standard, den Anthropic 2024 veröffentlicht hat. Inzwischen wurde MCP von der Linux Foundation übernommen und wird von OpenAI, Google und vielen Entwickler-Tools unterstützt.
Das Problem, das MCP löst:
Ohne MCP müssten Sie für jeden externen Dienst eine eigene Integration bauen. Mit MCP gibt es ein universelles Protokoll - einmal implementiert, überall nutzbar.
Was MCP ermöglicht:
User: Implementiere das Feature aus JIRA-4521,
prüfe die Sentry-Logs und erstelle einen PR auf GitHub
Claude: [liest JIRA via MCP]
[analysiert Sentry-Fehler via MCP]
[implementiert Feature]
[erstellt PR via GitHub MCP]
Ein Befehl, drei externe Systeme, null manuelles Copy-Paste.
Die drei Transport-Typen
MCP-Server können auf drei Arten kommunizieren:
1. HTTP Transport (empfohlen für Remote)
Für Cloud-gehostete Dienste wie GitHub oder Notion:
# Syntax
claude mcp add --transport http <name> <url>
# Beispiele
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# Mit Authentifizierung
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
2. SSE Transport (Server-Sent Events)
Für Dienste, die SSE unterstützen:
# Syntax
claude mcp add --transport sse <name> <url>
# Beispiel
claude mcp add --transport sse asana https://mcp.asana.com/sse
Hinweis: SSE wird zugunsten von HTTP Transport deprecated. Nutzen Sie HTTP wenn möglich.
3. Stdio Transport (lokale Server)
Für lokal laufende Server - ideal für Datenbanken oder selbst gehostete Tools:
# Syntax
claude mcp add --transport stdio <name> -- <command> [args...]
# Beispiele
claude mcp add --transport stdio postgres \
-- npx -y @bytebase/dbhub --dsn "postgresql://user:pass@localhost/db"
claude mcp add --transport stdio filesystem \
-- npx -y @anthropic-ai/mcp-server-filesystem /path/to/allowed/dir
claude mcp add --transport stdio --env AIRTABLE_API_KEY=xxx airtable \
-- npx -y airtable-mcp-server
Konfiguration nach Scope
MCP-Konfigurationen können auf verschiedenen Ebenen gespeichert werden:
| Scope | Datei | Anwendung |
|---|---|---|
| User | ~/.claude.json | Alle Ihre Projekte |
| Project | .mcp.json (Projekt-Root) | Team-shared via Git |
| Local | .mcp.json + lokale Overrides | Persönliche Einstellungen |
User-Scope: ~/.claude.json
Für Server, die Sie in allen Projekten nutzen:
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
}
Project-Scope: .mcp.json
Für team-weite Konfiguration (committen Sie diese Datei):
{
"mcpServers": {
"project-db": {
"command": "npx",
"args": ["-y", "@bytebase/dbhub", "--dsn", "${DATABASE_URL}"],
"env": {}
}
}
}
Environment Variables in .mcp.json
Sie können Umgebungsvariablen verwenden:
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
Syntax:
${VAR}- Wert der Umgebungsvariable${VAR:-default}- Wert oder Fallback
Beliebte MCP-Server einrichten
GitHub
Der wichtigste Server für die meisten Entwickler:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
Was Sie damit können:
- Issues lesen und kommentieren
- Pull Requests erstellen und reviewen
- Repository-Informationen abrufen
- Workflows triggern
Beispiel-Workflow:
User: Lies Issue #42 und implementiere das Feature
Claude: [liest Issue via MCP]
[implementiert Feature]
[erstellt PR mit Referenz zu #42]
PostgreSQL / MySQL
Datenbankzugriff für Schema-Informationen und Queries:
# PostgreSQL
claude mcp add --transport stdio postgres \
-- npx -y @bytebase/dbhub --dsn "postgresql://user:pass@host:5432/db"
# MySQL
claude mcp add --transport stdio mysql \
-- npx -y @bytebase/dbhub --dsn "mysql://user:pass@host:3306/db"
Sicherheitshinweis: Nutzen Sie einen Read-Only User für Claude. Erstellen Sie einen dedizierten DB-User mit SELECT-Rechten.
Was Sie damit können:
- Schema-Informationen abrufen
- Queries ausführen (SELECT)
- Datenmodelle verstehen
Notion
Für Dokumentation und Wissensmanagement:
claude mcp add --transport http notion https://mcp.notion.com/mcp
Was Sie damit können:
- Dokumentation lesen
- Seiten erstellen und aktualisieren
- Datenbanken abfragen
Sentry
Für Error-Tracking und Debugging:
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
Was Sie damit können:
- Fehlermeldungen analysieren
- Stack Traces verstehen
- Betroffenen Code identifizieren
Slack
Für Team-Kommunikation:
claude mcp add --transport http slack https://mcp.slack.com/mcp
Was Sie damit können:
- Nachrichten lesen
- In Channels posten
- Thread-Kontext verstehen
MCP-Server verwalten
# Alle Server auflisten
claude mcp list
# Details zu einem Server
claude mcp get github
# Server entfernen
claude mcp remove github
# Status prüfen (in Claude Code)
/mcp
MCP Tool Search
Bei vielen konfigurierten Servern kann der Kontext gross werden. MCP Tool Search lädt Tools dynamisch nach Bedarf:
# Aktivieren mit 5% Threshold
ENABLE_TOOL_SEARCH=auto:5 claude
# Deaktivieren
ENABLE_TOOL_SEARCH=false claude
Wann aktivieren:
- Mehr als 10 MCP-Server konfiguriert
- Kontext-Limits werden erreicht
- Performance-Probleme
Eigenen MCP-Server entwickeln
Für interne Tools oder spezielle APIs können Sie eigene Server bauen:
Python SDK
from mcp import Server, Tool
server = Server("my-internal-api")
@server.tool("get_customer")
async def get_customer(customer_id: str) -> dict:
"""Retrieve customer data from internal CRM"""
# Ihre Logik hier
return {"id": customer_id, "name": "..."}
server.run()
TypeScript SDK
import { Server } from "@modelcontextprotocol/sdk";
const server = new Server("my-internal-api");
server.addTool({
name: "get_customer",
description: "Retrieve customer data from internal CRM",
handler: async ({ customer_id }) => {
// Ihre Logik hier
return { id: customer_id, name: "..." };
}
});
server.start();
Ressourcen:
Best Practices
Sicherheit
- Least Privilege: Geben Sie Claude nur die Rechte, die wirklich nötig sind
- Read-Only für Datenbanken: Dedizierter User mit SELECT-only
- Tokens rotieren: Regelmässig API-Keys erneuern
- Audit-Logs: Bei sensiblen Servern Zugriffe loggen
Performance
- Lokale Server für Datenbanken: Stdio statt Remote für niedrige Latenz
- Tool Search aktivieren: Bei vielen Servern
- Unnötige Server entfernen: Weniger ist mehr
Team-Setup
- Project-Scope nutzen:
.mcp.jsoncommitten - Secrets in Env-Vars: Nie Credentials in Dateien
- Dokumentation: README für Server-Setup
Troubleshooting
Server verbindet nicht
# Verbose Output aktivieren
claude --verbose
# Server-Status prüfen
/mcp
Authentifizierung fehlgeschlagen
- Token abgelaufen? Neu generieren
- Richtige Scopes? API-Docs prüfen
- URL korrekt? Mit curl testen
Timeout bei Queries
- Netzwerk prüfen
- Server-Logs checken
- Timeout erhöhen (wenn möglich)
Fazit
MCP transformiert Claude Code von einem Coding-Assistenten zu einem vollintegrierten Entwicklungs-Tool. Mit wenigen Befehlen verbinden Sie GitHub, Datenbanken, Issue Tracker und Monitoring.
Starten Sie mit GitHub und einer Datenbank. Wenn Sie den Workflow verinnerlicht haben, erweitern Sie auf weitere Dienste.
Weiterführende Artikel:
- Claude Code: Der komplette Überblick - Alle Features im Überblick
- Claude Code Skills erstellen - Wiederverwendbare Workflows
- Claude Code Agents verstehen - Sub-Agenten nutzen
Nächster Schritt: Sie möchten MCP für Ihre internen Systeme nutzen? Wir entwickeln massgeschneiderte MCP-Server für Ihre Tools und APIs. Mehr über unsere Entwicklungsdienstleistungen.


