Dans cet article de blog, vous apprendrez
- Ce qu’est smolagents et pourquoi il gagne tant en popularité.
- Comment ses agents s’appuient sur l’exécution d’outils et comment récupérer des outils via le Web MCP de Bright Data.
- Comment intégrer les outils Web MCP dans smolagents pour construire un agent de code IA.
Entrons dans le vif du sujet !
Qu’est-ce que smolagents ?
smolagents est une bibliothèque Python légère qui permet de construire de puissants agents IA avec un minimum de code. Ce qui la rend unique, c’est son CodeAgent, qui écrit les actions nécessaires à l’exécution d’une invite sous forme d’extraits de code Python exécutables (au lieu de renvoyer une réponse textuelle).
Cette approche améliore l’efficacité, réduit les appels LLM et permet aux agents d’interagir directement avec les outils et les environnements en toute sécurité grâce à l’exécution en bac à sable. La communauté a adopté cette nouvelle approche de la construction d’agents IA, comme en témoignent les 23k étoiles que la bibliothèque a reçues sur GitHub en seulement quelques mois :

Gardez à l’esprit que smolagents est :
- Agnostique au niveau du modèle, supportant OpenAI, Anthropic, les transformateurs locaux, ou n’importe quel LLM sur le Hugging Face Hub.
- Agnostique en termes de modalité, supportant le texte, la vision, l’audio et la vidéo.
- Agnostique en termes d’outils, supportant les outils des serveurs MCP, LangChain, ou Hub Spaces.
Pour en savoir plus sur la philosophie de cette bibliothèque, consultez le billet d’annonce sur le blog Hugging Face.
Pourquoi smolagents pousse à l’utilisation d’outils
Les LLM sont limités par les données sur lesquelles ils ont été formés. Ils peuvent générer des réponses, du contenu, du code ou du multimédia sur la base de cette connaissance. Cela les rend puissants, bien sûr, mais cela représente également l’une des plus grandes limites de l’IA actuelle.
smolagents y remédie en proposant des agents construits autour d’outils. C’est tellement important que chaque classe d’agent de la bibliothèque accepte une liste d’outils comme argument obligatoire. Grâce à l’appel à péage, votre modèle d’IA peut interagir avec l’environnement et effectuer des tâches allant au-delà de la génération de contenu.
En particulier, n’oubliez pas que les smolagents peuvent se connecter à des outils provenant de serveurs MCP, de LangChain ou même d’un Hub Space. Il prend également en charge les appels d’outils standard basés sur JSON/texte.
Qu’est-ce qui manque aujourd’hui à l’IA classique ? Des données précises et récentes et la capacité d’interagir avec des pages web comme des humains. C’est précisément ce que les outils Web MCP de Bright Data offrent !
Le Web MCP est un serveur open-source offrant plus de 60 outils prêts pour l’IA, tous alimentés par l’infrastructure de Bright Data pour l’interaction web et la collecte de données. Même avec la version gratuite, vous avez accès à deux outils qui changent la donne :
| Outil | Description de l’outil |
|---|---|
moteur_de_recherche |
Récupère les résultats de recherche de Google, Bing ou Yandex en JSON ou Markdown. |
scrape_as_markdown |
Récupère n’importe quelle page web dans un format Markdown propre, en contournant la détection des robots et les CAPTCHA. |
En outre, Web MCP propose des outils d’interaction dans un navigateur en nuage et des dizaines d’outils spécialisés pour la collecte de données structurées sur des plateformes telles que YouTube, Amazon, LinkedIn, TikTok, Yahoo Finance, et bien d’autres. Pour en savoir plus, consultez la page officielle GitHub.
Voir Web MCP en action avec smolagents !
Comment étendre un agent de code IA smolagents avec les outils Web MCP
Dans cette section du tutoriel, vous apprendrez à construire un agent de code IA smolagents qui s’intègre à Bright Data Web MCP. Plus précisément, l’agent utilisera les outils exposés par le serveur MCP pour récupérer des données Web à la volée et effectuer une analyse des sentiments.
Remarque: il ne s’agit que d’un exemple, et vous pouvez facilement l’adapter à d’autres cas d’utilisation en modifiant l’invite d’entrée.
Suivez les instructions ci-dessous !
Prérequis
Pour suivre ce tutoriel, assurez-vous d’avoir :
- Python 3.10+ installé localement.
- Node.js installé sur votre machine (nous recommandons la dernière version LTS) pour l’exécution de Web MCP.
- Une clé API Gemini (ou une clé API de l’un des autres modèles pris en charge).
Vous aurez également besoin d’un compte Bright Data avec une clé API. Ne vous inquiétez pas, nous vous guiderons dans cette étape. Il est également utile d’avoir une compréhension de base du fonctionnement du MCP et des outils fournis par le MCP Web.
Étape 1 : Configuration du projet
Ouvrez le terminal et créez un nouveau dossier pour votre projet smolagents :
mkdir smolagents-mcp-agent
smolagents-mcp-agent/ contiendra le code Python de votre agent IA étendu via les outils Web MCP.
Ensuite, entrez dans le répertoire du projet et initialisez un environnement virtuel à l’intérieur de celui-ci :
cd smolagents-mcp-agent
python -m venv .venv
Ajoutez un nouveau fichier appelé agent.py. La structure des fichiers de votre projet devrait maintenant être la suivante :
smolagents-mcp-agent/
├── .venv/
└── agent.py
agent.py représentera votre fichier Python principal et contiendra la définition de l’agent IA.
Chargez le dossier du projet dans votre IDE Python préféré. Nous recommandons Visual Studio Code avec l’extension Python ou PyCharm Community Edition.
Il est temps d’activer l’environnement virtuel que vous avez créé précédemment. Sous Linux ou macOS, lancez :
source .venv/bin/activate
De manière équivalente, sous Windows, lancez : source .venv/Scripts/activate
.venv/Scripts/activate
Une fois l’environnement virtuel activé, installez les bibliothèques PyPI requises :
pip install "smolagents[mcp,openai]" python-dotenv
Les dépendances sont :
"smolagents[mcp,openai]": Le paquetsmolagent, étendu avec des sections pour l’intégration MCP et la connexion à n’importe quel fournisseur offrant des API de type OpenAI.python-dotenv: Pour lire les variables d’environnement à partir d’un fichier.envlocal.
C’est fait ! Vous avez maintenant un environnement Python pour le développement d’agents IA avec smolagents.
Étape 2 : Configurer la lecture des variables d’environnement
Votre agent se connectera à des services tiers comme Gemini et Bright Data. Pour authentifier ces connexions, vous devez définir des clés API. Les coder en dur dans votre fichier agent.py est une mauvaise odeur de code, car cela peut créer des problèmes de sécurité. Configurez donc votre script pour qu’il lise les secrets à partir des variables d’environnement.
C’est exactement la raison pour laquelle nous avons installé le paquet python-dotenv. Dans votre fichier agent.py, importez la bibliothèque et appelez load_dotenv() pour charger vos variables d’environnement :
from dotenv import load_dotenv
load_dotenv()
Votre script peut désormais accéder aux variables d’environnement à partir d’un fichier .env local.
Ajoutez un fichier .env au répertoire de votre projet :
smolagents-mcp-agent/
├── .venv/
├── .env # <------
└── agent.py
Vous pouvez alors accéder aux variables d’environnement dans votre code en utilisant :
import os
os.getenv("ENV_NAME")
Génial ! Votre script charge désormais en toute sécurité les secrets d’intégration des tiers à partir des variables d’environnement.
Étape 3 : tester le MCP Web de Bright Data localement
Avant de configurer la connexion au MCP Web de Bright Data, assurez-vous que votre machine peut exécuter le serveur. Cela est nécessaire car vous demanderez à smolagents de démarrer le MCP Web localement. Votre agent s ‘y connectera ensuite via STDIO.
Si vous n’avez pas de compte Bright Data, créez-en un nouveau. Si vous en avez un, il vous suffit de vous connecter. Pour une installation rapide, suivez les instructions de la section “MCP” de votre compte :

