Menu de Acessibilidade pular para o conteúdo
day2

Custom Tool Groups – Launch Agents in Minutes, Not Days

8 min de leitura

Grupos de ferramentas personalizadas – Lance agentes em minutos, não em dias

Ontem, apresentamos os grupos de ferramentas, que permitem definir o escopo do seu servidor MCP para domínios específicos, como comércio eletrônico ou redes sociais. Hoje, estamos dando um passo adiante: grupos de ferramentas personalizados.

Agora você pode criar sua própria instância de servidor MCP com exatamente as ferramentas de que precisa — nem mais, nem menos. Se você precisa de um agente de suporte ao cliente altamente focado ou de um assistente de pesquisa com precisão cirúrgica, os grupos de ferramentas personalizados permitem que você configure tudo em minutos usando nosso novo Assistente de configuração.

O problema: um tamanho único não serve para todos

Os Grupos de Ferramentas resolveram a poluição de contexto, permitindo que você escolha clusters predefinidos, como redes sociais ou navegador. Mas e se o seu caso de uso não se encaixar perfeitamente em uma categoria?

Digamos que você esteja criando um agente de Monitoramento de preços. Você precisa de:

  • Pesquisa de produtos na Amazon
  • Dados de produtos do eBay
  • Insights do Google Shopping

Mas você não precisa do Walmart, Target ou dos outros 15 Conjuntos de dados de comércio eletrônico do grupo ECOMMERCE. Carregá-los desperdiça tokens e distrai o modelo.

Ou imagine um agente de pesquisa B2B que precisa apenas de:

  • Perfis pessoais do LinkedIn
  • Dados de empresas do LinkedIn
  • Motor de busca (para encontrar leads)

Você não precisa da Amazon, Walmart ou outras ferramentas de comércio eletrônico. Elas são apenas ruído.

A solução: seleção granular de ferramentas

Ampliamos nosso servidor MCP para oferecer suporte à personalização por ferramenta por meio de parâmetros de URL. Agora você pode escolher exatamente os recursos de que seu agente precisa.

Como funciona

Nos bastidores, nossa camada de autenticação extrai um parâmetro de ferramentas da URL de conexão e constrói dinamicamente o manifesto da ferramenta:

função extract_url_params(request){
    const url = request.url || '';
    const params = {};

    // Extrair parâmetro de ferramentas individuais
    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;
}

Quando você especifica ?tools=web_data_amazon_product,search_engine, o servidor cria um conjunto de ferramentas permitidas que inclui apenas essas duas ferramentas:

