Browser Use
Um servidor orientado por IA para automação de navegador usando comandos em linguagem natural, implementando o Model Context Protocol (MCP).
Documentação
Servidor MCP browser-use
Nota do Projeto: Esta implementação do servidor MCP é baseada na fundação browser-use/web-ui. A lógica central de automação de navegador e os padrões de configuração são adaptados do projeto original.
Servidor de automação de navegador orientado por IA que implementa o Protocolo de Contexto de Modelo (MCP) para controle de navegador por linguagem natural.
Recursos
- 🧠 Integração MCP - Implementação completa do protocolo para comunicação com agentes de IA
- 🌐 Automação de Navegador - Navegação de páginas, preenchimento de formulários e interação com elementos
- 👁️ Compreensão Visual - Análise de capturas de tela e interações baseadas em visão
- 🔄 Persistência de Estado - Mantém sessões de navegador entre tarefas
- 🔌 Suporte Multi-LLM - Integração com OpenAI, Anthropic, Azure, DeepSeek
Início Rápido
Pré-requisitos
- Python 3.11 ou superior
- uv (instalador rápido de pacotes Python)
- Navegador Chrome/Chromium
Instalação
Claude Desktop
No MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
No Windows: %APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"browser-use": {
"command": "uvx",
"args": [
"mcp-server-browser-use",
],
"env": {
"OPENROUTER_API_KEY": "",
"OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",
"OPENAI_ENDPOINT": "https://api.openai.com/v1",
"OPENAI_API_KEY": "",
"ANTHROPIC_ENDPOINT": "https://api.anthropic.com",
"ANTHROPIC_API_KEY": "",
"GOOGLE_API_KEY": "",
"AZURE_OPENAI_ENDPOINT": "",
"AZURE_OPENAI_API_KEY": "",
"DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
"DEEPSEEK_API_KEY": "",
"MISTRAL_API_KEY": "",
"MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",
"OLLAMA_ENDPOINT": "http://localhost:11434",
"ANONYMIZED_TELEMETRY": "true",
"BROWSER_USE_LOGGING_LEVEL": "info",
"CHROME_PATH": "",
"CHROME_USER_DATA": "",
"CHROME_DEBUGGING_PORT": "9222",
"CHROME_DEBUGGING_HOST": "localhost",
"CHROME_PERSISTENT_SESSION": "false",
"BROWSER_HEADLESS": "false",
"BROWSER_DISABLE_SECURITY": "false",
"BROWSER_WINDOW_WIDTH": "1280",
"BROWSER_WINDOW_HEIGHT": "720",
"BROWSER_TRACE_PATH": "trace.json",
"BROWSER_RECORDING_PATH": "recording.mp4",
"RESOLUTION": "1920x1080x24",
"RESOLUTION_WIDTH": "1920",
"RESOLUTION_HEIGHT": "1080",
"VNC_PASSWORD": "youvncpassword",
"MCP_MODEL_PROVIDER": "anthropic",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
"MCP_TEMPERATURE": "0.3",
"MCP_MAX_STEPS": "30",
"MCP_USE_VISION": "true",
"MCP_MAX_ACTIONS_PER_STEP": "5",
"MCP_TOOL_CALL_IN_CONTENT": "true"
}
}
Desenvolvimento Local
"browser-use": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-browser-use",
"run",
"mcp-server-browser-use"
],
"env": {
...
}
}
Desenvolvimento
# Install dev dependencies
uv sync
# Run with debugger
npx @modelcontextprotocol/inspector uv --directory . run mcp-server-browser-use
Solução de Problemas
- Conflitos de Navegador: Feche todas as instâncias do Chrome antes de iniciar.
- Erros de API: Verifique se as chaves de API nas variáveis de ambiente correspondem ao seu provedor de LLM.
- Suporte a Visão: Garanta que
MCP_USE_VISION=truepara análise de capturas de tela.
Configuração do Provedor
O servidor suporta múltiplos provedores de LLM através de variáveis de ambiente. Aqui estão as opções disponíveis para MCP_MODEL_PROVIDER:
| Provedor | Valor | Variáveis de Ambiente Necessárias |
|---|---|---|
| Anthropic | anthropic | ANTHROPIC_API_KEYANTHROPIC_ENDPOINT (opcional) |
| OpenAI | openai | OPENAI_API_KEYOPENAI_ENDPOINT (opcional) |
| Azure OpenAI | azure_openai | AZURE_OPENAI_API_KEYAZURE_OPENAI_ENDPOINT |
| DeepSeek | deepseek | DEEPSEEK_API_KEYDEEPSEEK_ENDPOINT (opcional) |
| Gemini | gemini | GOOGLE_API_KEY |
| Mistral | mistral | MISTRAL_API_KEYMISTRAL_ENDPOINT (opcional) |
| Ollama | ollama | OLLAMA_ENDPOINT (opcional, padrão: localhost:11434) |
| OpenRouter | openrouter | OPENROUTER_API_KEYOPENROUTER_ENDPOINT (opcional) |
Notas:
- Para endpoints marcados como opcionais, valores padrão serão usados se não forem especificados
- A temperatura pode ser configurada usando
MCP_TEMPERATURE(padrão: 0.3) - O modelo pode ser especificado usando
MCP_MODEL_NAME - Para modelos Ollama, configurações adicionais de contexto como
num_ctxenum_predictsão configuráveis
Créditos
Este projeto estende o browser-use/web-ui sob a Licença MIT. Agradecimentos especiais aos autores originais pelo seu framework de automação de navegador.
Licença
MIT - Consulte LICENSE para detalhes.