Sinon, pour plus d’informations, suivez les instructions ci-dessous.
Tout d’abord, générez une clé API Bright Data. Conservez-la en lieu sûr, car vous en aurez bientôt besoin. Nous supposons ici que votre clé API dispose d’autorisations d’administrateur, car cela simplifie le processus d’intégration du MCP Web.
Procédez à l’installation globale de Web MCP sur votre machine via le paquet @brightdata/mcp:
npm install -g @brightdata/mcp
Ensuite, vérifiez que le serveur MCP local fonctionne en le lançant :
API_TOKEN="<Votre_BRIGHT_DATA_API>" npx -y @brightdata/mcp
Ou, de manière équivalente, en PowerShell :
$Env:API_TOKEN="<Votre_BRIGHT_DATA_API>" ; npx -y @brightdata/mcp
Remplacez le caractère générique <Votre_BRIGHT_DATA_API> par votre clé API Bright Data. Ces commandes définissent la variable d’environnement API_TOKEN requise et lancent le Web MCP localement en exécutant son paquetage npm.
En cas de succès, vous devriez voir des journaux comme celui-ci :

Lors du premier lancement, le MCP Web crée automatiquement deux zones par défaut dans votre compte Bright Data :
mcp_unlocker: Une zone pour Web Unlocker.mcp_browser: Une zone pour Browser API.
Pour alimenter ses plus de 60 outils, Web MCP s’appuie sur ces deux produits Bright Data.
Si vous souhaitez vérifier que les zones ont été créées, connectez-vous à votre tableau de bord Bright Data. Accédez à la page “Proxy & Scraping Infrastructure“, et vous devriez apercevoir les deux zones dans le tableau :