função build_allowed_tools(grupos = [], ferramentas = []){
    const permitido = novo Conjunto();
    para (let groupId de grupos)
    {
        const grupo = Object.values(GRUPOS).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;
}

Por fim, todas as ferramentas registradas no servidor verificam se o cliente tem acesso:

const add_tool = tool=>{
    server.addTool({
        ...tool,
        canAccess: auth=>{
            // O modo Pro concede acesso a todas as ferramentas
            if (auth?.proMode===true)
                return true;
            // Verifica se a ferramenta está no conjunto permitido
            if (auth?.allowedTools && auth.allowedTools.size)
                return auth.allowedTools.has(tool.name);
            // Padrão para a lista pro_mode_tools
            return pro_mode_tools.includes(tool.name);
        },
    });
};

O resultado? O cliente MCP só vê as ferramentas que você permitiu explicitamente. Sem distrações. Sem desperdício de tokens.

O Assistente de Configuração: Configuração sem código

Exemplo real: agente de Monitoramento de preços

Vamos criar um agente de Monitoramento de preços passo a passo.

Etapa 1: escolha suas ferramentas

Você precisa de:

  • web_data_amazon_product – Obter os preços atuais da Amazon
  • web_data_ebay_product – Compare com as listagens do eBay
  • web_data_google_shopping – Verifique as tendências do Google Shopping
  • search_engine – Encontre URLs de produtos (incluído nas ferramentas básicas)

Etapa 2: Configure através do assistente

Abra o assistente, insira seu token de API e use o parâmetro de ferramentas personalizadas:

?tools=web_data_amazon_product,web_data_ebay_product,web_data_google_shopping

O assistente valida sua configuração e gera o URL de conexão.

Etapa 3: Conecte seu agente

Cole a URL na configuração do seu cliente MCP (por exemplo, claude_desktop_config.json do Claude Desktop):

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

Etapa 4: Inicie

Seu agente agora tem exatamente quatro ferramentas em seu contexto:

  • search_engine
  • web_data_amazon_product
  • web_data_ebay_product
  • web_data_google_shopping

Em vez de mais de 60 ferramentas entupindo o prompt do sistema, você tem 4. A atenção do LLM está totalmente focada.

Combinando grupos e ferramentas personalizadas

Aqui está o truque: você pode misturar grupos de ferramentas com ferramentas personalizadas.

Comece com um grupo básico e, em seguida, adicione ferramentas individuais:

&groups=social&tools=web_data_amazon_product

Isso lhe dá:

  • Todas as ferramentas de mídia social (LinkedIn, TikTok, Instagram, etc.)
  • Mais dados de produtos da Amazon

Caso de uso? Um agente de marketing de influência que:

  1. Encontra criadores no TikTok
  2. Analisa as menções aos seus produtos
  3. Faz referências cruzadas com avaliações de produtos da Amazon

Você criou um agente híbrido com precisão cirúrgica.

Impacto no desempenho: ainda mais enxuto do que grupos de ferramentas

Ontem, mostramos que os grupos de ferramentas reduzem os tokens de prompt do sistema em cerca de 60% em comparação com o carregamento de todas as mais de 60 ferramentas.

As Ferramentas Personalizadas vão além:

Configuração Ferramentas carregadas Redução estimada de tokens
Conjunto completo Mais de 60 ferramentas Linha de base (0%)
Grupo de ferramentas (por exemplo, redes sociais) ~25 ferramentas ~60%
Ferramentas personalizadas (por exemplo, 4 ferramentas) 4 ferramentas ~85%

Por que isso é importante?

  1. Menor latência – O handshake inicial é mais rápido
  2. Maior precisão – O modelo não alucina parâmetros de ferramentas irrelevantes
  3. Economia de custos – Você paga por menos tokens de entrada em cada solicitação

Otimização de tokens além da seleção de ferramentas

As ferramentas personalizadas são apenas uma parte da nossa estratégia de redução de tokens. Também otimizamos o lado da saída:

Filtragem de instantâneos ARIA

Ao usar as ferramentas do Navegador de scraping, o agente recebe um instantâneo DOM. Mas um instantâneo completo pode ter milhares de tokens.

Nós o filtramos para mostrar apenas elementos interativos (botões, links, campos de formulário):

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

E formatamos os elementos de forma compacta, truncando nomes longos:

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}"`);
        }
        // Formatação compacta
    }
    return lines.join('n');
}

Resultado? Um instantâneo do navegador que tinha 22.000 tokens passa a ter 3.000 tokens. O agente ainda obtém todas as informações necessárias para clicar em botões e preencher formulários, mas sem o excesso de dados.

Cache de sessão do navegador baseado em domínio

Também armazenamos em cache as sessões do navegador por domínio para evitar reinicializações desnecessárias:

export class Browser_session {
    constructor({cdp_endpoint}){
        this.cdp_endpoint = cdp_endpoint;
        this._domainSessions = new Map();  // Armazenar em cache as sessões por domínio
        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);
    }

Se o seu agente estiver automatizando a Amazon, o navegador permanecerá aberto para operações subsequentes na Amazon. Isso reduz o tempo de execução em 2 a 3 segundos por ação e diminui o uso de tokens de logs de inicialização repetidos.

Experimente

As Ferramentas Personalizadas já estão disponíveis no servidor Web MCP.

Use o assistente

Visite nosso painel de controle MCP para acessar o Assistente de configuração. Insira seu token de API, selecione suas ferramentas e obtenha uma URL de conexão pronta para uso.

Nível gratuito

Inscreva-se para obter 5.000 solicitações gratuitas por mês nas ferramentas básicas (Web Unlocker e Search Engine). Perfeito para prototipar seu agente personalizado.


Amanhã: estamos lançando algo em que trabalhamos há meses. Isso mudará a maneira como você pensa sobre fluxos de trabalho de agentes. Fique ligado.

Pronto para começar?
Explore o Servidor MCP da Web e comece a construir agentes de IA poderosos.
Leia a documentação Veja o Repositório