Claude Code MCP: Model Context Protocol 2026

Das Model Context Protocol (MCP) ist der Game-Changer für Claude Code — eigene Tools, APIs und Datenquellen direkt in Claude integrieren. Von Datenbankabfragen bis zu GitHub-Aktionen: MCP macht Claude Code zum universellen Entwicklungsassistenten für deinen spezifischen Stack.

Was ist MCP und warum ist es wichtig?

KonzeptMCP: Standardprotokoll für KI-Tool-Integration

# MCP = Model Context Protocol # Offener Standard von Anthropic: KI-Modelle ↔ externe Tools Ohne MCP: Claude Code → nur Dateisystem + Terminal Mit MCP: Claude Code → Dateisystem + Terminal + DEINE Tools MCP-Fähigkeiten: # Tools — Aktionen ausführen (DB-Query, API-Call, GitHub PR erstellen) # Resources — Daten bereitstellen (Docs, Schema, Config) # Prompts — Prompt-Templates für wiederkehrende Tasks Beispiel-Use-Cases: # "Zeige mir alle offenen GitHub Issues meines Repos" # "Erstelle PR aus aktuellem Branch mit korrektem Template" # "Frage meine Supabase-DB: Wieviele User haben sich heute registriert?" # "Füge Notion-Task für diesen Bug hinzu" # "Lese aktuellen Kurs von Bitcoin von CoinGecko" # Claude Code findet MCP-Server in ~/.claude/claude_desktop_config.json
MCP = Superpower für Teams: Einmal einen MCP-Server für eure interne API bauen → jeder Entwickler im Team hat sofort Zugriff auf alle internen Tools direkt in Claude Code.

Bestehende MCP-Server nutzen

KonfigurationMCP-Server einrichten in Claude Code

# ~/.claude/claude_desktop_config.json (macOS/Linux) { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" } }, "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://..."] }, "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"] }, "slack": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-slack"], "env": { "SLACK_BOT_TOKEN": "xoxb-xxx" } } } } # Populäre MCP-Server: # @modelcontextprotocol/server-github — Issues, PRs, Commits # @modelcontextprotocol/server-postgres — SQL-Queries direkt # @modelcontextprotocol/server-slack — Nachrichten lesen/senden # @modelcontextprotocol/server-puppeteer — Web-Scraping # mcp-server-notion — Notion-Seiten lesen/schreiben # mcp-server-linear — Issues in Linear

Eigenen MCP-Server bauen

BuildCustom MCP-Server mit TypeScript

# Prompt: "Baue MCP-Server für unsere interne REST-API — Produkte abfragen, # Bestellungen erstellen, Kunden suchen" npm install @modelcontextprotocol/sdk zod // mcp-server/src/index.ts import { Server } from '@modelcontextprotocol/sdk/server/index.js' import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js' import { z } from 'zod' const server = new Server( { name: 'internal-api-mcp', version: '1.0.0' }, { capabilities: { tools: {} } } ) // Tool definieren: Produkte suchen server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: 'search_products', description: 'Sucht Produkte nach Name oder SKU in der internen Datenbank', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Suchbegriff' }, limit: { type: 'number', description: 'Max Ergebnisse', default: 10 } }, required: ['query'] } }, { name: 'create_order', description: 'Erstellt eine neue Bestellung im System', inputSchema: { type: 'object', properties: { productId: { type: 'string' }, quantity: { type: 'number' }, customerId: { type: 'string' } }, required: ['productId', 'quantity', 'customerId'] } } ] })) // Tool ausführen server.setRequestHandler(CallToolRequestSchema, async (request) => { switch (request.params.name) { case 'search_products': { const { query, limit = 10 } = request.params.arguments as { query: string; limit?: number } const products = await fetch(`https://api.internal/products?q=${query}&limit=${limit}`, { headers: { Authorization: `Bearer ${process.env.INTERNAL_API_KEY}` } }).then(r => r.json()) return { content: [{ type: 'text', text: JSON.stringify(products, null, 2) }] } } case 'create_order': { // ... Bestellung erstellen } } }) // Server starten const transport = new StdioServerTransport() await server.connect(transport)

MCP-Server registrieren und nutzen

# Eigenen Server in Claude Code registrieren { "mcpServers": { "internal-api": { "command": "node", "args": ["/path/to/mcp-server/dist/index.js"], "env": { "INTERNAL_API_KEY": "your-key" } } } } # Claude Code nutzt automatisch die neuen Tools: # User: "Suche nach Produkten mit 'Laptop' in unserem System" # Claude: [ruft search_products("Laptop") auf] → zeigt Ergebnisse # User: "Erstelle Test-Bestellung für Produkt SKU-001, Kunde C42, Menge 3" # Claude: [ruft create_order(...) auf] → "Bestellung #12345 erstellt" # MCP Resources — Dokumentation bereitstellen server.setRequestHandler(ListResourcesRequestSchema, async () => ({ resources: [{ uri: 'docs://api/schema', name: 'API Schema', description: 'OpenAPI-Schema unserer internen API', mimeType: 'application/json' }] })) # Claude liest automatisch das Schema und kennt alle Endpoints

TippsMCP Best Practices

# Gute Tool-Beschreibungen sind entscheidend # Claude entscheidet anhand der description, WANN ein Tool sinnvoll ist ❌ SCHLECHT: description: 'Gets data' ✅ GUT: description: 'Retrieves customer orders from the CRM. Use when the user asks about order history, recent purchases, or order status. Returns orders sorted by date descending.' # Parameter-Typen genau spezifizieren: # ✅ Zod-Schema für Validierung # ✅ Default-Werte dokumentieren # ✅ Enum-Werte auflisten wenn möglich # Error-Handling: Immer strukturiert antworten return { content: [{ type: 'text', text: 'Fehler: Produkt nicht gefunden' }], isError: true // Claude weiß: Tool hat versagt }
Security: MCP-Server laufen lokal und haben Zugriff auf deine Credentials. Niemals MCP-Server von unbekannten Quellen installieren. Bei eigenen Servern: API-Keys immer aus Umgebungsvariablen, niemals hardcoden.

MCP-Modul im Kurs

Im Claude Code Mastery Kurs: vollständiges MCP-Modul mit Server-Setup, Tool-Design, Resource-Integration und Best Practices — lerne Claude Code mit deinen eigenen Tools zu erweitern.

14 Tage kostenlos testen →