Remarque: si votre jeton API ne dispose pas des autorisations Admin, les deux zones ne seront pas créées. Dans ce cas, vous devez les mettre en place manuellement et configurer leurs noms via des variables d’environnement comme expliqué sur GitHub.
Par défaut, le serveur MCP n’expose que les outils search_engine et scrape_as_markdown (et leurs versions batch). Ces outils sont inclus dans la version gratuite de Web MCP, vous pouvez donc les utiliser sans frais.
Pour débloquer les outils avancés, tels que les outils d’automatisation du navigateur et les flux de données structurées, vous devez activer le mode Pro. Pour ce faire, définissez la variable d’environnement PRO_MODE="true" avant de démarrer le Web MCP :
API_TOKEN="<Votre_BRIGHT_DATA_API>" PRO_MODE="true" npx -y @brightdata/mcp
Ou, sous Windows :
$Env:API_TOKEN="<Votre_BRIGHT_DATA_API>" ; $Env:PRO_MODE="true" ; npx -y @brightdata/mcp
Le mode Pro permet de débloquer plus de 60 outils, mais il n’est pas inclus dans la version gratuite et entraîne des frais supplémentaires.
C’est formidable ! Vous venez de vérifier que le serveur Web MCP fonctionne sur votre système. Arrêtez le processus MCP, car vous êtes sur le point de configurer votre script pour le lancer et vous y connecter.
Étape 4 : Se connecter à Web MCP
Demandez à votre script Python de se connecter au serveur Web MCP via STDIO.
Commencez par ajouter la clé API de Bright Data que vous avez obtenue précédemment à votre fichier .env:
BRIGHT_DATA_API_KEY="<VOTRE_CLÉ_BRIGHT_DATA_API_KEY>"
Remplacez l’espace réservé <YOUR_BRIGHT_DATA_API_KEY> par votre clé réelle.
Dans agent.py, chargez la clé API avec :
BRIGHT_DATA_API_KEY = os.getenv("BRIGHT_DATA_API_KEY")
Ensuite, définissez un objet StdioServerParameters pour configurer la connexion STDIO :
from mcp import StdioServerParameters
server_parameters = StdioServerParameters(
command="npx",
args=["-y", "@brightdata/mcp"],
env={
"API_TOKEN" : BRIGHT_DATA_API_KEY,
"PRO_MODE" : "true", # Optional
},
)
Cette configuration reflète la commande npx de tout à l’heure, en utilisant la variable d’environnement pour le jeton API. Notez que API_TOKEN est obligatoire, tandis que PRO_MODE est facultatif.
Utilisez une instance de MCPClient pour appliquer ces paramètres de connexion et récupérer la liste des outils exposés par le serveur :
from smolagents import MCPClient
avec MCPClient(server_parameters, structured_output=True) as tools :
Votre script agent.py va maintenant lancer un processus Web MCP et se connecter via STDIO. Le résultat est un tableau d’outils que vous pouvez passer à n’importe quel agent IA de smolagents.
Vérifiez la connexion en imprimant les outils disponibles :
for bright_data_tool in bright_data_tools :
print(f "OUTIL : {bright_data_tool.name} - {bright_data_tool.description}n")
Si vous exécutez le script avec le mode Pro désactivé, vous devriez voir un ensemble limité d’outils :

