browser-mcp
browser-mcp
Servidor MCP local de automação de navegador para o Claude Code: dá ao Claude ferramentas para navegar, clicar, digitar e inspecionar páginas web reais usando o Google Chrome já instalado na máquina.
Por que existe
A maioria das libs de automação simula clique/digitação via eventos de mouse/teclado no nível do sistema operacional (CDP). Isso funciona bem em apps modernos, mas quebra silenciosamente em várias aplicações web legadas (ex: JSF/PrimeFaces), onde o listener de evento é delegado via jQuery e não recebe o evento simulado. Este servidor dispara os eventos DOM (mousedown/mouseup/click, input/change) diretamente no elemento via JavaScript, o que se mostrou mais confiável nesses casos.
Também inclui um browser_snapshot: uma árvore de texto compacta da página (em vez de screenshot), pensada pra gastar poucos tokens quando não é preciso conferir visualmente.
Requisitos
Node.js (testado com v16)
Google Chrome instalado na máquina (usa o binário do sistema, não baixa um Chromium embutido)
Instalação
git clone <url-do-repo>
cd browser-mcp
npm installConfiguração
Variável | Padrão | Descrição |
|
| Caminho do binário do Chrome |
|
| Pasta onde downloads feitos pelo navegador são salvos |
Registrar no Claude Code
claude mcp add browser -- node /caminho/completo/para/browser-mcp/server.jsFerramentas disponíveis
Ferramenta | Descrição |
| Abre uma URL (lança o Chrome na primeira chamada) |
| Clica em um elemento via seletor CSS |
| Preenche um campo de texto |
| Seleciona uma opção em um |
| Espera um elemento aparecer (útil após AJAX) |
| Lê o texto visível de um elemento ou da página |
| Árvore de texto compacta dos elementos relevantes da página |
| Faz upload de um arquivo em um |
| Tira um screenshot (viewport, página inteira ou de um elemento) |
| Executa JavaScript arbitrário na página |
| Encerra a sessão do navegador |
Arquitetura
Um único arquivo (server.js), sem dependências além de puppeteer-core. Fala o protocolo MCP via JSON-RPC 2.0 sobre stdio (uma mensagem por linha). As chamadas de ferramenta são serializadas em fila: automação de navegador é sequencial por natureza, então duas chamadas concorrentes contra a mesma aba/página são executadas uma após a outra, nunca em paralelo.
Licença
MIT — veja LICENSE.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ruggieroromulo/browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server