Claude Code und MCP-Server: wie externe Tools integriert werden
Die eingebauten Tools von Claude Code (Bash, Read, Write, Edit, Grep etc.) decken das Wesentliche eines Coding-Workflows ab. Wirklich spannend wird es, sobald eigene Werkzeuge dazukommen: ein interner Issue-Tracker, eine produktive Datenbank, ein API für Kunden- oder Content-Daten. Genau dafür gibt es das Model Context Protocol — kurz MCP.
Dieser Artikel beschreibt, wie MCP-Server in Claude Code eingebunden werden, was sie liefern können und warum die Berechtigungs-Strategie an dieser Stelle wichtiger ist als beim normalen Tool-Use.
Was ist MCP — in zwei Sätzen
MCP ist ein offener Standard von Anthropic, der definiert, wie KI-Anwendungen und externe Tool-Provider miteinander reden. Statt für jedes Modell und jede Integration ein eigenes Protokoll zu erfinden, sprechen Claude Code (und perspektivisch viele weitere Hosts) mit allen MCP-Servern in derselben Sprache. Mehr Hintergrund im Glossar-Eintrag zu MCP.
Wie Claude Code MCP-Server einbindet
Die Einbindung läuft über eine .mcp.json-Konfiguration im Projekt (oder global im Benutzer-Profil). Dort wird pro Server festgelegt, wie er gestartet wird und welche Berechtigungen er bekommt. Es gibt zwei gängige Transport-Varianten:
- Lokale stdio-Server. Werden als Subprozess gestartet (z. B.
node,python,npx) und kommunizieren über Standard-Input/Output. Vorteil: laufen vollständig auf dem eigenen Rechner, keine Netzwerk-Latenz, kein Auth-Aufwand. - Remote HTTP-Server. Werden als HTTP-Endpunkt angesprochen, typischerweise mit Token-Auth. Praktisch für Team-weite oder gemanagte MCP-Integrationen.
Wer einen MCP-Server zum ersten Mal in einer Session sieht, kann sich via /mcp einen Überblick verschaffen: Welche Server sind verbunden, welche Tools, Resources und Prompts stellen sie zur Verfügung.
Was ein MCP-Server bereitstellt
MCP kennt drei Arten von Bausteinen, die ein Server anbieten kann:
- Tools — ausführbare Funktionen mit definiertem Input/Output-Schema. Aus Sicht von Claude Code sehen sie aus wie eingebaute Tools, werden aber an den jeweiligen Server delegiert. Beispiele:
create-ticket,list-table-rows,approve-deployment. - Resources — strukturierte Daten, die das Modell lesen kann (z. B. der Inhalt einer Tabelle, ein Dokument, ein Datenbank-Snapshot). Sie können in den Kontext gezogen werden, ohne dass ein Tool-Call nötig ist.
- Prompts — vordefinierte Prompt-Templates, die der Server für bestimmte Workflows mitliefert. Praktisch, um wiederkehrende Aufgaben standardisiert anzustoßen.
In der Praxis sind Tools der häufigste Baustein. Resources und Prompts kommen ins Spiel, wenn der MCP-Server eigene Datenmodelle oder eigene Workflows mitbringen will.
Konkrete Use-Cases
Wo sich eigene MCP-Server in der Praxis lohnen:
- Eigene Datenbank. Statt jedes Mal SQL über
Bashabzusetzen, gibt es typisierte Tools wielist-table-rows,write-table-rowoderapprove-table-row— mit eingebauter Validierung und klaren Berechtigungen. - Issue-Tracker. Ein MCP-Server vor dem internen Ticketsystem ermöglicht es, neue Tickets anzulegen, Status zu setzen oder Kommentare zu schreiben — direkt aus der Session, ohne den Browser zu öffnen.
- Internes API. Ein bestehendes REST- oder GraphQL-Backend bekommt einen MCP-Wrapper. Damit kann Claude Code Daten ziehen, Berichte erzeugen oder Operationen anstoßen — mit denselben Auth-Regeln, die auch andere Clients haben.
- Content-Pipelines. RAG-Maps, Note-Maps, Phasen-Items oder semantische Suche werden als Tools angeboten. Die Session arbeitet inhaltlich, ohne dass der Anwender jedes Mal die zugrundeliegende Struktur erklären muss.
Sicherheit: MCP läuft durch den Auto-Classifier
Ein wichtiger Punkt, der gerne übersehen wird: Jeder MCP-Tool-Call läuft durch dieselben Sicherheits-Mechanismen wie ein interner Tool-Call. Die Permission-Engine prüft die Allowlist, der Auto-Classifier bewertet die Semantik, und erst dann erreicht der Call den Server.
Das bedeutet zwei Dinge:
- Die Berechtigungs-Strategie für MCP-Tools muss sauber sein — pauschale Allowlists für schreibende Tools sind gefährlich.
- Der MCP-Server selbst sollte zusätzlich validieren, was er bekommt — niemals davon ausgehen, dass schon der Classifier alles abfängt.
Ein Beispiel aus der eigenen Praxis: Ein approve-table-row-Tool, das State-Transitions validiert. Wenn ein Aufruf von failed direkt auf approved springen will, lehnt der Server mit E_INVALID_STATE_TRANSITION ab — selbst wenn der Classifier den Call zufällig durchgewunken hätte. Das ist Defense in Depth in der Praxis.
Empfehlung für produktive MCP-Server
Produktive MCP-Server verdienen dieselbe Sorgfalt wie produktive APIs. In Kürze:
- Lesen vs. Schreiben trennen. Lese-Tools sind meist unkritisch und können großzügig in die
/permissions-Allowlist. Schreibende Tools bleiben explizit, mit Bestätigung pro Call. - Zustandsübergänge im Server validieren. Nicht auf den Client verlassen — Status-Machinen gehören in die Tool-Logik.
- Klare Fehlercodes liefern.
E_INVALID_STATE_TRANSITION,E_FORBIDDEN,E_NOT_FOUNDsind nützlicher als generische 500er. - Audit-Log. Wer hat wann welches Tool mit welchem Input aufgerufen? Im Produktivbetrieb unverzichtbar.
Empfehlung für den Einstieg
Wer zum ersten Mal einen eigenen MCP-Server bauen will, ist mit folgendem Pfad gut beraten:
- Klein starten — ein einzelner Lesezugriff (z. B. „Liste alle offenen Tickets”) als erstes Tool.
- Schemata sauber halten — JSON-Schema für Input und Output, damit Claude die Calls korrekt formuliert und Antworten interpretiert.
- Lokal entwickeln — stdio-Transport, im eigenen Projektordner. Erst wenn der Server stabil läuft, in ein Team-Setup heben.
- Schreibende Operationen explizit gestalten — keine pauschale Allowlist; jeder Schreibzugriff geht durch den Classifier und idealerweise durch eine Tool-eigene Plausibilitäts-Prüfung.
Fazit
MCP ist das Element, das Claude Code von einem reinen Coding-Werkzeug zu einer Plattform für domänenspezifische KI-Workflows macht. Wer eigene Daten und Tools sauber anbindet, erweitert den Aktionsradius enorm — und kann mit derselben Session deutlich mehr ausrichten als mit den eingebauten Werkzeugen allein.
Das gelingt nur, wenn die Berechtigungsschicht auf beiden Seiten ernst genommen wird: in der /permissions-Konfiguration des Clients und in der internen Logik des Servers. Beides zusammen macht den Unterschied zwischen einer beeindruckenden Demo und einem System, das produktiv tragfähig ist.
Teil von: Anthropic Claude Code — was ist das eigentlich und wie funktioniert es?
Claude Code Auto-Classifier: der Sicherheits-Layer zwischen Modell und Tools
Wie der Auto-Classifier in Claude Code Tool-Calls live bewertet, riskante Aktionen blockt und welche Verteidigungslinien dahinter stehen.
Claude Code: die Funktionen, die jeder Anwender kennen sollte
Die wichtigsten Funktionen in Claude Code — von Slash-Commands über Hooks und Plan-Mode bis zu Sub-Agenten und MCP-Integration.
Claude Code und MCP-Server: wie externe Tools integriert werden
Wie das Model Context Protocol Claude Code mit Datenbanken, APIs und eigenen Tools verbindet — und worauf bei Berechtigungen zu achten ist.