Menu d'accessibilité passer au contenu
day2

Custom Tool Groups – Launch Agents in Minutes, Not Days

8 min de lecture

Groupes d’outils personnalisés – Lancez des agents en quelques minutes, pas en plusieurs jours

Hier, nous avons présenté les groupes d’outils, qui vous permettent d’adapter votre serveur MCP à des domaines spécifiques tels que le commerce électronique ou les réseaux sociaux. Aujourd’hui, nous allons encore plus loin : les groupes d’outils personnalisés.

Vous pouvez désormais créer votre propre instance de serveur MCP avec exactement les outils dont vous avez besoin, ni plus, ni moins. Que vous ayez besoin d’un agent de support client ultra-spécialisé ou d’un assistant de recherche d’une précision chirurgicale, les groupes d’outils personnalisés vous permettent de le configurer en quelques minutes à l’aide de notre nouvel assistant de configuration.

Le problème : une taille unique ne convient pas à tous

Les groupes d’outils ont résolu le problème de la pollution contextuelle en vous permettant de choisir des clusters prédéfinis tels que les réseaux sociaux ou les navigateurs. Mais que faire si votre cas d’utilisation ne correspond pas parfaitement à une catégorie ?

Imaginons que vous développiez un agent de surveillance des prix. Vous avez besoin :

  • Recherche de produits Amazon
  • des données sur les produits eBay
  • des informations sur Google Shopping

Mais vous n’avez pas besoin de Walmart, Target ou des 15 autres Jeux de données e-commerce du groupe ECOMMERCE. Les charger gaspille des jetons et perturbe le modèle.

Ou imaginez un agent de recherche B2B qui n’a besoin que :

  • Profils LinkedIn
  • Données d’entreprise LinkedIn
  • Un moteur de recherche (pour trouver des prospects)

Vous n’avez pas besoin d’Amazon, de Walmart ou d’autres outils de commerce électronique. Ils ne font que créer du bruit.

La solution : sélection granulaire des outils

Nous avons étendu notre serveur MCP pour prendre en charge la personnalisation par outil via des paramètres URL. Vous pouvez désormais sélectionner précisément les fonctionnalités dont votre agent a besoin.

Comment ça marche

En arrière-plan, notre couche d’authentification extrait un paramètre d'outils de l’URL de connexion et construit dynamiquement le manifeste des outils :

function extract_url_params(request){
    const url = request.url || '';
    const params = {};

    // Extraire le paramètre individuel des outils
    const tools_match = url.match(/tools=([a-zA-Z0-9_,]+)/);
    if (tools_match)
    {
        const tools_str = tools_match[1];
        params.tools = tools_str.split(',')
            .map(t=>t.trim())
            .filter(Boolean);
    }
    return params;
}

Lorsque vous spécifiez ?tools=web_data_amazon_product,search_engine, le serveur crée un ensemble d’outils autorisés qui ne comprend que ces deux outils :

function build_allowed_tools(groups = [], tools = []){
    const allowed = new Set();
    for (let groupId of groups)
    {
        const group = Object.values(GROUPS).find(g=>g.id==groupId);
        if (group)
        {
            for (let tool of group.tools)
                allowed.add(tool);
        }
    }
    for (let tool of tools)
        allowed.add(tool);
    return allowed;
}

Enfin, chaque outil enregistré sur le serveur vérifie si le client y a accès :

const add_tool = tool=>{
    server.addTool({
        ...tool,
        canAccess: auth=>{
            // Le mode Pro accorde l'accès à tous les outils
            if (auth?.proMode===true)
                return true;
            // Vérifie si l'outil fait partie de l'ensemble autorisé
            if (auth?.allowedTools && auth.allowedTools.size)
                return auth.allowedTools.has(tool.name);
            // Par défaut, liste pro_mode_tools
            return pro_mode_tools.includes(tool.name);
        },
    });
};

Le résultat ? Le client MCP ne voit que les outils que vous avez explicitement autorisés. Pas de distractions. Pas de jetons gaspillés.

L’assistant de configuration : configuration sans code

Exemple concret : agent de surveillance des prix

Construisons étape par étape un agent de surveillance des prix.

Étape 1 : choisissez vos outils

Vous avez besoin de :

  • web_data_amazon_product – Obtenir les prix actuels sur Amazon
  • web_data_ebay_product – Comparer avec les annonces eBay
  • web_data_google_shopping – Vérifier les tendances Google Shopping
  • search_engine – Trouver les URL des produits (inclus dans les outils de base)

Étape 2 : Configurer via l’assistant

Ouvrez l’assistant, entrez votre jeton API et utilisez le paramètre d’outils personnalisés :

?tools=web_data_amazon_product,web_data_ebay_product,web_data_google_shopping

L’assistant valide votre configuration et génère l’URL de connexion.

Étape 3 : connectez votre agent

Collez l’URL dans la configuration de votre client MCP (par exemple, claude_desktop_config.json de Claude Desktop) :

{
  "mcpServers": {
    "price-monitor": {
      "command": "npx",
      "args": [
        "-y",
        "@brightdata/mcp",
      ],
      "env": {
        "BRIGHTDATA_API_TOKEN": "YOUR_TOKEN",
        "TOOLS":"web_data_amazon_product,web_data_ebay_product,web_data_google_shopping"
      }
    }
  }
}

