Implementiere das Model Context Protocol (MCP) von Anthropic mit Claude für leistungsstarke KI-Agenten. Praktische Anleitung mit Code-Beispielen.

Das Model Context Protocol (MCP) ist der neue Standard von Anthropic, um Claude-Agenten mit deinen Tools, Datenbanken und Business-Services zu verbinden. Offiziell im Juni 2026 gestartet und in Claude Sonnet 5 integriert, ermöglicht MCP deinen KI-Agenten, direkt auf deine Daten zuzugreifen, ohne fehlerhafte Integrationen oder API-Hacks zu benötigen.
Wenn du 2026 KI-Agenten buildest, ist MCP nicht mehr optional, es ist die Grundlage. Hier ist, wie du es implementierst.
Was ist das model context protocol wirklich?
MCP ist keine neue API zum Aufrufen von Claude (das hast du bereits). Es ist ein Interoperabilitätsprotokoll, das definiert, wie eine Client-Anwendung (Claude, Cursor, Grok Build oder deine eigene KI) sich mit MCP-Servern verbindet, die Tools, Ressourcen und Daten verfügbar machen.
Analogie: MCP ist für Claude das, was Plugins für einen Browser sind. Nur dass es standardisiert, bidirektional und für KI konzipiert ist.
Schlüsselkomponenten:
- MCP-Client: Claude, dein KI-Agent oder deine Anwendung
- MCP-Server: Endpoint, der Tools und Ressourcen verfügbar macht
- Ressourcen: Daten, die der Server bereitstellt (Datenbank, Dateien, API)
- Tools: Funktionen, die der Agent aufrufen kann, um eine Aktion auszuführen
- Prompts: Wiederverwendbare Templates, um Claude zu leiten
Das ist genau das, was Simple Booking im Juni 2026 getan hat, sie haben einen MCP-Server gebaut, der ihr CRS-Reservierungssystem verfügbar macht, und jetzt kann Claude Hotelreservierungen direkt abfragen/ändern.
Architektur: wie es zusammenpasst
Vor MCP war die Architektur chaotisch:
Claude (über API)
↓ [manuelles Prompt Engineering]
↓ [Tool-Use-Aufruf]
Anwendung -> [Du parst die Antwort] -> Benutzerdefinierte Integration
↓
Datenbank
Mit MCP:
Claude (über MCP-Client)
↓
MCP Client Protocol (standardisiertes JSON-RPC)
↓
Dein MCP-Server
↓ [automatische Wiederverbindung]
↓
Deine Tools (Funktionen), Ressourcen (Daten), Prompts
Der Claude-Agent kann jetzt:
- Deine Ressourcen direkt abfragen: „Wie viele Bestellungen sind ausstehend?" -> MCP-Anfrage -> deine Datenbank
- Deine Tools atomisch aufrufen: „Erstelle eine Rechnung" -> MCP-Tool-Aufruf -> deine Business-Logik
- Optimierte Prompts wiederverwenden:
use_mcp_resource("context_billing")-> konsistentes Template über alle Agenten
Wie man einen minimalen MCP-server implementiert
Das MCP-Protokoll verwendet JSON-RPC 2.0 über stdio oder HTTP. Hier ist ein minimaler Server in Python, der eine PostgreSQL-Datenbank verfügbar macht:
from MCP.server import Server
from MCP.types import Tool, Resource, TextContent
import asyncio
import psycopg2
app = Server("my-database-server")
# Deklariere eine Ressource: die Liste der Kunden
@app.resource("db://customers")
async def get_customers():
conn = psycopg2.connect("dbname=mydb user=postgres")
cur = conn.cursor()
cur.execute("SELECT id, name, email FROM customers LIMIT 100")
rows = cur.fetchall()
conn.close()
return TextContent(
type="text/plain",
text="\\n".join([f"ID: {r[0]}, Name: {r[1]}, Email: {r[2]}" for r in rows])
)
# Deklariere ein Tool: erstelle eine neue Bestellung
@app.tool("create_order")
async def create_order(customer_id: int, items: list, total: float):
conn = psycopg2.connect("dbname=mydb user=postgres")
cur = conn.cursor()
cur.execute(
"INSERT INTO orders (customer_id, items, total, status) VALUES (%s, %s, %s, %s)",
(customer_id, str(items), total, "pending")
)
conn.commit()
order_id = cur.lastrowid
conn.close()
return f"Order {order_id} created successfully"
if __name__ == "__main__":
asyncio.run(app.run())
Das sind 30 Zeilen. Kein manuelles Parsing, kein kompliziertes Prompt Engineering. Claude weiß jetzt, dass er:
get_customersaufrufen kann, um Kunden zu sehencreate_order(customer_id, items, total)aufrufen kann, um eine Bestellung zu erstellen
Aber warte, hier ist eine Falle. Du machst deine Datenbank direkt zugänglich. Was ist, wenn Claude eine ungültige customer_id halluziniert? Du musst Validierung hinzufügen:
@app.tool("create_order")
async def create_order(customer_id: int, items: list, total: float):
# Validierung: Existiert der Kunde wirklich?
conn = psycopg2.connect("dbname=mydb user=postgres")
cur = conn.cursor()
cur.execute("SELECT id FROM customers WHERE id = %s", (customer_id,))
if not cur.fetchone():
return f"Error: customer {customer_id} does not exist"
# Fahre mit der Bestellerstellung fort...
Ehrliche Limitation: Je mehr Funktionalität du über MCP verfügbar machst, desto mehr verlässt du dich darauf, dass Claude gute Entscheidungen trifft. Ein schlecht geleiteter Agent kann trotzdem Schaden anrichten. Du brauchst:
- Rate Limiting bei gefährlichen Tools
- Logging und Audit Trails
- Sehr klare System Prompts über Business-Constraints
- Chaos-Tests, um zu sehen, was passiert, wenn Claude ein Tool mit seltsamen Inputs aufruft
Claude sonnet 5 mit deinem MCP-server verbinden
Sobald dein MCP-Server aktiv ist, rufst du ihn über das Claude SDK auf. Claude Sonnet 5 (gestartet am 30. Juni 2026) hat native MCP-Unterstützung integriert.
from anthropic import Anthropic
client = Anthropic()
# Konfiguriere den MCP-Server für diese Sitzung
mcp_config = {
"servers": {
"my_database": {
"command": "python",
"args": ["./mcp_server.py"],
"env": {"DATABASE_URL": "postgresql://..."}
}
}
}
response = client.messages.create(
model="claude-sonnet-5", # Neu, gestartet am 30. Juni 2026
max_tokens=2048,
tools=[
# MCP-Tools werden automatisch von Servern entdeckt
],
messages=[
{
"role": "user",
"content": "Erstelle eine Bestellung für Kunde #42: 2x Produkt A, 1x Produkt B. Gesamtbetrag: 150€"
}
]
)
# Claude wird jetzt:
# 1. Die Benutzernachricht analysieren
# 2. Überprüfen, dass er Zugriff auf das Tool "create_order" über MCP hat
# 3. create_order(customer_id=42, items=[...], total=150) aufrufen
# 4. Die Antwort vom MCP-Server erhalten
# 5. Den Dialog fortsetzen
Claude Sonnet 5 fügt auch verbesserte agentic loops hinzu, er kann mehrere Tools nacheinander aufrufen, ohne dass dein Code bei jedem Mal dazwischengehen muss. Nützlich für: „Hole ausstehende Bestellungen, erstelle Rechnungen für jede, dann sende eine E-Mail."
Echte use cases in der produktion
1. Hotel-Integrationen (Simple Booking, Juni 2026)
Simple Booking stellt sein CRS-Reservierungssystem über MCP zur Verfügung. Reisebüros nutzen Claude für:
- „Welche Suiten sind am 15. August im Hotel in Lyon verfügbar?" -> Claude fragt MCP ab -> Echtzeit-Antwort
- „Reserviere Suite 42 für die Duponts vom 15. bis 20. August" -> Claude ruft das Reservierungs-Tool auf
Vor MCP: benutzerdefinierte Webhooks. Jetzt: ein standardisierter MCP-Server, und jedes MCP-kompatible Tool kann es nutzen, ohne die Integration neu zu implementieren.
2. Media-Buying-Automatisierung (Nexxen, Juni 2026)
Nexxen stellt seine Kampagnenparameter, Budgets und Zielgruppen über MCP zur Verfügung. Agenturen bauen Claude-Agenten, die:
- Kampagnenleistung analysieren („Unser CPM sinkt, warum?")
- Budgets automatisch anpassen („Ordne 20% des Budgets der Premium-Zielgruppe zu")
- Neue Kampagnen basierend auf Text-Briefs erstellen
Vorher: Zapier-Integration + benutzerdefinierte Scripts. Jetzt: ein MCP-Server, fertig.
**3. Dein Use Case: E-Commerce-Content-Management
Du hast einen Shopify-Shop oder ein benutzerdefiniertes Produktsystem. Baue einen MCP-Server, der verfügbar macht:
- Ressource:
inventory/sku-123-> Bestandsmenge - Ressource:
products/all-> Vollständiger Katalog - Tool:
update_product_description(sku, new_desc)-> aktualisiert deine Datenbank - Tool:
create_bundle(products, discount)-> erstellt ein Bundle - Prompt:
context_catalog_refresh-> Anweisungen für Claude, wenn du ihn auffordest, 100 Produktbeschreibungen zu überarbeiten
Konkretes Beispiel: Du sagst Claude „Überprüfe alle Produktbeschreibungen und korrigiere Fehler, verbessere SEO, füge Maße in cm hinzu". Claude:
- Fragt
products/allüber MCP ab - Analysiert die 200 Beschreibungen
- Ruft für jedes Produkt
update_product_description(sku, new_desc)auf - Erstellt einen Bericht
Menschliche Zeit: 10 Minuten Aufsicht. Vorher: ein voller Tag für dein Team.
Berechtigungsverwaltung und sicherheit
Ein großes Risiko: Wenn Claude Zugriff auf alle deine Tools hat, könnte er eine gefährliche Funktion aufrufen. Füge Kontrollmechanismen hinzu:
1. Begrenzte Tools nach Use Case
# Statt "delete_order" global verfügbar zu machen
@app.tool("delete_order", scopes=["admin_only"])
async def delete_order(order_id: int):
# Benötigt spezielle Berechtigung
pass
2. Rate Limiting
from functools import wraps
def rate_limit(max_calls=10, period=60):
def decorator(func):
calls = []
async def wrapper(*args, **kwargs):
now = time.time()
calls = [c for c in calls if c > now - period]
if len(calls) >= max_calls:
raise Exception("Rate limit exceeded")
calls.append(now)
return await func(*args, **kwargs)
return wrapper
return decorator
@app.tool("create_order")
@rate_limit(max_calls=50, period=3600)
async def create_order(...):
pass
3. Umfassendes Logging
import logging
logger = logging.getLogger("mcp_audit")
@app.tool("delete_order")
async def delete_order(order_id: int):
logger.warning(f"Claude called delete_order({order_id}) - action requires approval")
# Optional: Frage um menschliche Bestätigung, bevor du löschst
return "Deletion queued for human approval"
Einen MCP-server in der produktion bereitstellen
Zwei Ansätze:
1. Stdio (für schnelle Entwicklung)
Dein MCP-Server läuft als untergeordneter Prozess des Claude-Clients. Einfach, aber begrenzt für Skalierbarkeit.
{
"servers": {
"my_server": {
"command": "python",
"args": ["./mcp_server.py"]
}
}
}
2. HTTP mit Authentifizierung (für Produktion)
{
"servers": {
"my_server": {
"url": "HTTPS://MCP.mycompany.com",
"auth": {
"type": "bearer",
"token": "sk_live_..."
}
}
}
}
Dein MCP-Server hört auf einem sicheren HTTPS-Endpoint mit SSL-Zertifikaten und Rate Limiting am Gateway.
Empfohlene Bereitstellung:
- MCP-Server: Docker auf ECS/K8s, hinter einem Load Balancer
- Datenbank: PostgreSQL oder MongoDB, streng in privater VPC
- Monitoring: CloudWatch, strukturierte JSON-Logs, Alerts bei Fehlern
- Versionierung: Versioniere deine MCP-Ressourcen und Tools (z.B.
/API/v1/resources)
Häufig gestellte fragen
Was ist der unterschied zwischen MCP und klassischem tools-calling von claude?
Tools-Calling (function_calling im Claude SDK) erlaubt Claude bereits, Funktionen aufzurufen. MCP ist eine Abstraktionsschicht darüber, die standardisiert, wie Tools entdeckt, aufgerufen und verwaltet werden.
Ohne MCP: Du sagst Claude „du kannst create_order, delete_order, update_price aufrufen" und übergibst die Schemas manuell.
Mit MCP: Dein MCP-Server stellt die Tools zur Verfügung, Claude entdeckt sie automatisch, und jeder MCP-Client (Claude, Cursor, deine App) kann sie nutzen, ohne die Integration neu zu implementieren.
Übertrifft claude sonnet 5 claude 3 opus für agenten mit MCP?
Ja, erheblich. Claude Sonnet 5 (gestartet am 30. Juni 2026) hat besseres Reasoning für Agent-Workflows und kann komplexere Sequenzen von MCP-Aufrufen verwalten. Aber Opus bleibt mächtiger für nicht-agentic Aufgaben (Text-Analyse, kreatives Schreiben).
Für MCP-Agenten: Sonnet 5 ≥ Opus, halb so teuer.
Kann man mehrere MCP-server gleichzeitig starten?
Ja. Du kannst mehrere Server in deinem MCP-Client konfigurieren:
{
"servers": {
"database": { "command": "python", "args": ["./db_mcp.py"] },
"email": { "command": "node", "args": ["./email_mcp.js"] },
"shopify": { "url": "HTTPS://MCP.shopify.com" }
}
}
Claude sieht alle Tools und Ressourcen aller drei Server. Achtung: Wenn zwei Server ein Tool mit demselben Namen verfügbar machen, gibt es eine Namenskollision.
Wer hostet den MCP-server, ich oder anthropic?
Du. MCP ist Open-Source und du behältst die vollständige Kontrolle. Anthropic stellt das Protokoll und den Support in Claude zur Verfügung, das ist alles.
Kann man MCP ohne anthropic verwenden?
Ja. MCP ist modellunabhängig. X hat am 30. Juni 2026 einen MCP-Server gestartet, und jeder MCP-Client (auch Nicht-Anthropic-Modelle) kann ihn nutzen.
Fazit
Das Model Context Protocol löst ein echtes Problem: Vor 2026 war jede Agent-KI-Integration eine One-Shot-Anpassung. Jetzt ist es standardisiert.
Drei Schlüsselpunkte zum Merken:
- MCP ist der neue Standard für KI-Agenten 2026, es ersetzt benutzerdefinierte API-Hacks
- Einen MCP-Server zu implementieren ist einfach, 50 Zeilen Code, um deine Tools und Daten verfügbar zu machen
- Claude Sonnet 5 hat die beste native MCP-Unterstützung, wenn du heute einen Agenten buildest, ist das das richtige Modell
Du buildest einen KI-Agenten für dein Business? Beginne damit, deine kritischen Daten und Tools über MCP verfügbar zu machen. Verbinde sie dann mit Claude Sonnet 5. In einer Woche automatisierst du das, was vorher einen Tag brauchte.
Brauchst du Hilfe bei der MCP-Implementierung? Wir können deine aktuelle Architektur prüfen und dir einen Integrations-Plan vorschlagen. Kontaktiere uns.


