Como Adicionar Pesquisa na Web ao Qwen Código: Integração Scrapeless MCP para Agentes de Terminal
Expert in Web Scraping Technologies
Principais Conclusões:
- Qwen Code não possui busca na web embutida — MCP é como ele vê a web. A ferramenta
web_searchembutida foi removida em uma versão inicial; a documentação oficial é explícita ao afirmar que a busca na web é fornecida pela conexão a um servidor MCP. Direcione essa conexão para o Scrapeless e o agente do terminal ganha busca no Google ao vivo, renderização de páginas e um navegador em nuvem completo em uma única ação. - Um bloco em
~/.qwen/settings.jsonconecta tudo. Adicione uma única entradascrapelessao objetomcpServerse o agente recebe um raspador de SERP do Google, um raspador de Tendências, ajudantes de HTML/Markdown/Captura de Tela, e 16 ferramentas de automação de navegador — sem código SDK, sem serviço para hospedar. - O agente pesquisa, renderiza e manipula um navegador a partir de comandos simples. Pergunte em linguagem natural para pesquisar no Google, leia uma página rica em JavaScript como um markdown limpo, ou clique através de um fluxo em vários passos, e o Qwen Code compõe as chamadas de ferramentas certas passo a passo, em vez de ser limitado ao conhecimento até o corte de treinamento e arquivos locais.
- Proxies residenciais e contra-detecção são gerenciados do lado da nuvem. Cada solicitação é roteada através do navegador em nuvem contra-detecção Scrapeless com proxies residenciais em mais de 195 países, permitindo que o agente obtenha uma resposta renderizada e utilizável em sites comerciais sem qualquer configuração de proxy ou impressão digital na sua máquina.
- 21 ferramentas em SERP, raspagem sem estado e automação de navegador. O servidor MCP Scrapeless expõe
google_search,google_trends,scrape_html/scrape_markdown/scrape_screenshot, além de 16 ferramentasbrowser_*— um espaço de nomes do qual o planejador do agente se utiliza a cada turno. - Transporte via stdio ou HTTP transmitível. Execute o servidor localmente com
npx, ou aponte a mesma configuração para o ponto de extremidade HTTP transmitível para contêineres de desenvolvimento remotos e runners CI. - Gratuito para começar. Novas contas Scrapeless incluem tempo de execução gratuito do Scraping Browser — inscreva-se em Scrapeless.
Introdução: um agente de codificação de terminal que finalmente pode ler a web ao vivo
Qwen Code é um agente de IA de código aberto que vive no seu terminal, otimizado para a série de modelos Qwen. Ele lê grandes bases de código, edita arquivos, executa comandos e automatiza as partes tediosas de um projeto — tudo isso sem sair do shell. O que não pode fazer por conta própria é ver a web ao vivo. Seu conhecimento para até o corte de treinamento do modelo e os arquivos no disco.
Essa lacuna é incomumente explícita no Qwen Code. A ferramenta web_search embutida foi removida em uma versão inicial, e a documentação oficial afirma claramente que "a busca na web é fornecida pela conexão a servidores MCP externos" em vez de uma ferramenta embutida. Em outras palavras, o acesso à web em tempo real no Qwen Code não é uma reflexão tardia que você adiciona — é o ponto de extensão pretendido. Até que você conecte um, o agente não pode pull um SERP atual, ler a página de preços de um concorrente, verificar o changelog mais recente ou renderizar um aplicativo apenas em JavaScript.
Este post fecha essa lacuna conectando o servidor MCP Scrapeless ao Qwen Code. Um bloco em ~/.qwen/settings.json dá ao agente busca no Google, renderização JavaScript e um navegador em nuvem completo contra-detecção, todos acessíveis através dos mesmos prompts em linguagem natural que já utiliza para código. Para a mesma superfície Scrapeless através de outros clientes MCP, veja o tutorial do Google Antigravity e a integração Pi Agent.
O Que Você Pode Fazer Com Isso
- Pesquisa de SERP ao vivo no terminal. Peça ao agente para executar
google_searchpara uma consulta e retornar os principais resultados como JSON, para que a pesquisa aconteça no shell em vez de uma aba de navegador separada. - Snapshots de concorrentes e preços. Insira uma URL no prompt e faça com que o agente renderize a página e extraia nomes de planos, preços e recursos em um registro estruturado que você pode colocar ao lado do seu código.
- Consultas de documentação e changelog que alimentam o código. Faça o agente buscar a documentação atual de uma biblioteca ou notas de lançamento como markdown limpo e escreva com base no texto renderizado em vez de uma memória desatualizada da API.
- Verificações de mercado e tendências. Use
google_trendspara puxar sinais de interesse para um tópico em uma região alvo, em seguida, alimente cópias de recursos, planos de conteúdo ou ideias de experimentos com evidências atuais. - Extração de páginas JavaScript em um registro tipado. Aponte o agente para um aplicativo de página única; o navegador em nuvem o hidrata e o agente analisa o resultado em um objeto tipado para o script que você está construindo.
- Fluxos de navegador em múltiplos passos. Encadeie
browser_goto,browser_click,browser_typeebrowser_scrollpara que o agente navegue pela paginação, expanda painéis ou passe por um assistente antes de extrair. - Captura de tela para revisão. Use
scrape_screenshotoubrowser_screenshotpara capturar uma página renderizada como uma imagem que o agente pode salvar no espaço de trabalho. - Pipelines de busca e leitura. Combine
google_searchcomscrape_markdownpara que o agente encontre os melhores resultados, leia cada um e os resuma em uma única chamada de terminal.
Na Scrapeless, nós apenas acessamos dados disponíveis publicamente enquanto cumprimos rigorosamente as leis, regulamentos e políticas de privacidade dos sites aplicáveis. O conteúdo deste post é apenas para fins de demonstração.
Por que o Servidor MCP Scrapeless
O servidor MCP Scrapeless é uma ponte personalizável e anti-detecção entre um agente de IA e a web ao vivo. Para o Qwen Code especificamente, ele traz:
- Um navegador na nuvem anti-detecção com renderização JavaScript. As páginas são hidratadas em um completo Navegador de Scraping Scrapeless antes da extração, assim SPAs, feeds de rolagem infinita e painéis carregados sob demanda se tornam alvos de primeira classe para
browser_goto+browser_get_html. - Proxies residenciais em mais de 195 países. Consultas geograficamente restritas retornam as listagens que um usuário local veria, com a saída do proxy completamente gerenciada pelo Scrapeless.
- Um comando stdio via
npx, sem código SDK. O servidor é iniciado como um processo filho denpx -y scrapeless-mcp-server; não há nada a construir, hospedar ou importar para seu projeto. - 21 ferramentas abrangendo SERP, scraping sem estado e automação de navegador completa.
google_searchegoogle_trendscobrem dados de SERP,scrape_html/scrape_markdown/scrape_screenshotcobrem fetchs de página de uma única vez, e 16 ferramentasbrowser_*cobrem navegação com estado, clicar, digitar, rolar e tirar screenshots. - Um complemento ao próprio
web_fetchdo Qwen Code. O Qwen Code oferece um simplesweb_fetchpara recuperação de páginas simples, mas não renderiza JavaScript nem tem recursos anti-detecção. As ferramentas Scrapeless preenchem exatamente essa lacuna — busque o que o agente nunca teve, além de acesso à páginas renderizadas e via proxy.
O plano gratuito é suficiente para configurar isso e executar prompts reais; compare as quotas na página de preços quando você ultrapassar isso. Obtenha sua chave de API no plano gratuito em Scrapeless.
Pré-requisitos
- Node.js 22 ou mais recente na estação de trabalho — O Qwen Code requer Node 22+, e o servidor MCP stdio é gerado com
npx. - Qwen Code instalado e um provedor de modelo configurado. O Qwen Code autentica-se contra um backend de LLM; o loop do agente precisa de um modelo funcional antes que qualquer chamada de ferramenta seja executada.
- Uma conta Scrapeless e chave de API — inscreva-se no plano gratuito em app.scrapeless.com e copie a chave de Configurações → Gestão de Chaves de API.
- Familiaridade básica com terminal — todo o setup é um conjunto de comandos mais um pequeno arquivo JSON.
Instalação
A configuração possui cinco sub-passos; cada um pode ser verificado de forma independente.
1. Instale o Qwen Code
Instale o CLI globalmente a partir do npm, e depois verifique a versão:
bash
npm install -g @qwen-code/qwen-code
qwen --version
Você também pode executá-lo sem uma instalação global via npx -y @qwen-code/qwen-code@latest.
2. Conecte um provedor de modelo
O Qwen Code se comunica com um backend de LLM. Ele suporta um modo compatível com OpenAI, então qualquer endpoint compatível com OpenAI funciona — defina o tipo de autenticação, a chave da API, a URL base e o modelo:
bash
export OPENAI_API_KEY="sua_chave_do_provedor_aqui"
export OPENAI_BASE_URL="https://seu-endpoint-compatível-com-openai/v1"
qwen --auth-type openai -m "seu-modelo-id"
Os mesmos valores podem ser passados como opções --openai-api-key e --openai-base-url. Escolha um modelo que lida bem com chamadas de ferramentas — o Qwen Code é construído em torno do uso agencial de ferramentas, então um modelo atual da série Qwen é uma combinação natural.
3. Adicione o servidor MCP Scrapeless (stdio)
O Qwen Code lê servidores MCP de ~/.qwen/settings.json (escopo do usuário) ou .qwen/settings.json na raiz do projeto. Adicione um bloco scrapeless ao objeto mcpServers:
json
{
"mcpServers": {
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": { "SCRAPELESS_KEY": "$SCRAPELESS_KEY" },
"timeout": 60000,
"trust": true
}
}
}
Dois detalhes são importantes aqui. Primeiro, o servidor MCP Scrapeless lê sua chave de SCRAPELESS_KEY, não SCRAPELESS_API_KEY — o CLI e SDK do Scrapeless usam SCRAPELESS_API_KEY, mas o servidor MCP é a exceção documentada. Em segundo lugar, o Qwen Code expande $VAR e ${VAR} dentro do objeto env, então você pode manter a chave em seu ambiente (export SCRAPELESS_KEY=...) e referenciá-la como $SCRAPELESS_KEY em vez de colar o valor literal no arquivo. A fonte do servidor está disponível em github.com/scrapeless-ai/scrapeless-mcp-server.
Você também pode adicionar o servidor pela CLI em vez de editar o JSON manualmente:
bash
qwen mcp add --transport stdio --scope user --env SCRAPELESS_KEY=$SCRAPELESS_KEY --trust scrapeless npx -y scrapeless-mcp-server
4. Ou use o modo HTTP em streaming.
Se o host não conseguir spawnar npx de forma confiável — um container de desenvolvimento hospedado, um workspace remoto ou um sandbox CI — aponte o Qwen Code para o endpoint HTTP Scrapeless em vez do processo local. Para transporte HTTP, o Qwen Code usa a chave httpUrl com um objeto headers opcional:
json
{
"mcpServers": {
"scrapeless": {
"httpUrl": "https://api.scrapeless.com/mcp",
"headers": { "x-api-token": "SEU_SCRAPELESS_KEY" }
}
}
}
O mesmo valor de chave funciona em ambos os modos; o streamável via HTTP passa como cabeçalho x-api-token em vez da variável de ambiente SCRAPELESS_KEY. O Stdio é o padrão certo em uma estação de trabalho de desenvolvedor; o streamável via HTTP é o padrão certo em qualquer lugar onde um processo filho de longa duração seja complicado de manter ativo.
5. Verifique a conexão
Liste os servidores MCP configurados:
bash
qwen mcp list
O servidor scrapeless deve relatar Conectado, o que significa que o Qwen Code lançou o processo stdio e completou o handshake do MCP. A partir daí, o agente pode enumerar as 21 ferramentas do servidor — as ferramentas de dados do Google (google_search, google_trends), os helpers de página de uso único (scrape_html, scrape_markdown, scrape_screenshot) e os primitivos do navegador em nuvem (browser_create, browser_goto, browser_get_html, browser_get_text, browser_click, browser_type, browser_press_key, browser_scroll, browser_scroll_to, browser_screenshot, browser_snapshot, browser_wait, browser_wait_for, browser_go_back, browser_go_forward, browser_close).
Como você realmente usa isso: convoque seu agente Qwen Code
Após conectar o servidor MCP, você obtém dados da web ao conversar com o Qwen Code no terminal — não escrevendo manualmente chamadas de ferramentas. O agente lê a lista de ferramentas que o servidor MCP Scrapeless expõe e escolhe google_search, scrape_markdown ou as ferramentas browser_* conforme necessário, compondo-as turno a turno a partir do prompt em linguagem natural. Não há JSON de ferramenta a ser criado do seu lado. O Qwen Code executa prompts de forma interativa em uma sessão, ou não interativamente, passando o prompt como um argumento posicional (ou enviando-o pelo stdin) para execuções únicas e scripts.
Prompts que você pode colar
| Prompt | O que o agente faz |
|---|---|
"Encontre os principais resultados do Google para benchmark de banco de dados vetorial 2026 e retorne-os como JSON." |
google_search com q, hl, gl → linhas de resultado digitadas. |
"Quais tópicos de pesquisa estão crescendo para ferramentas de desenvolvedor nos EUA agora?" |
google_trends. |
"Extraia a página de documentação Qwen Code em https://qwenlm.github.io/qwen-code-docs/en/users/overview/ como markdown limpo." |
scrape_markdown. |
"Abra https://pricing.example.com, é um aplicativo JavaScript — renderize-o e extraia o nome do plano, preço e recursos como JSON." |
browser_create → browser_goto → browser_get_html → extração digitada. |
"Compare as páginas de preços em https://a.example.com/pricing e https://b.example.com/pricing e me diga onde elas diferem." |
browser_create → browser_goto (A) → browser_get_html → browser_goto (B) → browser_get_html → diff. |
"Tire uma captura de tela de toda a página em https://example.com/landing." |
scrape_screenshot. |
"Pegue o HTML renderizado de https://example.com para que eu possa ler a marcação." |
scrape_html. |
"Abra https://example.com/jobs, aguarde o carregamento das listas, faça uma captura da página e, em seguida, extraia cada título e localização de emprego como JSON." |
browser_create → browser_goto → browser_wait_for → browser_snapshot → extração digitada → browser_close. |
Exemplo prático
Você digita (execução única, prompt passado no stdin):
bash
echo "Use a ferramenta google_search scrapeless para encontrar os principais resultados para 'qwen code github' e retorne os 3 principais como um array JSON de {title, link}." | qwen --approval-mode yolo --allowed-mcp-server-names scrapeless
O plano do agente (em linguagem simples):
- Chamar
google_searchcomq: "qwen code github",hl: "en",gl: "us". - Receber um array de linhas de resultado e ler os campos
position,titleelink. - Ordenar por
positione manter as três primeiras linhas. - Mapear cada linha para um objeto
{title, link}. - Retornar o array JSON para o terminal.
O que você recebe de volta (forma ilustrativa — o agente trabalha a partir de linhas como estas):
json
[
{ "title": "Qwen Code é um agente de IA de código aberto para o terminal, ...", "link": "https://qwen.ai/qwencode" },
{ "title": "Visão geral do Qwen Code", "link": "https://qwenlm.github.io/qwen-code-docs/en/users/overview/" },
{ "title": "qwen-code/qwen-code-core", "link": "https://www.npmjs.com/package/@qwen-code/qwen-code-core" }
]
// Os nomes dos campos correspondem à forma da linha google_search; os valores são exemplos ilustrativos.
--allowed-mcp-server-names scrapeless delimita a execução às ferramentas Scrapeless, e --approval-mode yolo permite que o agente execute a ferramenta confiável sem um prompt interativo — útil para execuções sem interface e scriptadas. As ferramentas de dados sem estado retornam seu payload como um corpo prefixado com Response:\n\n; o agente remove esse prefixo antes de analisar o JSON, então você nunca o vê na resposta.
Modelando prompts
| Diga isso | Efeito |
|---|---|
| "…da Alemanha" / "…resultados alemães" | Roteia a saída através de proxyCountry e define gl=de na busca. |
| "…como markdown, pule a navegação e o boilerplate" | Escolhe scrape_markdown para um payload de texto limpo em vez de HTML bruto. |
| "…renderize primeiro, é um aplicativo de página única" | Força o caminho browser_* (browser_create → browser_goto → browser_get_html) para que a extração aconteça contra o DOM hidratado. |
| "…apenas os 5 melhores" | Reduz o array retornado às primeiras cinco linhas. |
| "…inclua o trecho para cada resultado" | Mantém o campo snippet nas linhas de saída. |
| "…feche a sessão quando terminar" | Adiciona um browser_close final com o sessionId de browser_create. |
Tudo abaixo é a referência interna — a superfície da ferramenta, as formas de retorno exatas e o comportamento que o agente manipula para você.
A superfície da ferramenta MCP Scrapeless
Uma vez que o servidor está conectado, o Qwen Code vê 21 ferramentas que abrangem dados SERP, scraping sem estado e controle total do navegador em nuvem anti-detecção.
| Ferramenta | O que faz |
|---|---|
google_search |
Realiza uma busca no Google (q, hl, gl) e retorna linhas de resultados orgânicos estruturados. |
google_trends |
Obtém dados de interesse do Google Trends para uma consulta. |
scrape_html |
Busca uma URL e retorna seu HTML renderizado. |
scrape_markdown |
Busca uma URL e retorna Markdown limpo para a página. |
scrape_screenshot |
Captura uma captura de tela de uma URL alvo. |
browser_create |
Abre uma sessão no navegador em nuvem anti-detecção. |
browser_goto |
Navega a sessão para uma URL. |
browser_click |
Clica em um elemento na página ao vivo. |
browser_type |
Digita texto em um campo de entrada ou editável. |
browser_get_text / browser_get_html |
Lê o texto ou HTML da página. |
browser_screenshot |
Captura uma captura de tela da sessão ao vivo. |
browser_snapshot |
Retorna uma visão geral de acessibilidade/estrutura da página. |
browser_wait / browser_wait_for |
Espera um intervalo fixo, ou por uma condição/elemento. |
browser_scroll / browser_scroll_to |
Rola a página, ou até um elemento específico. |
browser_go_back / browser_go_forward |
Navega pelo histórico da sessão. |
browser_press_key |
Envia uma tecla do teclado para a página. |
browser_close |
Encerra a sessão do navegador em nuvem. |
Obtenha sua chave de API no plano gratuito: Scrapeless
O que você recebe de volta
Uma chamada google_search retorna um array JSON de linhas de resultados orgânicos. Cada linha carrega as mesmas chaves, assim o agente pode mapear diretamente para título, link e trecho:
json
// Nomes dos campos refletem a saída da ferramenta google_search; valores são amostras ilustrativas.
[
{
"position": 1,
"title": "Web Scraping With Python: A Complete Guide",
"link": "https://example.com/python-web-scraping",
"snippet": "Um guia passo a passo para fazer scraping da web com Python e analisar HTML.",
"source": "example.com"
},
{
"position": 2,
"title": "Scraping Dynamic Sites",
"link": "https://example.org/dynamic-scraping",
"snippet": "Como renderizar páginas JavaScript antes de extrair dados.",
"source": "example.org"
}
]
Algumas observações honestas assim que você começa a executar prompts:
- Ferramentas sem estado como
google_searchescrape_markdownretornam um corpo prefixado comResponse:\n\nseguido pelo payload JSON; o agente remove esse prefixo automaticamente, então você trabalha com os dados, não com o envoltório. - As ferramentas
browser_*retornam texto simples sem prefixoResponse:\n\n. - Os argumentos das ferramentas estão em camelCase: passe
sessionId,proxyCountrye campos semelhantes exatamente como nomeados. proxyCountryé uma solicitação, não uma garantia — pode se referir à região configurada na sua conta, então confirme a região de saída quando a geolocalização for importante.- Os valores na saída das ferramentas dependem do conteúdo: contagens de resultados, ordenação e texto de trechos variam com a consulta ao vivo.
Conclusão: busque, renderize e navegue a partir do terminal
Toda a integração se resume a um bloco MCP mais prompts em linguagem natural. Com a entrada scrapeless em ~/.qwen/settings.json e sua chave no ambiente, o Qwen Code ganha busca no Google ao vivo, renderização de JavaScript e um navegador em nuvem anti-detecção completo — exatamente a camada da web que o agente não fornece por conta própria. Você descreve a tarefa; o agente escolhe a ferramenta.
Se você está conectando outros agentes, o mesmo servidor Scrapeless MCP também se aplica a eles: veja as integrações do Google Antigravity e do Pi Agent, e a visão geral do servidor Scrapeless MCP para a referência completa da ferramenta. Mantenha sua chave de API em SCRAPELESS_KEY, prefira o transporte stdio para CLIs locais e HTTP-streamable para agentes hospedados, e deixe o agente escolher as ferramentas. Referência completa em docs.scrapeless.com.
Pronto para Construir Seu Pipeline de Dados Potencializado por IA?
Junte-se à nossa comunidade para reivindicar um plano gratuito e se conectar com desenvolvedores construindo agentes Qwen Code + Scrapeless MCP: Discord · Telegram.
Inscreva-se em Scrapeless para um tempo de execução gratuito do Scraping Browser e adapte a integração acima para os SERPs, páginas e regiões que sua equipe necessita. Referência completa em docs.scrapeless.com.
FAQ
Por que o Qwen Code precisa de um servidor MCP para pesquisa na web?
Porque ele não tem pesquisa na web integrada. A ferramenta central web_search foi removida em uma versão inicial, e a documentação oficial direciona a pesquisa na web através de servidores MCP. Conectar o Scrapeless fornece ao agente essa capacidade de pesquisa que falta, além de acesso a páginas renderizadas e um navegador em nuvem completo.
Como isso é diferente do web_fetch embutido no Qwen Code?
web_fetch faz uma recuperação simples de uma URL. Não renderiza JavaScript e não possui camada de anti-deteção ou proxy, então tem dificuldades em aplicativos de página única e sites protegidos por bots. As ferramentas Scrapeless adicionam a pesquisa que falta (google_search), texto renderizado limpo (scrape_markdown) e um navegador anti-deteção com estado (browser_*) em proxies residenciais.
Qual variável de ambiente armazena a chave Scrapeless?
SCRAPELESS_KEY. Esta é a exceção documentada — a CLI e o SDK do Scrapeless leem SCRAPELESS_API_KEY, mas o servidor MCP lê SCRAPELESS_KEY. O Qwen Code pode expandi-lo a partir do seu ambiente via $SCRAPELESS_KEY dentro do objeto env da configuração.
De onde o Qwen Code lê a configuração do MCP?
Do ~/.qwen/settings.json para escopo do usuário, ou .qwen/settings.json na raiz de um projeto para escopo do projeto. Ambos usam o objeto mcpServers. Você também pode adicionar um servidor com qwen mcp add e inspecionar conexões com qwen mcp list.
stdio vs HTTP streamable — quando você deve usar cada um?
Use stdio quando o servidor estiver rodando localmente ao lado da CLI: o Qwen Code lança scrapeless-mcp-server como um processo filho e se comunica com ele via entrada/saída padrão. Use HTTP streamable (a chave httpUrl apontando para https://api.scrapeless.com/mcp com o cabeçalho x-api-token) quando o agente estiver hospedado ou remoto e não puder gerar um processo local.
O proxyCountry sempre se aplica?
Nem sempre. proxyCountry é uma preferência que pode ser adiada para a região configurada na sua conta. Se o geo-alvo for importante, confirme a região de saída em vez de assumir que o valor por chamada sempre prevalece.
O scraping de web via o agente é legal?
Scraping de dados disponíveis publicamente é geralmente permitido, mas você é responsável por como você os utiliza. Reveja os Termos de Serviço de cada site e respeite o robots.txt, e lembre-se de que as regras em torno de dados pessoais e acessos variam de acordo com a jurisdição. Em caso de dúvida, obtenha aconselhamento jurídico para seu caso de uso específico.
Você pode usar isso sem um agente de IA?
Sim. O servidor Scrapeless MCP é um servidor MCP padrão, portanto, qualquer cliente compatível com MCP pode chamá-lo — ou você pode acioná-lo diretamente via JSON-RPC (initialize, depois tools/list e tools/call). O agente é uma conveniência, não uma necessidade.
Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.