Si le mode Pro est activé, les plus de 60 outils seront affichés :

Formidable ! Cela confirme que votre intégration Web MCP fonctionne correctement.
Etape #5 : Définir l’intégration LLM
Votre script a maintenant accès aux outils, mais votre agent a également besoin d’un cerveau. Cela signifie qu’il est temps de configurer une connexion à un service LLM.
Commencez par ajouter votre clé API Gemini au fichier .env:
GEMINI_API_KEY="<VOTRE_CLÉ_API_GEMINI>"
Ensuite, chargez-la dans votre fichier agent.py :
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
Ensuite, définissez une instance OpenAIServerModel pour vous connecter aux APIs Gemini :
from smolagents import OpenAIServerModel
model = OpenAIServerModel(
model_id= "gemini-2.5-flash",
# URL de base de l'API Gemini compatible avec l'OpenAI de Google
api_base="https://generativelanguage.googleapis.com/v1beta/openai/",
api_key=GEMINI_API_KEY,
)
Même si vous utilisez une classe de modèle pour OpenAI, cela fonctionnera. C’est grâce à l’api_base spécifique que vous avez définie, qui vous donne accès aux points de terminaison compatibles avec OpenAI pour l’intégration de Gemini. C’est super !
Étape 6 : Créer l’agent IA avec les outils Web MCP
Vous avez maintenant tous les éléments de base pour créer un agent IA de code smolagents. Utilisez les outils Web MCP et le moteur LLM pour en définir un :
from smolagents import CodeAgent
agent = CodeAgent(
model=model,
tools=outils,
stream_outputs=True,
)
CodeAgent est le principal type d’agent IA de smolagents. Il génère des extraits de code Python pour effectuer des actions et résoudre des tâches. Les avantages et les inconvénients de cette approche sont les suivants :
Avantages:
- Très expressif : Peut gérer une logique complexe, un flux de contrôle et combiner plusieurs outils. De plus, il prend en charge les boucles, les transformations, le raisonnement, etc.
- Flexible: Il n’est pas nécessaire de prédéfinir chaque action, car il peut générer dynamiquement de nouvelles actions et de nouveaux outils.
- Raisonnement émergent: Bien adapté aux problèmes à plusieurs étapes ou à la prise de décision dynamique.
Inconvénients
- Risque d’erreurs: Peut produire des erreurs de syntaxe Python ou des exceptions qui doivent être gérées.
- Moins prévisible: Les résultats peuvent être inattendus ou dangereux.
- Nécessite un environnement sécurisé: Doit être exécuté dans un contexte d’exécution sûr.
Il ne reste plus qu’à lancer votre agent et à le laisser exécuter des tâches !
Étape n° 7 : Exécuter une tâche dans l’agent
Pour tester les capacités de récupération de données web de votre agent, vous devez écrire une invite appropriée. Par exemple, supposons que vous souhaitiez analyser le sentiment des commentaires sur une vidéo YouTube.
Un outil Web MCP récupérera les commentaires, et un script Python généré par le CodeAgent effectuera l’analyse du sentiment. Enfin, le code sera exécuté. Il est également utile de disposer du code Python généré pour comprendre le processus et faciliter les extensions futures.
Pour ce faire, lancez une invite comme la suivante dans votre agent :
prompt = """
Récupérer les 10 premiers commentaires de la vidéo YouTube suivante :
Fournir un rapport concis comprenant l'analyse du sentiment, ainsi que des extraits des commentaires réels.
"""
# Exécuter l'invite dans l'agent
agent.run(prompt)
La vidéo d’entrée est une bande-annonce de Black Ops 7, un jeu vidéo qui n’a pas été bien accueilli par la communauté.
Étant donné que la plupart des commentaires sont assez tendancieux, l’analyse des sentiments devrait produire des résultats qui mettent en évidence les réactions négatives.
Étape n° 8 : Assembler le tout
A présent, votre fichier agent.py devrait contenir :
# pip install "smolagents[mcp,openai]" python-dotenv
from dotenv import load_dotenv
import os
from smolagents import OpenAIServerModel, MCPClient, CodeAgent, ToolCallingAgent
from mcp import StdioServerParameters
# Chargement des variables d'environnement à partir du fichier .env
load_dotenv()
# Lire les clés d'API à partir des envs
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
BRIGHT_DATA_API_KEY = os.getenv("BRIGHT_DATA_API_KEY")
server_parameters = StdioServerParameters(
command="npx",
args=["-y", "@brightdata/mcp"],
env={
"API_TOKEN" : BRIGHT_DATA_API_KEY,
"PRO_MODE" : "true", # Optional
},
)
# Initialiser la connexion à Gemini
model = OpenAIServerModel(
model_id= "gemini-2.5-flash",
# URL de base de l'API de Google Gemini compatible avec l'OpenAI
api_base="https://generativelanguage.googleapis.com/v1beta/openai/",
api_key=GEMINI_API_KEY,
)
# Initialiser le client MCP et récupérer les outils
with MCPClient(server_parameters, structured_output=True) as tools :
# Définir l'agent IA, étendu avec les outils MCP
agent = CodeAgent(
model=model,
tools=outils,
stream_outputs=True,
)
prompt = """
Récupérer les 10 premiers commentaires de la vidéo YouTube suivante :
Fournir un rapport concis comprenant l'analyse des sentiments, ainsi que des extraits des commentaires réels.
"""
# Exécuter l'invite dans l'agent
agent.run(prompt)
Comme promis, smolagents répond aux attentes et vous permet de construire un agent IA complet avec intégration MCP en moins de 50 lignes de code.
Testez-le en exécutant :
python agent.py
Supposons que vous l’exécutiez avec le mode Pro activé pour le MCP Web. Le résultat sera une sortie en plusieurs étapes comme celle-ci :

