In diesem Blogbeitrag erfahren Sie:
- Was das Claude Agent SDK ist und was es so einzigartig macht.
- Warum die Erweiterung über Bright Data’s Web MCP der ideale Ansatz für leistungsfähigere KI-Agenten ist.
- Wie Sie einen mit dem Claude Agent SDK erstellten KI-Agenten über Web MCP mit den Web-Tools von Bright Data verbinden können.
Lassen Sie uns eintauchen!
Was ist das Claude Agent SDK?
Das Claude Agent SDK ist ein Open-Source-Framework von Anthropic, mit dem Sie autonome KI-Agenten auf Basis von Claude Code erstellen können. Insbesondere ermöglicht es Agenten, Dateien zu lesen, Befehle auszuführen, im Internet zu suchen, Code zu bearbeiten und mit Tools zu interagieren, ohne dass eine benutzerdefinierte Orchestrierungslogik erforderlich ist.
Das SDK bietet eine robuste Agentenschleife, die Kontext sammeln, Maßnahmen ergreifen und Ergebnisse überprüfen kann. Auf diese Weise können Ihre Agenten komplexe Workflows zuverlässig ausführen. Das SDK ist verfügbar in:
- Python, mit einer Bibliothek, die über 4,5k GitHub-Stars hat.
- TypeScript, mit einer Bibliothek, die über 720 GitHub-Stars vorweisen kann.
Das Claude Agent SDK unterstützt integrierte Tools, Subagenten und die native Integration mit MCP (Model Context Protocol) für externe Dienste. Das Endziel besteht darin, die Entwicklung von KI-Agenten zu vereinfachen und Ihnen eine einfache API zur Verfügung zu stellen, mit der Sie spezialisierte Assistenten, Forschungsagenten und Automatisierungs-Bots erstellen können, die die Fähigkeiten von Claude im Bereich des logischen Denkens und der Tool-Ausführung nutzen.
Warum Sie das Claude Agent SDK mit den Webdatenfunktionen von Bright Data erweitern sollten
Informieren Sie sich über die Einschränkungen von Claude Agent und wie Sie diese umgehen können!
Ein wenig Hintergrundwissen zu den Claude Agent SDK-Tools
Selbst die leistungsfähigsten Claude-KI-Modelle haben Einschränkungen, die allen LLMs innewohnen. Diese Einschränkungen ergeben sich aus der Tatsache, dass KI-Modelle mit Daten trainiert werden, die eine Momentaufnahme der Vergangenheit darstellen.
Infolgedessen können LLMs nur Antworten generieren, die auf dem basieren, womit sie trainiert wurden. Wenn sie nach Dingen gefragt werden, die sie nicht wissen (oder nach sehr aktuellen Ereignissen), können sie völlig versagen oder, schlimmer noch, Halluzinationen produzieren. Außerdem können sie nicht selbstständig mit der Außenwelt interagieren.
Da KI-Agenten auf LLMs basieren, erben sie all diese Einschränkungen. Gleichzeitig haben Agenten einen entscheidenden Vorteil: Sie können Tools verwenden! Mit Tools können Agenten externe Dienste und Systeme aufrufen und so ihre ansonsten begrenzten, nur auf LLMs basierenden Fähigkeiten erweitern.
Das Claude Agent SDK bietet Agenten einen Standardsatz integrierter Tools für die Arbeit mit Dateien, die Ausführung von Befehlen, die Suche im Internet, die Bearbeitung von Code und vieles mehr.
Es führt auch einen besonderen Ansatz für die Definition benutzerdefinierter Tools ein. Im Claude Agent SDK werden benutzerdefinierte Tools als In-Process-MCP-Server implementiert. Das ist nicht verwunderlich, da MCP von Anthropic, dem Unternehmen hinter Claude, definiert wird.
Die Standard-Tools des Claude Agent SDK sind zwar nützlich, reichen aber für produktionsreife Anwendungsfälle nicht immer aus. In der Praxis ist es besser, spezialisierte Drittanbieter zu integrieren, die darauf ausgelegt sind, häufige LLM-Einschränkungen wie veraltetes Wissen und begrenzte Interaktion mit dem Live-Web zu beheben.
Hier kommt Bright Data Web MCP ins Spiel!
Wir stellen vor: Bright Data Web MCP
Benutzerdefinierte Tools im Claude Agent SDK laufen hinter den Kulissen auf MCP. Daher ist es sinnvoll, Agent-Builds mit einem MCP zu erweitern, das bereits eine Vielzahl produktionsreifer Tools bietet.
Der Web MCP von Bright Data bietet über 60 KI-fähige Tools für die automatisierte Webdatenerfassung, strukturierte Datenextraktion und Interaktionen auf Browser-Ebene. Er ist sowohl als Remote-Dienst als auch als lokaler Server verfügbar und wird durch ein öffentliches Repository mit über 2.000 GitHub-Stars unterstützt.
Selbst in der kostenlosen Version bietet der MCP-Server zwei besonders nützliche Tools (zusammen mit ihren Batch-Varianten):
| Tool | Beschreibung |
|---|---|
search_engine |
Ruft Ergebnisse von Google, Bing oder Yandex im JSON- oder Markdown-Format ab. |
scrape_as_markdown |
Kratzen Sie jede Webseite in sauberes Markdown, wobei Sie Anti-Bot-Maßnahmen umgehen. |
Die wahre Stärke von Web MCP liegt im Pro-Modus, der Premium-Tools für die strukturierte Datenextraktion aus Plattformen wie Amazon, LinkedIn, Yahoo Finance, YouTube, TikTok, Zillow, Google Maps und vielen anderen freischaltet. Darüber hinaus stattet es jeden KI-Agenten mit der Fähigkeit aus, im Web zu navigieren und mit Webseiten wie ein menschlicher Benutzer zu interagieren.
Sehen wir uns nun an, wie Sie Bright Data Web MCP in das Claude Agent SDK integrieren können!
So verbinden Sie das Claude Agent SDK über Web MCP mit den Tools von Bright Data
In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie Bright Data-Dienste über MCP in einen mit dem Claude Agent SDK erstellten KI-Agenten integrieren können. Im Einzelnen verbinden Sie Bright Datas Web MCP mit einem Claude Agent SDK KI-Agenten und gewähren ihm damit Zugriff auf die gesamte Palette der verfügbaren Webdaten-Tools.
Hinweis: Das Claude Agent SDK ist auch in TypeScript verfügbar. Der folgende Abschnitt kann unter Bezugnahme auf die offizielle Dokumentation leicht von Python in JavaScript oder TypeScript konvertiert werden.
Befolgen Sie die nachstehenden Anweisungen!
Voraussetzungen
Um diesem Tutorial folgen zu können, müssen Sie die folgenden Voraussetzungen erfüllen:
- Python 3.10 oder höher lokal installiert.
- Claude Code auf Ihrem Rechner installiert.
- Ein Claude-API-Schlüssel mit verfügbaren Credits.
- Ein Bright Data-Konto mit einem API-Schlüssel.
Hinweis: Sie werden später in einem speziellen Abschnitt des Tutorials durch den Prozess der Einrichtung Ihres Bright Data-Kontos für die Verwendung von Web MCP geführt.
Beachten Sie, dass das Claude Agent SDK Claude Code als Laufzeitumgebung verwendet, weshalb Claude Code lokal installiert sein muss. Eine Schritt-für-Schritt-Anleitung finden Sie in unserem Leitfaden zur Integration von Claude Code + Bright Data Web MCP.
Schließlich sind einige grundlegende Kenntnisse des MCP-Protokolls und der von Web MCP bereitgestellten Tools hilfreich.
Schritt 1: Einrichten eines Claude Agent SDK-Projekts in Python
Überprüfen Sie zunächst, ob Claude Code auf Ihrem Rechner installiert ist. Führen Sie dazu den folgenden Befehl aus:
claude --version
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
2.1.29 (Claude Code)
Wenn ja, super! Damit ist die wichtigste Voraussetzung für die Verwendung des Claude Agent SDK erfüllt.
Erstellen Sie als Nächstes ein Projektverzeichnis. Navigieren Sie dann von Ihrem Terminal aus dorthin:
mkdir claude-agent-sdk-bright-data-ai-agent
cd claude-agent-sdk-bright-data-ai-agent
Initialisieren Sie nun eine virtuelle Umgebung innerhalb des Projekts:
python -m venv .venv
Erstellen Sie eine neue Datei namens agent.py im Projektstammverzeichnis, das nun wie folgt aussehen sollte:
claude-agent-sdk-bright-data-KI-agent/
├── .venv/
└── agent.py
Die Datei agent.py enthält die Logik für Ihren KI-Agenten, der mit dem Claude Agent SDK erstellt wurde und mit dem Bright Data Web MCP interagiert.
Öffnen Sie den Projektordner in Ihrer bevorzugten Python-IDE. Laden Sie ihn beispielsweise in PyCharm Community Edition oder Visual Studio Code mit der Python-Erweiterung.
Aktivieren Sie nun die zuvor erstellte virtuelle Umgebung. Führen Sie unter Linux oder macOS folgenden Befehl aus:
source .venv/bin/activate
Unter Windows führen Sie stattdessen folgenden Befehl aus:
.venv/Scripts/activate
Nachdem die virtuelle Umgebung aktiviert ist, installieren Sie die erforderlichen Abhängigkeiten:
pip install claude-agent-sdk python-dotenv
Die Abhängigkeiten für diese Anwendung sind:
claude-agent-sdk: Zum Erstellen von KI-Agenten in Python über das Claude Agent SDK.python-dotenv: Zum Laden von Geheimnissen (wie Ihrem Claude-API-Schlüssel und Ihrem Bright Data-API-Schlüssel) aus einer lokalen .env-Datei.
Alles fertig! Ihre Python-Umgebung ist nun bereit für die Erstellung von KI-Agenten mit dem Claude Agent SDK.
Schritt 2: Vorbereiten des Ladens von Umgebungsvariablen
Ihr KI-Agent wird sich mit Drittanbieterdiensten wie Bright Data und (natürlich) Claude verbinden. Dazu müssen Sie die API-Schlüssel verwenden, die mit Ihren Konten bei diesen Diensten verknüpft sind. Als bewährte Vorgehensweise sollten Sie Anmeldedaten niemals direkt in Ihrem Quellcode fest codieren.
Stattdessen sollten Sie die erforderlichen API-Schlüssel aus einer .env-Datei laden. Genau aus diesem Grund haben Sie im vorherigen Schritt python-dotenv installiert. Beginnen Sie mit dem Importieren der Bibliothek in Ihre Datei agent.py:
from dotenv import load_dotenv
Erstellen Sie dann eine .env -Datei im Projektstammverzeichnis:
claude-agent-sdk-bright-data-KI-agent/
├─── .venv/
├─── agent.py
└─── .env # <-----
Die .env -Datei speichert Ihren Claude-API-Schlüssel und Ihren Bright Data-API-Schlüssel, die beiden für dieses Projekt erforderlichen Geheimnisse.
Laden Sie nun die Umgebungsvariablen aus der .env-Datei, indem Sie die folgende Funktion in agent.py aufrufen:
load_dotenv()
Gut! Ihr Skript kann sensible Anmeldedaten sicher aus Umgebungsvariablen lesen und sie so aus Ihrer Codebasis heraushalten.
Schritt 3: Erste Schritte mit dem Claude Agent SDK
Fügen Sie in agent.py den folgenden Code hinzu, um einen einfachen KI-Agenten mit dem Claude Agent SDK zu erstellen:
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
from claude_agent_sdk.types import StreamEvent
async def main():
# Konfigurieren Sie den Claude-Agenten
options = ClaudeAgentOptions(
model="claude-haiku-4-5", # Ersetzen Sie dies durch Ihr bevorzugtes Claude-Modell.
include_partial_messages=True # Aktivieren Sie Streaming-Antworten.
)
# Die an den Agenten gesendete Eingabeaufforderung
prompt = "Hey! Wie läuft's?"
# Agent-Schleife: Streamt Ereignisse, die vom Claude Agent SDK zurückgegeben werden
async for message in query(prompt=prompt, options=options):
# Nur Streaming-Ereignisse abfangen
if isinstance(message, StreamEvent):
event = message.event
event_type = event.get("type")
# Inkrementelle Textausgabe verarbeiten
if event_type == "content_block_delta":
delta = event.get("delta", {})
if delta.get("type") == "text_delta":
# Gestreamten Text bei Eintreffen ausgeben
print(delta.get("text", ""), end="", flush=True)
asyncio.run(main())
Dieses Skript besteht aus drei Hauptkomponenten:
Optionen: Konfiguriert den Agenten. In diesem Beispiel verwendet der Agent das Modell Claude Haiku 4.5 und aktiviert Streaming-Antworten, sodass die Ausgabe inkrementell gedruckt werden kann.prompt: Definiert, was der Claude-KI-Agent tun soll. Claude entscheidet anhand dieser Eingabe automatisch, wie die Aufgabe zu bearbeiten ist.query: Der Haupteinstiegspunkt, der die Agentenschleife startet. Er gibt einen asynchronen Iterator zurück, weshalb Sieasync forverwenden, um Nachrichten zu streamen, während Claude argumentiert, Tools aufruft, Ergebnisse beobachtet und Ausgaben erzeugt.
Die asynchrone for-Schleife läuft weiter, während Claude „nachdenkt”. Jede Iteration kann verschiedene Nachrichtentypen ergeben, wie z. B. Argumentationsschritte, Tool-Aufrufe, Tool-Ergebnisse oder die endgültige Antwort. In diesem Beispiel streamen Sie nur die endgültige Textausgabe an das Terminal.
Um erfolgreich ausgeführt zu werden, benötigt das Claude Agent SDK Zugriff auf die Claude-API. Standardmäßig liest es den API-Schlüssel aus der Umgebungsvariablen ANTHROPIC_API_KEY. Fügen Sie ihn daher wie folgt zu Ihrer .env-Datei hinzu:
ANTHROPIC_API_KEY="<YOUR_ANTHROPIC_API_KEY>"
Ersetzen Sie <YOUR_ANTHROPIC_API_KEY> durch Ihren tatsächlichen Anthropic Claude API-Schlüssel.
Hinweis: Wenn Ihr Claude Agent SDK-Agent nicht auf den API-Schlüssel zugreifen kann, wird die folgende Fehlermeldung angezeigt:
Ihre Organisation hat keinen Zugriff auf Claude. Bitte melden Sie sich erneut an oder wenden Sie sich an Ihren Administrator.
Unter Berücksichtigung des Codes aus dem vorherigen Schritt starten Sie den Agenten mit folgendem Befehl:
python agent.py
In Ihrem Terminal sollte eine Streaming-Antwort ähnlich der folgenden angezeigt werden:
Großartig! Die Antwort stimmt mit der Eingabeaufforderung überein, was bedeutet, dass der Claude Agent SDK-basierte KI-Agent einwandfrei funktioniert.
Schritt 4: Starten Sie mit Bright Data’s Web MCP
Denken Sie daran, dass benutzerdefinierte Tools im Claude Agent SDK über In-Process-MCP-Server implementiert werden. Aus diesem Grund ist es sinnvoll, Ihren KI-Agenten direkt mit einer Bright Data Web MCP-Serverinstanz zu verbinden.
Schließlich wäre es wenig sinnvoll, benutzerdefinierte Tools durch direkte Integration in Bright Data-Dienste zu definieren und sie dann über MCP verfügbar zu machen. Denn es gibt bereits einen offiziellen (und weit verbreiteten!) MCP-Server.
In diesem Abschnitt zeigen wir Ihnen eine Verbindung zu einer lokalen Instanz. Gleichzeitig können Sie auch eine Verbindung zu Remote-Web-MCP-Servern herstellen, um skalierbarere, unternehmensgerechte Setups zu erhalten.
Bevor Sie das Claude Agent SDK mit dem Web MCP von Bright Data verbinden, überprüfen Sie, ob der MCP-Server auf Ihrem Rechner laufen kann!
Erstellen Sie zunächst ein Bright Data-Konto. Wenn Sie bereits ein Konto haben, melden Sie sich einfach an. Für eine schnelle Einrichtung folgen Sie dem Assistenten im Abschnitt„MCP“Ihres Dashboards:
Andernfalls finden Sie weitere Anleitungen in den folgenden Anweisungen.
Beginnen Sie mit der Generierung Ihres Bright Data API-Schlüssels. Sie werden den API-Schlüssel in Kürze verwenden, um Ihre lokale Web-MCP-Instanz mit Ihrem Bright Data-Konto zu authentifizieren. Da Sie in Ihrem Code darauf zugreifen müssen, fügen Sie ihn mit folgendem Befehl zu Ihrer .env-Datei hinzu:
BRIGHT_DATA_API_KEY="<IHR_BRIGHT_DATA_API_SCHLÜSSEL>"
Laden Sie ihn dann in Ihre Datei „agent.py “:
import os
BRIGHT_DATA_API_KEY = os.getenv("BRIGHT_DATA_API_KEY")
Fahren Sie fort, indem Sie Web MCP global über das Paket @brightdata/mcp installieren:
npm install -g @brightdata/mcp
Unter Linux/macOS überprüfen Sie, ob der MCP-Server lokal läuft, mit:
API_TOKEN="<YOUR_BRIGHT_DATA_API>" npx -y @brightdata/mcp
Oder, gleichwertig, in PowerShell:
$Env:API_TOKEN="<YOUR_BRIGHT_DATA_API>"; npx -y @brightdata/mcp
Ersetzen Sie den Platzhalter <YOUR_BRIGHT_DATA_API> durch Ihren tatsächlichen Bright Data API-Token. Diese (gleichwertigen) Befehle legen die erforderliche Umgebungsvariable API_TOKEN fest und starten den Web-MCP-Server lokal.
Bei erfolgreicher Ausführung sollten Sie Protokolle erhalten, die den folgenden ähneln:
Beim ersten Start richtet das Web-MCP-Paket automatisch zwei Zonen in Ihrem Bright Data-Konto ein:
mcp_unlocker: Eine Zone für Web Unlocker.mcp_browser: Eine Zone für die Browser-API.
Diese beiden Zonen versorgen die über 60 in Web MCP verfügbaren Tools mit Energie. Beachten Sie, dass Sie die Standardnamen der beiden Zonen auch überschreiben können, wie in der Dokumentation erläutert.
Wenn Sie überprüfen möchten, ob sie erstellt wurden, gehen Sie auf die Seite„Proxies & Scraping-Infrastruktur”in Ihrem Bright Data-Dashboard. Sie sollten beide Zonen in der Tabelle „My Zones” sehen:
Beachten Sie, dass Sie mit der kostenlosen Version von Web MCP nur Zugriff auf die Tools search_engine und scrape_as_markdown (und deren Batch-Versionen) haben.
Um alle über 60 Tools freizuschalten, müssen Sie den Pro-Modus aktivieren, indem Sie die Umgebungsvariable PRO_MODE="true" setzen:
API_TOKEN="<YOUR_BRIGHT_DATA_API>" PRO_MODE="true" npx -y @brightdata/mcp
Oder unter Windows:
$Env:API_TOKEN="<YOUR_BRIGHT_DATA_API>"; $Env:PRO_MODE="true"; npx -y @brightdata/mcp
Wichtig: Der Pro-Modus ist nicht in der kostenlosen Version enthalten und verursacht zusätzliche Kosten.
Großartig! Sie können nun sicher sein, dass der Web-MCP-Server auf Ihrem Rechner läuft. Als Nächstes konfigurieren Sie das Claude Agent SDK so, dass der Server automatisch gestartet wird und eine Verbindung zu ihm hergestellt wird.
Schritt 5: Verbinden Sie das Claude Agent SDK mit Web MCP
Das Claude Agent SDK unterstützt MCP-Verbindungen über die Option „mcp_servers” in der Klasse „ClaudeAgentOptions ”. Dadurch kann Ihr Agent direkt mit dem Web-MCP von Bright Data kommunizieren.
Um eine Verbindung zu Web MCP herzustellen, aktualisieren Sie Ihre Optionsvariable wie folgt:
options = ClaudeAgentOptions(
# Mit dem Web-MCP von Bright Data verbinden
mcp_servers={
"bright_data": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": BRIGHT_DATA_API_KEY,
"PRO_MODE": "true" # Zum Aktivieren des Pro-Modus
}
}
},
allowed_tools=["mcp__bright_data__*"], # Alle Bright Data Web MCP-Tools aktivieren
model="claude-haiku-4-5", # Durch Ihr bevorzugtes Claude-Modell ersetzen
include_partial_messages=True, # Streaming-Antworten aktivieren
)
Diese Konfiguration spiegelt den zuvor getesteten npx -Befehl wider, wobei Anmeldedaten und Konfiguration über Umgebungsvariablen übergeben werden:
API_TOKEN: Erforderlich für die Authentifizierung. Setzen Sie dies auf Ihren Bright Data API-Schlüssel.PRO_MODE: Erforderlich, um den Pro-Modus zu aktivieren.
Wichtig: Das Feld „allowed_tools” verwendet einen Platzhalter, um alle Tools vom konfigurierten bright_data-Server zuzulassen. Ohne diesen Platzhalter kann der Claude-Agent die Tools zwar sehen, aber nicht verwenden.
Wenn Sie die Option „mcp_servers“ nicht im Code angeben möchten, können Sie alternativ eine .mcp.json-Datei in Ihrem Projektstammverzeichnis mit der folgenden Struktur erstellen:
{
"mcpServers": {
"bright_data": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": "<YOUR_BRIGHT_DATA_API_KEY>",
"PRO_MODE": "true"
}
}
}
}
Um die Web-MCP-Verbindung zu überprüfen, testen Sie den Agenten mit einer einfachen Eingabeaufforderung:
prompt = "Auf welches Bright Data MCP-Tool haben Sie Zugriff?"
Im Pro-Modus (PRO_MODE="true") sollte die Antwort alle verfügbaren über 60 Tools auflisten, ähnlich wie hier:
Jetzt kann Ihr Agent alle im Web-MCP-Server verfügbaren High-Level-Tools sehen und verwenden. Mission abgeschlossen! Ihr mit dem Claude Agent SDK erstellter KI-Agent wurde nun um die Webdatenfunktionen von Bright Data über Web-MCP-Tools erweitert.
Schritt 6: Ausführen des Agenten
Um zu demonstrieren, wie effektiv ein KI-Agent bei der Integration mit Bright Data Web MCP sein kann, benötigen Sie die richtige Eingabeaufforderung. Insbesondere sollte die Eingabeaufforderung das Abrufen von Webdaten und/oder die Interaktion mit dem Web beinhalten.
Stellen Sie sich beispielsweise vor, Sie möchten einen KI-Agenten erstellen, der die Websites von Mitbewerbern überwacht, indem er automatisch Screenshots erstellt und Seitentext extrahiert. Dies ist eine Aufgabe, die ein Standard-KI-Agent ohne die richtigen Tools nicht alleine ausführen kann.
Nehmen wir an, Nike ist Ihr Konkurrent. Sie könnten eine Eingabeaufforderung wie die folgende schreiben:
prompt = """
Öffnen Sie eine Scraping-Browser-Sitzung und navigieren Sie zu der folgenden Webseite:
"https://www.nike.com/"
Warten Sie, bis die Seite vollständig geladen ist, und erstellen Sie dann einen Screenshot der gesamten Seite. Extrahieren Sie außerdem den gesamten Seitentext. Speichern Sie den Screenshot in einer lokalen Datei namens „screenshot.png“ und den Seitentext in einer lokalen Datei namens „text.txt“.
"""
Dank der Browsing-Funktionen der Premium-Tools von Bright Data Web MCP kann der KI-Agent nun:
- Öffnen einer Remote-Browsersitzung in der Cloud über die Browser-API, wobei gängige Anti-Bot-Schutzmaßnahmen umgangen werden und auf praktisch jede Webseite zugegriffen werden kann.
- Warten, bis die Seite vollständig geladen ist.
- Einen Screenshot der gesamten Seite erstellen und den gesamten sichtbaren Text extrahieren.
Schließlich verwendet der Agent die integrierten Tools des Claude Agent SDK, um die generierte Ausgabe wie gewünscht auf der Festplatte zu speichern.
Beachten Sie, dass Sie für die Bildverarbeitung und das Schreiben auf die Festplatte zusätzlich die folgenden beiden Optionen benötigen:
options = ClaudeAgentOptions(
# ...
permission_mode="acceptEdits", # Damit der Agent Dateien auf die Festplatte schreiben kann.
max_buffer_size=10 * 1024 * 1024, # Für die Bildverarbeitung auf 10 MB erhöhen.
)
Da die Ausführung des Agenten die Verwendung von Tools beinhaltet, ist es sinnvoll, die Streaming-Logik so zu aktualisieren, dass auch Ereignisse im Zusammenhang mit Tool-Aufrufen abgefangen werden. Aktualisieren Sie Ihre async for-Schleife wie folgt:
# Verfolgen Sie das aktuelle Tool und sammeln Sie dessen Eingabe-JSON.
current_tool = None
tool_input = ""
# Agentic-Schleife: Streamt Ereignisse, die vom Claude Agent SDK zurückgegeben werden.
async for message in query(prompt=prompt, options=options):
# Nur Streaming-Ereignisse abfangen.
if isinstance(message, StreamEvent):
event = message.event
event_type = event.get("type")
if event_type == "content_block_start":
# Neuer Tool-Aufruf wird gestartet
content_block = event.get("content_block", {})
if content_block.get("type") == "tool_use":
current_tool = content_block.get("name")
tool_input = ""
print(f"nTool wird gestartet: {current_tool}")
# Inkrementelle Textausgabe verarbeiten
elif event_type == "content_block_delta":
delta = event.get("delta", {})
if delta.get("type") == "text_delta":
# Gestreamten Text bei Eintreffen ausgeben
print(delta.get("text", ""), end="", flush=True)
elif delta.get("type") == "input_json_delta":
# JSON-Eingabe beim Streamen akkumulieren
chunk = delta.get("partial_json", "")
tool_input += chunk
elif event_type == "content_block_stop":
# Tool-Aufruf abgeschlossen (endgültige Eingabe anzeigen)
if current_tool:
print(f"Tool {current_tool} aufgerufen mit: {tool_input}")
current_tool = None
Diese Logik hilft Ihnen, die vom Agenten aufgerufenen Tools und ihre jeweiligen Eingaben besser zu verstehen. Fantastisch! Jetzt müssen Sie den Agenten nur noch testen.
Schritt 7: Testen Sie den KI-Agenten
Ihre endgültige Datei agent.py enthält:
from dotenv import load_dotenv
import os
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
from claude_agent_sdk.types import StreamEvent
# Laden Sie die Umgebungsvariablen aus der .env-Datei.
load_dotenv()
# Greifen Sie auf die Umgebungsvariable für den Bright Data API-Schlüssel zu.
BRIGHT_DATA_API_KEY = os.getenv("BRIGHT_DATA_API_KEY")
async def main():
options = ClaudeAgentOptions(
# Mit dem Web-MCP von Bright Data verbinden
mcp_servers={
"bright_data": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": BRIGHT_DATA_API_KEY,
"PRO_MODE": "true" # Pro-Modus aktivieren
}
}
},
allowed_tools=["mcp__bright_data__*"], # Alle Bright Data Web MCP-Tools aktivieren
model="claude-haiku-4-5", # Durch Ihr bevorzugtes Claude-Modell ersetzen
include_partial_messages=True, # Streaming-Antworten aktivieren
permission_mode="acceptEdits", # Damit der Agent Dateien auf die Festplatte schreiben kann
max_buffer_size=10 * 1024 * 1024, # Für die Bildverarbeitung auf 10 MB erhöhen
)
# Die an den Agenten gesendete Eingabeaufforderung
prompt = """
Öffnen Sie eine Scraping-Browser-Sitzung und navigieren Sie zu der folgenden Webseite:
"https://www.nike.com/"
Warten Sie, bis die Seite vollständig geladen ist, und erstellen Sie dann einen Screenshot der gesamten Seite. Extrahieren Sie außerdem den gesamten Text der Seite. Speichern Sie den Screenshot in einer lokalen Datei namens „screenshot.png“ und den Text der Seite in einer lokalen Datei namens „text.txt“.
"""
# Verfolgen Sie das aktuelle Tool und sammeln Sie dessen JSON-Eingaben.
current_tool = None
tool_input = ""
# Agentic-Schleife: Streamt Ereignisse, die vom Claude Agent SDK zurückgegeben werden
async for message in query(prompt=prompt, options=options):
# Nur Streaming-Ereignisse abfangen
if isinstance(message, StreamEvent):
event = message.event
event_type = event.get("type")
if event_type == "content_block_start":
# Neuer Werkzeugaufruf wird gestartet
content_block = event.get("content_block", {})
if content_block.get("type") == "tool_use":
current_tool = content_block.get("name")
tool_input = ""
print(f"nTool wird gestartet: {current_tool}")
# Inkrementelle Textausgabe verarbeiten
elif event_type == "content_block_delta":
delta = event.get("delta", {})
if delta.get("type") == "text_delta":
# Gestreamten Text bei Eintreffen ausgeben
print(delta.get("text", ""), end="", flush=True)
elif delta.get("type") == "input_json_delta":
# JSON-Eingabe beim Streamen akkumulieren
chunk = delta.get("partial_json", "")
tool_input += chunk
elif event_type == "content_block_stop":
# Tool-Aufruf abgeschlossen (endgültige Eingabe anzeigen)
if current_tool:
print(f"Tool {current_tool} aufgerufen mit: {tool_input}")
current_tool = None
asyncio.run(main())
Starten Sie es mit:
python agent.py
Wenn Sie den Agenten ausführen, sollten Sie eine Ausgabe wie diese sehen:
Wie Sie sehen können, verbindet sich der Agent mit dem Web-MCP und verwendet die folgenden Tools:
mcp__bright_data__scraping_browser_screenshotzum Erfassen eines vollständigen Screenshots der Seitemcp__bright_data__scraping_browser_get_text, um den gesamten Text aus der Webseite zu extrahieren
Anschließend verwendet er das Tool „Write“, um die Ausgabe in den angeforderten Dateien zu speichern. Nach der Ausführung sollte der Stammordner Ihres Projekts nun die Dateien screenshot.png und text.txt enthalten:
Öffnen Sie screenshot.png, um den vollständigen Screenshot der Nike-Homepage anzuzeigen:
Öffnen Sie text.txt, um den extrahierten Text der oben genannten Seite anzuzeigen:
Et voilà! Ihr KI-Agent, der über das Claude Agent SDK koordiniert und mit Bright Data Web MCP erweitert wurde, kann nun das Surfen im Internet und vieles mehr übernehmen!
Fazit
In diesem Tutorial haben Sie gelernt, wie Sie mithilfe der MCP-Integration im Claude Agent SDK benutzerdefinierte Tools nutzen können, um erweiterte KI-Agenten zu erstellen. Insbesondere haben Sie gesehen, warum und wie Sie einen KI-Agenten, der auf dem Claude Agent Python SDK basiert, verbessern können, indem Sie ihn mit Bright Data’s Web MCP verbinden.
Diese Integration stattet Ihren Claude-basierten KI-Agenten mit leistungsstarken Funktionen wie Websuche, strukturierter Datenextraktion, Live-Webdatenabruf und automatisierten Webinteraktionen aus und ermöglicht so eine Vielzahl von Anwendungsfällen für Agenten.
Registrieren Sie sich noch heute kostenlos für ein Bright Data-Konto und probieren Sie die KI-fähigen Webdaten-Tools aus!