Browser Use
Un servidor impulsado por IA para la automatización del navegador mediante comandos en lenguaje natural, que implementa el Protocolo de Contexto del Modelo (MCP).
Documentación
browser-use MCP server
Nota del Proyecto: Esta implementación del servidor MCP se basa en la base de browser-use/web-ui. La lógica central de automatización del navegador y los patrones de configuración están adaptados del proyecto original.
Servidor de automatización de navegador impulsado por IA que implementa el Protocolo de Contexto de Modelo (MCP) para el control del navegador mediante lenguaje natural.
Características
- 🧠 Integración MCP - Implementación completa del protocolo para la comunicación con agentes de IA
- 🌐 Automatización del Navegador - Navegación de páginas, relleno de formularios e interacción con elementos
- 👁️ Comprensión Visual - Análisis de capturas de pantalla e interacciones basadas en visión
- 🔄 Persistencia de Estado - Mantener sesiones del navegador entre tareas
- 🔌 Soporte Multi-LLM - Integración con OpenAI, Anthropic, Azure, DeepSeek
Inicio Rápido
Requisitos Previos
- Python 3.11 o superior
- uv (instalador rápido de paquetes de Python)
- Navegador Chrome/Chromium
Instalación
Claude Desktop
En MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
En 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"
}
}
Desarrollo Local
"browser-use": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-browser-use",
"run",
"mcp-server-browser-use"
],
"env": {
...
}
}
Desarrollo
# Install dev dependencies
uv sync
# Run with debugger
npx @modelcontextprotocol/inspector uv --directory . run mcp-server-browser-use
Solución de Problemas
- Conflictos del Navegador: Cierra todas las instancias de Chrome antes de comenzar.
- Errores de API: Verifica que las claves de API en las variables de entorno coincidan con tu proveedor de LLM.
- Soporte de Visión: Asegúrate de que
MCP_USE_VISION=truepara el análisis de capturas de pantalla.
Configuración del Proveedor
El servidor admite múltiples proveedores de LLM a través de variables de entorno. Estas son las opciones disponibles para MCP_MODEL_PROVIDER:
| Proveedor | Valor | Variables de Entorno Requeridas |
|---|---|---|
| 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, predeterminado localhost:11434) |
| OpenRouter | openrouter | OPENROUTER_API_KEYOPENROUTER_ENDPOINT (opcional) |
Notas:
- Para los endpoints marcados como opcionales, se utilizarán valores predeterminados si no se especifican
- La temperatura se puede configurar usando
MCP_TEMPERATURE(predeterminado: 0.3) - El modelo se puede especificar usando
MCP_MODEL_NAME - Para los modelos Ollama, se pueden configurar ajustes de contexto adicionales como
num_ctxynum_predict
Créditos
Este proyecto extiende browser-use/web-ui bajo la Licencia MIT. Un agradecimiento especial a los autores originales por su marco de automatización del navegador.
Licencia
MIT - Consulta LICENSE para más detalles.