Remarquez que, d’après l’invite, l’agent a sélectionné avec succès l’outil Web MCP web_data_youtube_comments. Il l’a appelé avec les bons arguments pour atteindre l’objectif. Cet outil est décrit comme suit : “Lire rapidement les données structurées des commentaires youtube. Nécessite une URL de vidéo YouTube valide. Il peut s’agir d’une consultation de cache, donc plus fiable que le scraping”. C’est donc une bonne décision !
Une fois que l’outil a renvoyé les données de commentaires, l’étape 2 de génération du rapport commence :

Cette étape génère le rapport final d’analyse des sentiments. En particulier, CodeAgent produit tout le code Python pour générer le rapport et l’exécute sur les données récupérées par web_data_youtube_comments.
Cette approche vous permet de comprendre clairement le processus utilisé par l’IA pour produire le résultat, en supprimant une grande partie de l’effet “boîte noire” habituel des LLM.
Le résultat ressemblera à quelque chose comme :

Comme prévu, l’analyse du sentiment est largement négative.
Notez que les commentaires référencés dans le rapport correspondent exactement à ce que vous pouvez voir sur la page YouTube de la vidéo :

Si vous avez déjà essayé de récupérer des données sur YouTube, vous savez à quel point cela peut être difficile en raison des protections anti-bots et des interactions requises avec l’utilisateur. C’est quelque chose que les LLM vanille ne peuvent pas gérer, ce qui démontre la puissance et l’efficacité de l’intégration du MCP Web de Bright Data dans un agent IA smolagents.
N’hésitez pas à expérimenter différentes invites de saisie. Grâce à la large gamme d’outils Web MCP de Bright Data, vous pouvez répondre à une grande variété de cas d’utilisation du monde réel.
Et voilà ! Vous venez de voir la puissance de la combinaison du Web MCP de Bright Data avec un agent IA de code smolagents en Python.
Conclusion
Dans cet article de blog, vous avez appris à construire un agent IA à base de code à l’aide de smolagents. Vous avez vu comment l’améliorer avec les outils du Web MCP de Bright Data, qui offre même un niveau gratuit.
Cette intégration permet à votre agent d’effectuer des recherches sur le Web, d’extraire des données structurées, d’accéder à des flux de données Web en direct, d’automatiser des interactions Web, etc. Pour créer des agents IA encore plus sophistiqués, explorez la gamme plus large de produits et services prêts pour l’IA disponibles dans l’écosystème de Bright Data.
Créez un compte Bright Data dès aujourd’hui et commencez à expérimenter nos outils de données Web !