YetiBrowser MCP

oficial

YetiBrowser MCP é uma solução totalmente open-source que permite que assistentes de IA interajam facilmente com seu

O que você pode fazer com Yeti Browser MCP?

  • Navegar e capturar snapshots da página — peça ao assistente para carregar uma URL com browser_navigate e retornar um snapshot de acessibilidade da página resultante.
  • Preencher e enviar formulários web — use browser_fill_form ou browser_type para preencher vários campos e, opcionalmente, enviar o formulário.
  • Inspecionar saída do console e estado da página — recupere erros, logs, dados de formulários, cookies e chaves de armazenamento via browser_get_console_logs e browser_page_state.
  • Executar JavaScript personalizado na página — execute scripts arbitrários com browser_evaluate e obtenha resultados serializáveis em JSON para depuração ou extração de dados.
  • Capturar screenshots — tire screenshots da viewport ou da página inteira usando browser_screenshot para verificação visual ou fluxos de QA.

Documentação

[!IMPORTANT] Este projeto foi arquivado. Ele foi criado para suprir a falta de controle de navegador em agentes de IA como Claude e Codex, mas agora os agentes já possuem essas funções integradas, sem necessidade de uma solução dedicada baseada em MCP.

YetiBrowser MCP

YetiBrowser MCP é uma implementação totalmente open-source do fluxo de trabalho Browser MCP. Ele conecta um servidor MCP baseado em Node com extensões para Chrome/Firefox, permitindo que clientes do Model Context Protocol — Codex/Claude Code, Cursor, Windsurf, MCP Inspector ou suas próprias ferramentas — possam automatizar uma aba real do navegador, mantendo cada byte na sua máquina e auditável.

Por que escolher o YetiBrowser MCP?

  • Transparente e customizável – sem downloads de blobs. Inspecione, faça fork e estenda cada componente.
  • Prioridade local – a extensão se comunica apenas com um servidor MCP em localhost; os dados de navegação nunca saem do seu dispositivo.
  • Multi-navegador – lógica compartilhada alimenta pacotes para Chrome e Firefox (a versão para Firefox está pendente de melhor suporte ao Manifest V3, então a experiência de conexão pode ser limitada até que a Mozilla disponibilize as APIs MV3 completas).
  • Ferramental focado em desenvolvimento – captura de console mais rica, comparação de DOM, despejos de estado da página e capturas de tela de página inteira, criados para depuração e QA.
  • Pronto para produção – scripts e documentação para empacotamento, publicação e integração com fluxos de trabalho de IDEs.

Layout do repositório

  • packages/shared – definições TypeScript compartilhadas para mensagens e esquemas de ferramentas.
  • packages/server – o servidor MCP que conecta clientes MCP a uma aba do navegador em execução.
  • extensions/shared – código-fonte compartilhado da extensão (background/popup) e recursos.
  • extensions/chrome / extensions/firefox – camadas de empacotamento por navegador.
  • docs/ – comandos do workspace, checklists de publicação e notas de funcionalidades.
  • scripts/ – utilitários auxiliares, como package-extensions.sh para zips de lançamento.

Ferramentas MCP Disponíveis

  • browser_snapshot – captura um snapshot orientado à acessibilidade da página atual
  • browser_snapshot_diff – compara os dois snapshots mais recentes para destacar mudanças no DOM/ARIA
  • browser_navigate – carrega uma nova URL na aba conectada e retorna um snapshot atualizado
  • browser_go_back / browser_go_forward – navega pelo histórico mantendo o MCP sincronizado
  • browser_wait – pausa a automação por um número definido de segundos
  • browser_wait_for – bloqueia até que um seletor apareça (opcionalmente visível) antes de prosseguir
  • browser_press_key – simula o pressionamento de uma tecla no elemento focado
  • browser_click – clica no elemento identificado por um seletor CSS
  • browser_hover – passa o ponteiro do mouse sobre o elemento alvo
  • browser_drag – arrasta um elemento para um alvo de soltura, para UIs ordenáveis/drag-and-drop
  • browser_type – digita texto (opcionalmente enviando com Enter) em um elemento editável
  • browser_fill_form – preenche múltiplos inputs/selects/checkboxes/radios em uma única chamada
  • browser_select_option – escolhe uma ou mais opções em um elemento <select>
  • browser_screenshot – captura uma tela da viewport ou da página inteira via protocolo DevTools
  • browser_get_console_logs – retorna a saída recente do console, incluindo erros com stack traces
  • browser_page_state – despeja formulários, chaves de armazenamento e cookies da página conectada
  • browser_connection_info – reporta a porta WebSocket da ponte, status da conexão e versão da extensão
  • browser_evaluate – executa JavaScript personalizado dentro da página e retorna resultados serializáveis em JSON
  • browser_handle_dialog – aceita ou dispensa diálogos alert/confirm/prompt com texto de prompt opcional