Étape 4 : lancement

Votre agent dispose désormais de 4 outils dans son contexte :

  • search_engine
  • web_data_amazon_product
  • web_data_ebay_product
  • web_data_google_shopping

Au lieu de plus de 60 outils qui encombraient l’invite du système, vous n’en avez plus que 4. L’attention du LLM est désormais concentrée.

Combiner les groupes et les outils personnalisés

Voici l’astuce : vous pouvez combiner des groupes d’outils avec des outils personnalisés.

Commencez par un groupe de base, puis ajoutez des outils individuels :

&groups=social&tools=web_data_amazon_product

Vous obtenez ainsi :

  • Tous les outils de réseaux sociaux (LinkedIn, TikTok, Instagram, etc.)
  • Plus les données sur les produits Amazon

Cas d’utilisation ? Un agent de marketing d’influence qui :

  1. Trouve des créateurs sur TikTok
  2. Analyse leurs mentions de produits
  3. Recoupe les avis sur les produits Amazon

Vous avez créé un agent hybride avec une précision chirurgicale.

Impact sur les performances : encore plus léger que les groupes d’outils

Hier, nous avons montré que les groupes d’outils réduisent les jetons d’invite du système d’environ 60 % par rapport au chargement de plus de 60 outils.

Les outils personnalisés vont encore plus loin :

Configuration Outils chargés Réduction estimée des jetons
Suite complète Plus de 60 outils Référence (0 %)
Groupe d’outils (par exemple, réseaux sociaux) ~25 outils ~60
Outils personnalisés (par exemple, 4 outils) 4 outils ~85 %

Pourquoi est-ce important ?

  1. Latence réduite – La connexion initiale est plus rapide
  2. Précision accrue – Le modèle ne génère pas de paramètres fantômes à partir d’outils non pertinents
  3. Économies – Vous payez moins de jetons d’entrée pour chaque requête

Optimisation des jetons au-delà de la sélection des outils

Les outils personnalisés ne sont qu’une partie de notre stratégie de réduction des jetons. Nous avons également optimisé le côté sortie:

Filtrage des instantanés ARIA

Lorsqu’il utilise les outils du Navigateur de scraping, l’agent reçoit un instantané DOM. Mais un instantané complet peut représenter des milliers de jetons.

Nous le filtrons pour n’afficher que les éléments interactifs (boutons, liens, champs de formulaire) :

export class Aria_snapshot_filter {
    static INTERACTIVE_ROLES = new Set([
        'button', 'link', 'textbox', 'searchbox', 'combobox', 'checkbox',
        'radio', 'switch', 'slider', 'tab', 'menuitem', 'option'
    ]);

Et nous formatons les éléments de manière compacte, en tronquant les noms longs :

static format_compact(elements){
    const lines = [];
    for (const el of elements)
    {
        const parts = [`[${el.ref}]`, el.role];
        if (el.name && el.name.length>0)
        {
            const name = el.name.length>60 ?
                el.name.substring(0, 57)+'...' : el.name;
            parts.push(`"${name}"`);
        }
        // Formatage compact
    }
    return lines.join('n');
}

Résultat ? Un instantané du navigateur qui comptait 22 000 jetons passe à 3 000 jetons. L’agent obtient toujours toutes les informations dont il a besoin pour cliquer sur les boutons et remplir les formulaires, mais sans le superflu.

Mise en cache des sessions de navigateur basée sur le domaine

Nous mettons également en cache les sessions de navigateur par domaine afin d’éviter les redémarrages inutiles :

export class Browser_session {
    constructor({cdp_endpoint}){
        this.cdp_endpoint = cdp_endpoint;
        this._domainSessions = new Map();  // Mise en cache des sessions par domaine
        this._currentDomain = 'default';
    }

    async _getDomainSession(domain, {log}={}){
        if (!this._domainSessions.has(domain))
        {
            this._domainSessions.set(domain, {
                browser: null,
                page: null,
                browserClosed: true,
                requests: new Map(),
            });
        }
        return this._domainSessions.get(domain);
    }

Si votre agent automatise Amazon, le navigateur reste ouvert pour les opérations Amazon suivantes. Cela réduit le temps d’exécution de 2 à 3 secondes par action et diminue l’utilisation des jetons provenant des journaux d’initialisation répétés.

Essayez-le

Les outils personnalisés sont désormais disponibles sur le serveur Web MCP.

Utilisez l’assistant

Rendez-vous sur notre panneau de contrôle MCP pour accéder à l’assistant de configuration. Entrez votre jeton API, sélectionnez vos outils et obtenez une URL de connexion prête à l’emploi.

Niveau gratuit

Inscrivez-vous pour bénéficier de 5 000 requêtes gratuites par mois sur les outils de base (Web Unlocker et Search Engine). Idéal pour prototyper votre agent personnalisé.


Demain : nous publierons le fruit de plusieurs mois de travail. Cela changera votre façon d’envisager les workflows des agents. Restez à l’écoute.

Prêt à commencer?
Explorez le serveur MCP Web et commencez à construire des agents AI puissants.
Lire la documentation Voir le dépôt