- O Servidor MCP do Safari conecta agentes de programação a uma janela real do Safari, permitindo verificar diretamente no navegador o que está sendo exibido durante o desenvolvimento e a depuração web
- O agente pode acessar o DOM, solicitações de rede, capturas de tela e saída do console, o que permite verificar resultados de renderização e experiência do usuário que são difíceis de entender apenas pelo código
- Em tarefas nas quais diferenças entre navegadores são importantes, como compatibilidade com o Safari, desempenho, acessibilidade e validação de estados de formulários e checkout, ele reduz a troca repetitiva entre janelas e o esforço de explicar tudo em prompts
- Ele oferece ferramentas para controle de abas, navegação por URL, execução de JavaScript, consulta de solicitações de rede, extração de conteúdo da página, interação com o DOM, capturas de tela e emulação de viewport e mídia
- O servidor é executado apenas na máquina local e não faz chamadas de rede por conta própria, mas os dados capturados da página são enviados diretamente ao agente que o usuário estiver executando, então é necessário usar um agente confiável
O papel do Servidor MCP do Safari
- O Servidor MCP do Safari foi adicionado ao Safari Technology Preview 247
- É um servidor Model Context Protocol para desenvolvedores web, que conecta agentes à janela do navegador Safari
- Como o agente pode verificar como o código é realmente renderizado no navegador, ele reduz a lacuna entre a análise do código e a verificação do estado do navegador
- Qualquer cliente compatível com MCP pode se conectar ao Servidor MCP do Safari
- O agente conectado pode reproduzir com mais fidelidade o estado que o usuário vê no navegador
- acesso ao DOM
- acesso a solicitações de rede
- acesso a capturas de tela
- acesso à saída do console
Como ele reduz a repetição na depuração
- Na depuração web tradicional, o fluxo se repete entre ver o problema no navegador, verificar o console e a aba de estilos, e depois voltar ao código para corrigir
- Mesmo usando um agente, é preciso tirar capturas de tela, descrever o problema e, se a correção não for suficiente, voltar a alternar entre navegador, prompt e agente
- O Servidor MCP do Safari permite que o agente verifique diretamente o estado do navegador, reduzindo a troca de janelas e o esforço de escrever prompts detalhados
- Mesmo que o usuário não descreva perfeitamente a situação no prompt, o agente pode continuar o trabalho com base nas informações que consegue verificar no Safari
Principais casos de uso
-
Desenvolvimento web no Safari
- O agente pode verificar não só o código, mas também o resultado real da renderização no Safari
-
Melhoria de compatibilidade com o Safari
- Se você testar apenas em um navegador, pode deixar passar bugs potenciais de outros navegadores
- O agente pode abrir o site no Safari e verificar computed style, layout e diferenças em relação ao comportamento esperado
-
Análise de desempenho
- É possível avaliar JavaScript na página para expor métricas de desempenho como navigation timing e resource load time
- Ao encontrar os pontos que deixam o site lento, fica mais fácil restringir o alvo das correções
-
Verificação de acessibilidade
- É possível identificar problemas comuns de acessibilidade, como
label ausente, atributos ARIA inadequados e baixo contraste
-
Validação do estado do usuário
- É possível verificar o estado de formulários, localizar elementos com seletores, confirmar interações específicas e exibir vários estados do fluxo de checkout
Ferramentas oferecidas
browser_console_messages: retorna os logs de console em buffer da aba atual ou de uma aba especificada
browser_dialogs: consulta a lista de dialogs do navegador e processa respostas
- oferece suporte a accept, dismiss e entrada de texto em JavaScript prompt
create_tab, close_tab, switch_tab, list_tabs: criam, fecham, alternam e listam abas do navegador
navigate_to_url: navega até uma URL e retorna o conteúdo da página carregada
page_info: verifica a URL, o title e o estado de carregamento da página atual
evaluate_javascript: executa código JavaScript na página e retorna o resultado
list_network_requests: consulta um resumo das solicitações de rede da aba atual
- inclui URL, method, status e timing
get_network_request: consulta informações detalhadas de uma única solicitação de rede
- inclui headers, body e timing
get_page_content: extrai o conteúdo de texto da página em vários formatos, como markdown, HTML e JSON
page_interactions: executa em sequência interações com o DOM, como click, type, scroll, hover e keyPress
screenshot: captura a página atual como uma imagem PNG
set_emulated_media: emula um tipo de mídia CSS como print para testes de responsive design
set_viewport_size: define o tamanho do viewport do navegador em pixels CSS
wait_for_navigation: aguarda o carregamento da página atual terminar e retorna a URL final e o title
Como começar
- Primeiro, é preciso instalar o Safari Technology Preview
- Depois da instalação, ative os itens abaixo nos ajustes do Safari
- Safari Settings > Advanced > Show features for web developers
- Safari Settings > Developer > Enable remote automation and external agents
- Se você usa Claude, pode executar o seguinte comando no terminal
claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp
- Se você usa Codex, pode executar o seguinte comando
codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp
- Em outros agentes, você pode inserir a configuração abaixo em
mcp.json ou config.json
"safari-mcp-stp": {
"command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
"args": ["--mcp"]
}
- O exemplo acima usa
safari-mcp-stp como nome do servidor, mas você pode usar o nome que quiser, como safari
Prompts e comportamento do agente
- Após a instalação, você pode começar com prompts simples como os abaixo
Find bugs on my site in Safari
How accessible is my site in Safari?
See how my website performs in Safari
- O comportamento varia um pouco entre os agentes, mas eles podem usar o Servidor MCP do Safari por conta própria mesmo sem você pedir isso explicitamente
- No fluxo de exemplo, quando o usuário pergunta sobre um bug na flight page no Safari, o agente encontra dois bugs e verifica adicionalmente pontos que podem causar problemas para usuários do Safari
- Mesmo com a solicitação inicial, ele pode usar a ajuda do Servidor MCP do Safari para continuar as verificações e identificar problemas depois disso
Execução local e tratamento de dados
- O Servidor MCP do Safari é executado inteiramente na máquina local
- Ele não faz chamadas de rede por conta própria
- Ele não acessa informações privadas do Safari
- AutoFill
- outras atividades do navegador
- Quando captura conteúdo de página, capturas de tela e logs do console, esses dados são enviados diretamente não para a Apple, mas para o agente que o usuário estiver executando
- A forma de processamento desses dados depois depende do agente e do modelo utilizados
- Assim como com outros agentes aos quais se concede acesso ao navegador, é preciso usar apenas agentes confiáveis
Como o WebKit espera que isso seja usado
- No desenvolvimento web, há tanto quem use IA quanto quem não use
- Se a IA fizer parte do seu fluxo de desenvolvimento, o Servidor MCP do Safari pode ajudar a aumentar a produtividade
- O objetivo é ajudar agentes a entender a tela e o comportamento dentro do navegador Safari, facilitando testes e depuração no Safari
- Se houver problemas, você pode enviar um issue em WebKit bug report
2 comentários
Safari MCP... que nostalgia, haha
Opiniões no Hacker News
Desde novembro de 2025, venho usando o servidor MCP DevTools oficial do Chrome
https://github.com/ChromeDevTools/chrome-devtools-mcp
Antes disso, eu usava o WebDriver do Chrome, mas o MCP era mais rápido e tinha mais recursos
Para verificar se também funcionava no Firefox, instruí o LLM a testar a página com o MCP oficial do Firefox
https://github.com/mozilla/firefox-devtools-mcp
Agora pretendo adicionar também o Safari aos testes de compatibilidade
Criei um MCP para cobrir esse caso de uso
Federico Viticci abordou com um pouco mais de detalhe o que isso significa no MacStories, no Mastodon e no episódio mais recente do podcast Connected, de uma forma mais acessível ao público geral
Também vale muito a pena conferir os links do texto original
https://www.macstories.net/linked/safaris-new-mcp-server-is-...
https://mastodon.macstories.net/@viticci/116847167023618099
https://relay.fm/connected/610
Estou especialmente animado não só para testes, mas também para tarefas do dia a dia
Se um agente puder executar automação de navegador de forma natural por mim no navegador em que já estou logado, a passagem de controle entre mim e o agente deve parecer muito mais fluida
Também porque venho usando o Safari como navegador principal, já que o Chrome consome muita bateria
Também uso um orquestrador de contêineres de agentes, e há uma ferramenta MCP que expõe as portas dos contêineres, permitindo exibir os resultados do trabalho no painel web: https://github.com/DeepBlueDynamics/nemesis8
Hoje pretendo adicionar a conexão do Safari MCP ao n8, e uma nova versão com mais recursos deve sair hoje à noite
Porque, do ponto de vista dos serviços do outro lado do navegador, não há como saber quem está fazendo o quê
Não sei como o agente é limitado nem como rastrear o que eu fiz e o que o agente fez
Fico me perguntando se estou deixando algo passar ou se estou atrasado em relação aos tempos
Pessoalmente, recomendo o Playwright-CLI: https://github.com/microsoft/playwright-cli
Ele funcionou muito mais rápido do que os servidores MCP que testei
Ele oferece suporte aos mecanismos Chromium, Firefox e WebKit por meio de um daemon
Dito isso, eu uso o Playwright MCP
Envolve um navegador inteiro, protocolo de depuração e dumps do DOM a cada leitura; mais importante do que ser MCP ou CLI é o que há por baixo
Por isso criei um pequeno binário em Rust que aciona diretamente o webview do sistema e retorna tokens de estado e deltas em vez do DOM
Mesmo carregando a página inicial do HN, isso custa só cerca de 50 tokens para o agente
Ele oferece suporte tanto a MCP quanto a CLI, então o agente pode escolher o que preferir
https://github.com/frane/vibesurfer
O safaridriver fornecido pela Apple já existe há alguns anos
Ele usa o WebDriver W3C e pode ser usado para interagir com instâncias do Safari
Não sei se a Apple realmente se importa com desenvolvedores web
Se você não tem um dispositivo Apple, como testa no Safari?
Seria tão difícil assim para a Apple criar uma máquina virtual mínima só com o Safari?
É o mesmo problema de como testar firmware de hardware sem o hardware, ou como executar um programa sem o hardware necessário quando não há emulador nem simulador
Se algo só roda em um hardware específico e não há virtualização nem emulação, não dá para testar fora desse hardware, e isso tem sido assim há décadas, desde os primórdios da computação
As decisões da Apple muitas vezes são determinadas por estratégia, mais do que por ser difícil ou fácil, e é bem claro que eles estão criando um jardim murado
Se não gosta, é só não brincar lá, como o resto das pessoas
Da mesma forma, embora não seja perfeito, dá para testar o WebKit e, se quiser, até no Linux ou no Windows:
https://orionbrowser.com/platforms/linux
Não acho que a Apple vá entrar no negócio de máquinas virtuais do Safari, mas, se você precisa de uma máquina virtual com macOS, vale olhar provedores de serviços em nuvem: https://aws.amazon.com/ec2/instance-types/mac/
Muitos já deixam a orquestração de testes de software previamente integrada
Ultimamente tenho mandado o agente executar o Chrome e se comunicar diretamente via CDP, e funciona muito bem
Fico curioso para saber como ele se compara ao Playwright
Do ponto de vista de desenvolvimento web, a vantagem do Playwright parece ser poder usá-lo em vários navegadores
Se ferramentas específicas de cada navegador forem mais rápidas ou mais eficientes em tokens, então para automação de tarefas e para o Claws essa parece ser a melhor escolha
“Há muitas maneiras de criar para a web, usando IA ou não. Se IA faz parte do seu fluxo de trabalho, acho que esta ferramenta vai ajudar a aumentar sua produtividade. Se não faz, tudo bem também.”
É estranho dizer algo assim em 2026
Porque estamos numa época em que, se você escreve código diretamente e não delega tudo a um agente, algumas pessoas tratam você como iniciante
Agora é bom que as pessoas que usam IA não precisem esconder esse fato
O estranho é terem que incluir esse aviso para apaziguar o campo anti-IA fanático?
Esta é claramente uma ferramenta para desenvolvimento assistido por IA, então o fato de terem que acrescentar uma frase como “também deixamos nosso consolo para quem não usa IA” é que é muito estranho
Só que é estranho de um jeito diferente do que você está pensando
O motivo pelo qual um MCP para automação de navegador é interessante é que o motor WebKit do Safari é algo que a maioria dos agentes de IA não consegue manipular facilmente
Playwright e Puppeteer são centrados no Chromium, então um servidor MCP para Safari poderia preencher uma lacuna real em testes cross-browser nos fluxos de trabalho de agentes