Instalação da Extensão do Navegador MCP

Navegador Chrome

Navegador Firefox (não disponível atualmente)

  • Devido às capacidades limitadas do Manifest v3 na versão estável do Firefox, a extensão para Firefox está suspensa até que o suporte completo esteja comumente disponível (fora das compilações Nightly).

Instalação do Servidor MCP

Codex CLI

  • Edite seu ~/.codex/config.toml e adicione a entrada MCP:
    [mcp_servers.yetibrowser-mcp]
    command = "npx"
    args = ["-y", "@yetidevworks/server"]
    
  • Reinicie o comando codex CLI; você deve ver yetibrowser-mcp listado nas ferramentas /mcp.
  • Se quiser fornecer uma porta específica, use este formato para a entrada args: args = ["-y", "@yetidevworks/server", "--ws-port", "9010"]

Claude Code

  • Certifique-se de que a extensão está instalada e conectada a uma aba, então inicie o servidor MCP com npx -y @yetidevworks/server (ou execute o CLI compilado localmente).
  • Adicione a entrada do servidor em ~/Library/Application Support/Claude/claude_desktop_config.json (veja o exemplo em docs/publishing.md).
  • Reinicie claude para que ele detecte o novo servidor MCP; você deve ver yetibrowser-mcp listado no menu de ferramentas /mcp assim que a extensão se conectar.

Outros clientes compatíveis com MCP

  • Qualquer cliente MCP pode se conectar iniciando o CLI (npx -y @yetidevworks/server) ou, opcionalmente, fornecendo uma porta específica, ex.: npx -y @yetidevworks/server --ws-port 9010.
  • O servidor expõe o transporte MCP padrão via stdio, então use qualquer mecanismo de configuração que seu cliente suporte para executar o comando acima quando uma aba estiver conectada.

MCP Inspector

  • Para testes e depuração fora de um agente de codificação.
  • npx @modelcontextprotocol/inspector npx -y @yetidevworks/server -- --ws-port 9010 para executar e inspecionar o servidor MCP em conjunto com a extensão do navegador YetiBrowser MCP.

Solução de Problemas

  • O CLI percorre as portas 9010-9020 até encontrar uma livre, registrando switched to quando avança. Passe --ws-port <port> se quiser fixar uma porta específica.
  • O popup da extensão do navegador reflete esse comportamento: deixe em “Automático” para rastrear a porta do CLI, ou escolha “Manual” e insira a porta reportada por browser_connection_info / log do CLI para sobrescrevê-la.
  • Simplesmente pergunte à sua ferramenta de IA sobre a porta de conexão. Por exemplo: what is the yetibrowser mcp connction info?, então defina a porta manual como a porta reportada.

Documentação & scripts de build

  • Comandos do workspace estão em docs/workspace-commands.md.
  • Passos de publicação (npm + lojas de extensões) estão em docs/publishing.md.
  • O comportamento da captura de tela está documentado em docs/screenshot.md.
  • Gere zips distribuíveis para Chrome/Firefox com ./scripts/package-extensions.sh (saída em artifacts/).
  • Uma política de privacidade em nível de repositório está disponível em PRIVACY.md.