O Guia Completo de Web Scraping no Zencoder com o Servidor MCP Scrapeless
Expert Network Defense Engineer
Principais Conclusões:
- Um servidor MCP, cada agente Zencoder. O Zencoder executa o Agente de Codificação, Agente de Testes Unitários, Agente de Perguntas, Agente de Testes E2E, Agente de Informações do Repositório e Agente de Desenvolvimento Web dentro da extensão do VS Code e do plugin JetBrains. Adicionar o Serviço MCP Scrapeless a qualquer cliente fornece a todos esses agentes um navegador em nuvem reforçado, proxies residenciais em mais de 195 países, um scraper de SERP e auxiliares de Markdown/Captura de Tela de uso único - através de um único bloco de configuração.
- O agente para de ser bloqueado. O Zencoder oferece recursos poderosos de Grokking de Repositório e geração de código, mas sua busca web padrão atinge os mesmos shells JavaScript e portas anti-bot que qualquer solicitação HTTP anônima enfrentaria. Roteando através do Navegador de Scraping Scrapeless, a renderização JavaScript do lado da nuvem, a saída de proxy residencial e a impressão digital anti-detecção são implementadas em cada sessão.
- 20 ferramentas MCP, um namespace. Primitivas do navegador (
browser_create,browser_goto,browser_get_html,browser_get_text,browser_snapshot,browser_click,browser_type,browser_press_key,browser_scroll,browser_screenshot,browser_close), auxiliares de página de uso único (scrape_html,scrape_markdown,scrape_screenshot) e ferramentas de dados do Google (google_search,google_trends). O planejador do agente compõe-os a cada turno. - Dois esquemas de configuração, um servidor. O VS Code lê
"zencoder.mcpServers"dosettings.jsone suporta atualmente apenas stdio. O JetBrains 2.13+ usa um esquema de objeto simples e suporta stdio, HTTP transmissível e transportes OAuth2. A mesma entrada de servidorscrapelessé usada em ambos — apenas a chave de encapsulamento muda. - Habilidades e MCP se compõem. O sistema de Habilidades do Zencoder (
~/.zencoder/skills/<name>/SKILL.md, cabeçalho YAML + markdown) ensina a um agente como usar uma ferramenta; o MCP define quais ferramentas existem. Eles são aditivos — instale ambos e o agente obterá a superfície da ferramenta além do manual de utilização. - Modelo agnóstico por design. O Zencoder roteia entre Haiku 4.5, Sonnet 4.6, Opus 4.6, Opus 4.7, Gemini 3 Pro, Gemini 3 Flash, GPT-5.4 e GPT-5.2 através do mesmo loop de agente. A integração MCP Scrapeless opera idêntica entre todos eles — o protocolo é o contrato.
- Grátis para começar. Novas contas Scrapeless incluem um runtime gratuito do Navegador de Scraping — inscreva-se em app.scrapeless.com. Preços completos em scrapeless.com/en/pricing.
Introdução: o agente é tão útil quanto seu acesso à web ao vivo
O Zencoder é uma plataforma de orquestração de codificação AI construída em torno de um fluxo de trabalho multi-agente — Agente de Codificação para implementação, Agente de Informações do Repositório para contexto de código, Agente de Testes Unitários para cobertura, Agente de Testes E2E para testes em navegador, Agente de Perguntas para explicações e Agente de Desenvolvimento Web para trabalho de UI. Ele é entregue em duas superfícies: uma extensão do Visual Studio Code e um plugin do JetBrains. Para o código local, a imagem é completa — o Zencoder lê o repositório, planeja a mudança e escreve a diferença.
No momento em que uma tarefa precisa de dados web públicos e atuais, a imagem fica mais fina. A busca web padrão do Zencoder retorna o mesmo shell JavaScript que qualquer solicitação HTTP anônima, e em sites comerciais o DOM renderizado está atrás de desafios anti-bot, SERPs restringidos por proxy residencial e aplicativos de página única apenas em JavaScript que nenhum fetch headless alcança sem ajuda. Um prompt como "abra esta página de preços da concorrência e extraia a grade de planos" para de ser determinístico assim que o site-alvo está atrás do Cloudflare Turnstile.
Este post conecta o Serviço MCP Scrapeless ao Zencoder através de um único bloco de configuração. Após a conexão, cada agente Zencoder tem 20 ferramentas MCP mapeadas a um navegador em nuvem reforçado, um scraper de Pesquisa do Google, um scraper de Tendências do Google e auxiliares de HTML/Markdown/Captura de Tela de uso único. O agente escolhe qual ferramenta chamar a cada turno; o navegador em nuvem lida com a renderização JavaScript, saída de proxy residencial e impressão digital anti-detecção; o IDE continua responsável pela geração de código, pela árvore de arquivos e pelo terminal. Para a mesma superfície Scrapeless no Google Antigravity, veja o guia de integração do Antigravity; para a referência canônica do servidor MCP, veja o guia do servidor MCP para o Google Maps.
O Que Você Pode Fazer Com Isso
- Pesquisa de API e bibliotecas ao vivo dentro do IDE. Peça ao Agente de Codificação para buscar a página de documentação atual para uma biblioteca através de
scrape_markdowne raciocinar contra o texto renderizado em vez de contra uma memória de corte de treinamento da API. - Capturas de preços da concorrência no espaço de trabalho. Insira URLs de concorrentes no chat do agente; receba de volta linhas de preços estruturadas que o agente pode colar em um arquivo de comparação ao lado do código que as consome.
- Ingestão de conjuntos de dados públicos no projeto em construção. Faça o agente percorrer uma listagem de diretórios, extrair registros tipados e escrevê-los diretamente em um fixture JSON, uma semente SQL ou um tipo TypeScript ao lado da camada de modelo.
- Sinais de SERP e tendências cientes da região. Use
google_searchegoogle_trendsdentro do loop do agente para semear flags de recursos, cópias A/B ou templates de conteúdo com evidências específicas da Localidade. - Corpora Markdown para RAG e documentos de projeto.
scrape_markdownretorna páginas de publicadores como markdown limpo que o agente pode dividir, incorporar ou armazenar como contexto local do projeto. - Referências visuais para design e trabalho de UX.
scrape_screenshotebrowser_screenshotcapturam páginas renderizadas para comparação visual, referência de layout ou insumos de design que o Agente de Desenvolvimento Web pode anexar à conversa. - Execuções multi-agente a partir de um prompt. O Agente de Informação de Repositório coleta contexto de código-fonte, o Agente de Codificação executa a cadeia
browser_*, e o Agente de Testes Unitários verifica a forma do fixture resultante — tudo dentro de uma única execução do Zencoder.
Na Scrapeless, só acessamos dados disponíveis publicamente, enquanto cumprimos rigorosamente as leis, regulamentos e políticas de privacidade dos websites aplicáveis. O conteúdo deste post é apenas para fins de demonstração.
Por que usar o Servidor MCP Scrapeless
O Servidor MCP Scrapeless é a superfície a nível de protocolo na frente do Navegador de Scraping Scrapeless — um navegador em nuvem personalizável e anti-deteção projetado para agentes de IA — além das ferramentas de dados Scrapeless (Google Search, Google Trends, auxiliares de raspagem a nível de página). Especificamente para Zencoder, ele traz:
- Renderização em JavaScript na nuvem. O navegador em nuvem é completo com Chromium e a página hydratada antes da extração, então SPAs, feeds de rolagem infinita e painéis carregados sob demanda são alvos de primeira classe para
browser_goto+browser_get_html. - Proxies residenciais em mais de 195 países. Consultas geo-limitadas retornam as listagens que um usuário local veria. A região do proxy é definida na conta Scrapeless; a seleção de região por consulta é exposta através do CLI
scrapeless-scraping-browserpara fluxos de trabalho que precisam disso. - Impressão digital anti-deteção em cada sessão. UA, fuso horário, idioma, resolução de tela, WebGL e canvas randomizados por sessão, de modo que sessões de rolagem longa renderizam de forma idêntica ao tráfego orgânico.
- Persistência de sessão. O id da tarefa
browser_createé reutilizado nas subsequentes chamadasbrowser_*na mesma execução do agente; cookies, posição de rolagem e histórico de navegação vivem dentro de uma única sessão de navegador em nuvem. - Um namespace MCP. Cada operação que o agente precisa é uma única chamada de ferramenta — descobrível no painel Ferramentas do Agente do Zencoder, validada por esquema pelo protocolo, e correspondente aos prompts pela descrição.
- Execução gratuita em novas contas. Obtenha uma chave de API no plano gratuito em app.scrapeless.com. A superfície completa de ferramentas MCP está documentada em github.com/scrapeless-ai/scrapeless-mcp-server e os documentos da plataforma estão em docs.scrapeless.com.
Pré-requisitos
- Zencoder instalado. Seja a extensão do VS Code ou o plugin do JetBrains (suporte total a stdio + HTTP transmitível + OAuth2 MCP a partir do JetBrains 2.13+).
- Uma conta Scrapeless e chave de API — inscreva-se em app.scrapeless.com e copie a chave de Configurações → Gerenciamento de Chave da API.
- Node.js 18 ou mais recente na estação de trabalho. O Zencoder gera
npx scrapeless-mcp-servercomo um processo filho para o modo stdio. - Familiaridade básica com edição de JSON — a configuração do MCP do Zencoder reside em
settings.json.
Instalação
A configuração consiste em cinco sub-passos. O esquema JSON difere entre o VS Code e o JetBrains — escolha a seção que corresponde ao IDE que você está configurando.
1. Obtenha sua chave da API Scrapeless
Inscreva-se em app.scrapeless.com, abra o painel e em Configurações → Gerenciamento de Chave da API crie uma chave. Copie o valor — ele vai para a configuração do MCP na etapa 3.
2. Abra a configuração MCP do Zencoder
Opção A — UI de Ferramentas do Agente (sugerida para ambos os IDEs):
- Clique no menu … de mais opções no canto superior direito do painel de chat do Zencoder.
- Selecione Ferramentas do Agente.
- Abra a aba Custom e clique em Adicionar MCP Personalizado.
- Preencha o formulário de configuração (nome, comando, argumentos, ambiente). A UI escreve em
settings.jsonpor você.
Opção B — Edite settings.json diretamente:
- VS Code: Abra o menu … no chat do Zencoder → Configurações → role até a seção Servidores MCP → clique em Editar em settings.json.
- JetBrains: Abra Arquivo → Configurações (ou IDE JetBrains → Configurações no macOS) → expanda Ferramentas → Zencoder → Servidores MCP.
3. Adicione o servidor MCP Scrapeless
O esquema JSON é diferente entre os dois IDEs — o VS Code envolve as entradas dentro de uma chave de nível superior "zencoder.mcpServers"; o JetBrains usa um objeto simples.
VS Code — modo stdio (atualmente o único transporte suportado no VS Code):
json
"zencoder.mcpServers": {
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": {
"SCRAPELESS_KEY": "SEU_SCRAPELESS_KEY"
}
}
}
JetBrains — modo stdio:
json
{
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": {
"SCRAPELESS_KEY": "SEU_SCRAPELESS_KEY"
}
}
}
Salve o arquivo. Na primeira execução, npx -y scrapeless-mcp-server baixa o pacote; reinícios subsequentes reutilizam a versão em cache.
4. Ou use o modo HTTP transmitível (apenas JetBrains 2.13+)
O JetBrains 2.13+ suporta stdio, HTTP transmitível e transportes OAuth2 MCP; o VS Code atualmente é apenas stdio (HTTP transmitível e OAuth2 estão sendo acompanhados como "em breve" na documentação do Zencoder). Para um agente remoto que roda em um contêiner de desenvolvimento hospedado ou sandbox CI onde npx não pode iniciar de forma confiável um processo filho de longa duração, os usuários do JetBrains podem apontar o Zencoder para o endpoint MCP hospedado no Scrapeless:
json
{
"scrapeless": {
"type": "streamable-http",
"url": "https://api.scrapeless.com/mcp",
"headers": {
"x-api-token": "SEU_SCRAPELESS_KEY"
}
}
}
O mesmo SEU_SCRAPELESS_KEY funciona em ambos os modos. Os usuários do VS Code permanecem no bloco stdio no passo 3 até que o Zencoder libere o HTTP transmitível para o VS Code.
5. Verifique a conexão
Aplique as alterações — o JetBrains requer reabrir o projeto após editar as configurações; o VS Code geralmente detecta a alteração ao recarregar. Certifique-se de que o Agente de Codificação esteja habilitado. Em uma nova sessão de chat do Zencoder, digite:
"Abra https://example.com com a ferramenta de navegador Scrapeless e me diga o título da página."
O agente deve chamar browser_create, depois browser_goto, depois browser_get_text (ou browser_get_html), e responder com "Exemplo de Domínio". Se isso retornar limpo, o servidor MCP está conectado, a chave da API é válida e o navegador em nuvem é acessível.
Se não, as falhas e correções comuns na primeira execução são:
| Sintoma | Causa provável | Correção |
|---|---|---|
scrapeless não listado nas Ferramentas do Agente |
Configuração não carregada | Reabra o projeto (JetBrains) ou recarregue a janela (VS Code); verifique novamente o caminho JSON e que o arquivo parseia |
Autenticação falhou / 401 do servidor |
Chave da API errada ou expirada | Re-copie do painel, cole em env.SCRAPELESS_KEY, reinicie o Zencoder |
npx trava na primeira invocação |
Rede npm lenta ou tempo de espera do registro | Execute npx -y scrapeless-mcp-server uma vez em um terminal para pré-cachear o pacote, depois reinicie o Zencoder |
Erros initialize response / connection closed durante a inicialização do MCP |
Não-JSON escrito para stdout durante o handshake JSON-RPC | Use uma versão atual do scrapeless-mcp-server (logs para stderr, JSON-RPC para stdout) e confirme que nenhum shell wrapper está injetando banners de inicialização |
Chamada de ferramenta retorna HTML Acesso Negado |
A池 de proxy retornou um IP sinalizado na alocação | Peça ao agente para chamar browser_close depois browser_create novamente; alocações subsequentes têm sucesso |
Como você realmente usa isso: peça ao seu agente Zencoder
Após a instalação, o agente controla o loop descobrir → extrair. O servidor MCP entrega ao Zencoder uma lista de ferramentas tipadas; o agente lê as descrições das ferramentas e compõe as chamadas turno a turno com base no prompt. Não há tools.json para autorar e nenhuma chamada MCP manual a ser emitida do lado do IDE.
O Zencoder reserva os atalhos @ apenas para as Integrações Nativas embutidas — @Jira funciona porque Jira é uma integração nativa; servidores MCP não são endereçados com @<servername>. O planejador do agente combina o prompt com as descrições das ferramentas, então formule o pedido em termos da ação ("renderizar a página em…", "pesquisar no Google por…", "extrair essa URL como markdown") e a ferramenta Scrapeless correta será chamada.
Prompts que você pode colar
| Você digita | O que o agente faz |
|---|---|
"Pesquise no Google por benchmark de banco de dados vetorial 2026 e retorne os 10 melhores resultados como JSON." |
google_search → lista de resultados tipada. |
"Renderize a página da documentação React em https://react.dev/learn/synchronizing-with-effects e me dê o markdown." |
scrape_markdown → página do editor como markdown. |
"Abra https://pricing.example.com, role a tabela de planos e retorne nome, preço e lista de recursos como JSON." |
browser_create → browser_goto → browser_scroll → browser_get_html → extração tipada. |
"Traga os tópicos de pesquisa em alta para ferramentas de desenvolvedor nos EUA do Google Trends." |
google_trends. |
"Tire uma captura de tela de página inteira de https://example.com/landing e salve ao lado de landing.tsx." |
scrape_screenshot → gravação de arquivo no espaço de trabalho. |
"Abra https://www.google.com/search?q=mortgage+rates e retorne os cartões SERP." |
A região padrão da conta direciona a saída do proxy; fixe uma região diferente com várias chaves de API (veja as FAQ). |
| "Para cada resultado na pesquisa anterior do Google, renderize a página como markdown e resuma-a em duas frases." | Corrente google_search → scrape_markdown × N → resumo LLM. |
"Tire uma captura de tela da página inicial de https://example.com e relate a árvore de acessibilidade." |
browser_snapshot. |
Exemplo prático: extração da página de preços dentro do Zencoder
Você digita:
"Use a ferramenta de navegador Scrapeless para abrir
https://example-saas.com/pricing, role a grade de planos até o final e retorne nome, preço e características por plano em JSON. Salve o resultado empricing.jsonno espaço de trabalho aberto."
O plano do agente (em inglês simples):
- Chame
browser_createpara criar uma sessão de navegador em nuvem. - Chame
browser_gotocom a URL de preços. - Chame
browser_wait_forem relação ao marco do cartão de planos para que a extração ocorra no DOM hidratado em vez do shell SPA. - Chame
browser_scrollpara revelar quaisquer níveis abaixo da dobra, entãobrowser_get_html. - Analise os cartões de planos em um array JSON; trate qualquer campo ausente em um cartão como
null, em vez de falhar na extração. - Chame
browser_closecom osessionIdretornado porbrowser_create. - Escreva o array em
pricing.jsonusando a ferramenta de arquivo integrada do Zencoder.
O que você recebe de volta (forma ilustrativa):
json
[
{
"name": "Iniciante",
"price": "$0 / mês",
"features": ["1 assento", "1.000 eventos/mês", "Suporte da comunidade"]
},
{
"name": "Pro",
"price": "$29 / mês",
"features": ["10 assentos", "100K eventos/mês", "Suporte por email", "Domínios personalizados"]
},
{
"name": "Negócios",
"price": "Contato com vendas",
"features": ["Assentos ilimitados", "Volume de eventos personalizado", "SLA", "SSO/SAML"]
}
]
// O esquema reflete o que o agente emite quando solicitado a extrair uma grade de preços.
// Os valores dos campos são amostras ilustrativas.
O Zencoder coloca pricing.json na árvore do espaço de trabalho e exibe cada chamada de ferramenta MCP na trilha da conversa para que o fluxo passo a passo seja auditável.
Moldando prompts: controle o que vem de volta
| Formulação | Efeito |
|---|---|
| "…retornar JSON" / "…como markdown" | Formato de saída. |
| "…campos: nome, preço apenas" | Restringe a extração. |
"…e salve-o em <caminho> no espaço de trabalho" |
Aciona a ferramenta de arquivo integrada do Zencoder após a extração. |
| "…clique em cada cartão antes de extrair" | Aciona um browser_click por linha + reextração. |
| "…use a captura de tela da página se a extração HTML falhar" | Volta para scrape_screenshot e extração multimodal. |
| "…tente novamente se a primeira resposta estiver vazia" | Aciona browser_close + browser_create para tentar novamente em uma nova sessão. |
Obtenha sua chave de API no plano gratuito: app.scrapeless.com
A superfície da ferramenta MCP Scrapeless
A lista completa de ferramentas que o Zencoder descobre quando o servidor scrapeless se conecta:
| Ferramenta | Propósito |
|---|---|
browser_create |
Cria uma sessão de navegador em nuvem, retorna um sessionId. |
browser_goto |
Navega para uma URL dentro da sessão ativa. |
browser_wait_for |
Bloqueia até que um seletor seja renderizado. |
browser_wait |
Dorme por uma duração (ms). |
browser_get_html |
Retorna o DOM renderizado como uma carga de texto. |
browser_get_text |
Retorna o texto visível da página. |
browser_snapshot |
Retorna a árvore de acessibilidade da página atual. |
browser_click |
Clica em um seletor. |
browser_type |
Digita em um campo de entrada. |
browser_press_key |
Gera eventos de teclado (Tab, Enter, End, PageDown, …). |
browser_scroll |
Rola o documento ativo. |
browser_scroll_to |
Rola para coordenadas absolutas (x, y). |
browser_screenshot |
Captura uma captura de tela da página ativa. |
browser_go_back / browser_go_forward |
Histórico de navegação. |
browser_close |
Libera a sessão do navegador em nuvem (requer sessionId — o argumento é estritamente camelCase). |
scrape_html |
Busca única de uma URL, retorna HTML renderizado (sem sessão necessária). |
scrape_markdown |
Busca única de uma URL, retorna markdown limpo. |
scrape_screenshot |
Captura única de uma URL. |
google_search |
Scraper SERP, retorna linhas de resultados digitados. |
google_trends |
Carregamento de tendências para um tópico em uma região. |
As ferramentas browser_* compartilham estado através do sessionId retornado por browser_create. As ferramentas scrape_* e as ferramentas do Google são stateless e roteiam diretamente pela API Scrapeless sem criar uma sessão. Os argumentos das ferramentas usam camelCase em toda a superfície (sessionId, proxyCountry).
Cinco fluxos de trabalho que pagam pela integração
Cada bloco abaixo é um fluxo de trabalho dirigido por prompt dentro do Zencoder. O Agente de Informações do Repositório coleta o contexto do projeto, o Agente de Codificação executa a cadeia MCP e o Agente de Teste de Unidade verifica a forma do resultado — tudo dentro de uma única interação de chat.
1. Sinais SERP ao vivo e de tendências para trabalho de recursos
1. Acompanhamento de preços de concorrentes em um arquivo de comparação
Coloque uma lista de URLs de preços de concorrentes no chat e peça ao agente para extrair o nome do plano, preço e recursos destacados por página, remover duplicatas por plano e escrever a tabela mesclada em competitors.md no espaço de trabalho. Execuções subsequentes fazem a comparação com o instantâneo anterior e atualizam apenas as linhas que mudaram.
2. Listas de leads de diretórios públicos no projeto
Para protótipos de geração de leads, o Agente de Codificação percorre um diretório público (uma lista de fornecedores de software, empresas locais ou profissionais licenciados), chama browser_goto por página de detalhes, extrai linhas de contato e escreve os registros como seed.sql ou leads.json ao lado da camada de modelo. A egressão de proxy residencial e a renderização em JS ocorrem na camada do navegador em nuvem.
3. Corpus RAG de páginas de editores
Para um pipeline de incorporação sendo construído dentro do Zencoder, o agente percorre uma lista de URLs sementes, chama scrape_markdown por página, divide o markdown em blocos e escreve cada par de bloco + URL em corpus.jsonl. Como o markdown já está limpo, os limites dos blocos caem em cabeçalhos e parágrafos em vez de no meio das tags.
4. Ativos de regressão visual para o Agente de Desenvolvimento Web
Para uma reformulação da interface do usuário, peça ao Agente de Desenvolvimento Web para fazer uma captura de tela completa scrape_screenshot do ambiente de teste e produção para cada página em routes.ts, e então compare os pares. As capturas de tela retornam como arquivos no espaço de trabalho; a diferença permanece na conversa.
Habilidades são separadas do MCP — e se complementam
O Zencoder oferece um sistema de Habilidades junto com o MCP. Uma Habilidade vive em ~/.zencoder/skills/<nome>/SKILL.md com cabeçalho YAML (nome, descrição) e um corpo em markdown que ensina ao agente quando e como usar uma ferramenta. As Habilidades podem enviar scripts e recursos junto com o arquivo SKILL.md.
O MCP define quais ferramentas existem; as Habilidades definem como usá-las bem. Os dois são aditivos — instalar uma Habilidade que ensina ao agente a compor browser_create → browser_goto → browser_wait_for → browser_get_html em um padrão limpo de descoberta → extração aumenta a taxa de sucesso dos prompts em linguagem natural contra a mesma superfície de ferramenta MCP. O blog não assume que alguma Habilidade Scrapeless pré-construída esteja disponível no ecossistema Zencoder; usuários que desejam uma podem criar uma em ~/.zencoder/skills/scrapeless/SKILL.md contra a lista de ferramentas acima.
O que saber antes de ir para produção
- Disciplina de stdout é importante. O transporte stdio do MCP usa stdout para JSON-RPC. Um servidor que escreve texto não JSON no stdout quebra o handshake. A versão atual do
scrapeless-mcp-servergrava logs no stderr; se um fork personalizado estiver em uso, audite o destino do log. - Controle de região por chamada não está na superfície MCP. O navegador em nuvem opera através da região configurada da conta Scrapeless. Fluxos de trabalho que precisam de fixação de região por consulta (resultados dos EUA vs DE vs JP) chamam a CLI
scrapeless-scraping-browsercom--proxy-countryou mantém várias chaves de API para diferentes regiões padrão. - VS Code é apenas stdio hoje. Transportes Streamable-HTTP e OAuth2 estão sendo acompanhados como "em breve" para o VS Code na documentação do Zencoder. JetBrains 2.13+ já possui os três. Um padrão de configuração cruzado de IDE que precisa de HTTP deve permanecer no JetBrains ou aguardar a atualização do VS Code.
- JetBrains requer reinício do projeto após editar
settings.json; o VS Code normalmente capta a mudança ao recarregar. - Concorrência. Mantenha ≤ 3 sessões simultâneas por host para execuções estáveis. Para trabalhos em lote que precisam de maior dispersão, acione a CLI a partir de um pool de trabalhadores em vez de emitir chamadas MCP em paralelo de um único agente.
- Formato da resposta MCP. As respostas das ferramentas retornam como
content[0].text(texto simples). As ferramentas de dados sem estado que retornam texto (google_search,google_trends,scrape_html,scrape_markdown) prefixam sua carga útil comResponse:\n\nantes do corpo; o planejador do Zencoder lida com o prefixo automaticamente, mas scripts personalizados que analisam a resposta bruta precisam retirá-lo.scrape_screenshotretorna a imagem em binário diretamente. As ferramentasbrowser_*retornam suas cargas de texto sem o prefixo. - Scrapeless é instalado diretamente do pacote, não via a Biblioteca MCP do Zencoder. No momento da escrita, Scrapeless não está listado no catálogo da Biblioteca MCP dentro do IDE — cole o bloco JSON da etapa 3 em vez de procurar na Biblioteca. A rota da Biblioteca MCP também está disponível para os MCPs pré-construídos que o Zencoder envia com configuração de um clique.
Conclusão: amplie o alcance dos seus agentes Zencoder na web pública
Conectar o servidor MCP Scrapeless ao Zencoder colapsa em um bloco JSON — "zencoder.mcpServers" no settings.json no VS Code, um objeto simples no JetBrains — e uma recarga. Após isso, cada agente Zencoder possui um navegador em nuvem robusto, egressos com proxy residencial, um scraper de SERP do Google, um scraper de Tendências e helpers de HTML/Markdown/Captura de Tela com um único uso — acessíveis através de prompts em linguagem natural. O IDE continua controlando a geração de código, a árvore de arquivos e o terminal; o navegador em nuvem mantém o agente em páginas reais e renderizadas.
Para a mesma interface Scrapeless no Google Antigravity, veja o guia de integração do Antigravity. Para a interface canônica da ferramenta do servidor MCP e um exemplo trabalhado do Google Maps, veja o guia do servidor MCP. Para interfaces de agentes que preferem o caminho CDP bruto ao invés do MCP, veja o post de integração do Hermes. O nível de nova conta no Scrapeless inclui tempo de execução gratuito do Scraping Browser; os caminhos de atualização após o tempo de execução gratuito serem consumidos estão em scrapeless.com/en/pricing. O padrão se mantém consistente em todas as superfícies de agentes: fixar o transporte certo para o IDE host, tirar uma captura ou renderizar antes de extrair, persistir a sessão através de turnos de múltiplos passos e tratar campos ausentes como anuláveis.
Pronto para Construir seu Pipeline de Dados Potenciado por IA?
Junte-se à nossa comunidade para reivindicar um plano gratuito e conectar-se com desenvolvedores construindo pipelines de dados com Zencoder no Scrapeless: Discord · Telegram.
Inscreva-se em app.scrapeless.com para tempo de execução gratuito do Scraping Browser e adapte os padrões acima para os espaços de trabalho, regiões e páginas que seus agentes Zencoder precisam.
FAQ
Q1: Quais superfícies do Zencoder suportam o servidor MCP Scrapeless?
Tanto a extensão do VS Code quanto o plugin do JetBrains. O esquema JSON difere (o VS Code envolve entradas em "zencoder.mcpServers"; o JetBrains usa um objeto simples), e o JetBrains 2.13+ suporta transportes de stdio + HTTP streamable + OAuth2, enquanto o VS Code é atualmente apenas com stdio.
Q2: É legal fazer scraping com Zencoder + Scrapeless?
Fazer scraping de dados publicamente visíveis é amplamente permitido na maioria das jurisdições, mas as regras variam por país e pelos termos de serviço do site. Revise os termos de serviço do site alvo, respeite robots.txt onde aplicável, não colete dados pessoais sem uma base legal e consulte um advogado para pipelines em escala comercial.
Q3: Preciso de um proxy residencial?
Sim, para qualquer site com proteção significativa contra bots — a maioria dos varejistas, marketplaces, SERPs e grandes páginas de aterrissagem de SaaS. O servidor MCP Scrapeless roteia toda chamada browser_* e scrape_* através da pool residencial por padrão; nenhuma configuração separada de proxy é necessária para que a chamada funcione.
Q4: Posso escolher uma região de proxy residencial por solicitação a partir da superfície MCP?
Não a partir da ferramenta browser_create do MCP — a sessão do navegador em nuvem usa a região do proxy configurada na conta Scrapeless. Para seleção de região por consulta (EUA vs DE vs JP), conduza o navegador em nuvem através do scrapeless-scraping-browser CLI com --proxy-country, ou mantenha várias chaves de API para diferentes regiões padrão.
Q5: Modo stdio vs modo HTTP streamable — qual pertence ao Zencoder?
O VS Code é apenas stdio hoje; o JetBrains 2.13+ suporta ambos. Stdio é o padrão certo para uma estação de trabalho de desenvolvedor — o Zencoder gera npx scrapeless-mcp-server como um processo filho e comunica JSON-RPC através do seu stdin/stdout. O HTTP streamable (apenas JetBrains) é o padrão certo quando o host roda em um container de desenvolvimento hospedado ou em um sandbox de CI onde o host não pode manter um processo filho de longa duração ativo. Ambos os modos usam a mesma chave de API.
Q6: O VS Code usa "zencoder.mcpServers" mas o JetBrains usa um objeto simples — qual é a diferença?
Assim é como os dois painéis de configurações do Zencoder estão conectados. O settings.json do VS Code é o arquivo de configurações globais do IDE com chaves de namespace de extensão, então o Zencoder usa "zencoder.mcpServers". O JetBrains expõe a seção de Servidores MCP diretamente em Ferramentas → Zencoder → Servidores MCP, então o JSON que o usuário cola é apenas o objeto interno. As chaves command/args/env/type/url/headers são idênticas em ambos os IDEs — apenas o wrapper muda.
Q7: Como mantenho a chave da API fora do arquivo JSON?
Use um espaço reservado no JSON e injete o valor através de uma variável de ambiente do sistema operacional. Defina SCRAPELESS_KEY no shell que inicia o Zencoder (export SCRAPELESS_KEY=... no macOS/Linux ou [Environment]::SetEnvironmentVariable("SCRAPELESS_KEY", "...", "User") no Windows PowerShell), e então faça referência a ${SCRAPELESS_KEY} no bloco env da configuração. Reinicie o Zencoder para que a nova variável se propague.
Q8: A primeira chamada browser_create retorna os error 10054 ou 503. E agora?
Ambos são erros transitórios de inicialização de sessão no pool de proxies residenciais do Scrapeless. Uma única tentativa geralmente é bem-sucedida — peça ao agente para chamar browser_close (se uma sessão foi criada) e browser_create novamente, ou envolva a chamada em um loop de tentativa de 2 a 3.
Q9: Como o Zencoder decide qual ferramenta Scrapeless chamar?
Cada ferramenta MCP tem um nome e um esquema; o planejador do Zencoder lê as descrições e as associa ao prompt. Não há um atalho @<servername> para servidores MCP — @Jira e @GitHub direcionam para Integrações Nativas, não para MCP. Formule a tarefa naturalmente ("raspar este URL como markdown", "pesquisar no Google por X") e a ferramenta Scrapeless correta será selecionada.
Q10: As Habilidades são obrigatórias ou apenas desejáveis?
Opcionais. O servidor MCP por si só fornece ao agente todas as ferramentas Scrapeless. Uma Habilidade em ~/.zencoder/skills/scrapeless/SKILL.md aumenta a taxa de sucesso do prompt para a ferramenta correta ao ensinar ao agente o padrão de descobrir → extrair, mas a integração funciona de ponta a ponta sem uma.
Q11: Posso executar isso sem o Zencoder?
Sim. O Servidor MCP Scrapeless é um servidor MCP padrão, acessível a partir do Claude Desktop, Claude Code, Cursor, OpenAI Codex CLI, Gemini CLI, VS Code + GitHub Copilot Chat, Google Antigravity, ou qualquer cliente personalizado construído contra o SDK TypeScript do MCP. O mesmo trecho JSON pode ser usado em cada um (com a chave wrapper ajustada por cliente). Para superfícies não-MCP, o navegador em nuvem também é acessível através do scrapeless-scraping-browser CLI e do endpoint WSS em wss://browser.scrapeless.com/browser.
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.



