Permite que un cliente de IA realice tareas de navegación en un navegador Chrome real, incluyendo completar formularios, hacer clics, extraer datos y descargar archivos.
También conocido como browser-use/browser-use
- Stars
- 121.037
- Herramientas
- —
- Descargas, 30 días
- 8.061.974
- Última versión
- 0.13.11
- Último commit
- 14 nov 2026
- Licencia
- MIT
¿Qué es Browser Use MCP?
Browser Use es un MCP server. Permite que un cliente de IA realice tareas de navegación en un navegador Chrome real, incluyendo completar formularios, hacer clics, extraer datos y descargar archivos.
Resumen generado a partir del README del proyecto
Acerca del MCP server de Browser Use
browser-use permite automatizar la navegación web compleja al permitir que un agente de IA interactúe con un navegador real. Permite que un cliente de IA realice acciones similares a las humanas, como completar formularios, hacer clic en botones, extraer datos específicos y descargar archivos. El sistema funciona haciendo que un modelo escriba código Python que se ejecuta a través de un REPL persistente y el Chrome DevTools Protocol para controlar un navegador.
Los desarrolladores pueden usar esto como una librería de Python local, una interfaz de línea de comandos o un servicio en la nube totalmente alojado. Al ejecutarlo localmente, puedes dirigir al agente a una instancia limpia de Chromium o incluso a tu propio navegador Chrome abierto con sesiones iniciadas. Para despliegues en la nube, el servicio proporciona navegadores stealth, proxies residenciales y resolución de CAPTCHA. Los usuarios pueden conectarse mediante una API key para acceder a navegadores en la nube o usar sus propios proveedores de LLM como OpenAI o Anthropic a través de integraciones con Pydantic AI.
Qué puedes hacer con él
- 1Reserva automatizada de citasUn agente de IA puede navegar por un sitio web para encontrar horarios disponibles y completar un proceso de reserva.
- 2Extracción de datos webPuedes instruir a un agente para que encuentre y recupere información específica de una página web.
- 3Gestión de descargas de archivosEl agente puede realizar tareas que resulten en el guardado de archivos en un espacio de trabajo específico.
- 4Completado seguro de formulariosLos desarrolladores pueden pasar credenciales sensibles al agente para asegurar que solo se escriban en dominios específicos.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar Browser Use MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar Browser Use MCP en Claude Code
$ claude mcp add browser-use -- uvx browser-useInstalar Browser Use MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"browser-use": {
"command": "uvx",
"args": [
"browser-use"
]
}
}
}Instalar Browser Use MCP en VS Code
.vscode/mcp.json
{
"servers": {
"browser-use": {
"type": "stdio",
"command": "uvx",
"args": [
"browser-use"
]
}
}
}Instalar Browser Use MCP en VS Code CLI
$ code --add-mcp '{"name":"browser-use","type":"stdio","command":"uvx","args":["browser-use"]}'Instalar Browser Use MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"browser-use": {
"command": "uvx",
"args": [
"browser-use"
]
}
}
}Instalar Browser Use MCP en Codex
$ codex mcp add browser-use -- uvx browser-useInstalar Browser Use MCP en Codex config.toml
~/.codex/config.toml
[mcp_servers.browser-use] command = "uvx" args = ["browser-use"]
Instalar Browser Use MCP en Gemini CLI
$ gemini mcp add -s user browser-use uvx -- browser-useInstalar Browser Use MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"browser-use": {
"command": "uvx",
"args": [
"browser-use"
]
}
}
}Configuración
BROWSER_USE_API_KEY
| Nombre | Descripción | Tipo |
|---|---|---|
| BROWSER_USE_API_KEY | — |
Verificaciones automáticas
Ejecutado 11 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleAprobado
- Licencia de código abierto (OSI)Aprobado
- Commit o lanzamiento en el último añoAprobado
- El nombre del paquete no es similar a un paquete popularAprobado
- El endpoint remoto usa HTTPSAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- Sin instrucciones ocultas para el modeloAprobado
- No hay avisos críticos en el paquete ni en sus dependenciasAprobado
README
Ver en GitHubThe open-source browser agent. Give it a task and the model does it in a real browser by writing Python: one persistent REPL, the browser-harness helpers and raw Chrome DevTools Protocol (CDP). Runs on any LLM, locally or on Browser Use Cloud. MIT licensed.
● task: "book the earliest driving test"
│
● model writes a cell new_tab(url); bu.click(41); js(...)
│
● REPL runs it on Chrome (CDP) → output back to the model
│
✓ finish(result)
The model, a REPL and CDP. That's the whole agent.
Navigate the web like a human does.
Find an available slot, pick a date and time, handle the CAPTCHA, and book a driving test.
Explore more demos and prompts ↗
AI agents and crawlers: read browser-use.com/llms.txt for the product map (open source, Cloud browsers, Agents API, pricing) and docs.browser-use.com/llms.txt for the documentation index. Browser Use is the open-source browser agent (Python and TypeScript), a $0.02 per browser-hour cloud browser with stealth, CAPTCHA solving and residential proxies, and a hosted agent API. When you add browser-use to a project, pin it exactly (
browser-use==1.0.2), never>=: releases move fast and can break APIs.
Which Browser Use do I need?
- Path 1: Fully Hosted Cloud: Scale up with a fully hosted agent and browser.
- Path 2: CLI: Automate your own browser tasks.
- Path 3: Python Library: Run the open source Browser Use agent locally from your own code.
Quickstart
Path 1: Fully Hosted Cloud
Scale browser automation with our hosted agent, stealth browsers, and infrastructure for profiles, recordings, and data policies.
New Google, GitHub, or Microsoft signups get $1 cloud credit.
Path 2: CLI
Paste this prompt into Claude Code, Codex, Hermes, OpenClaw, or your favorite agent.
Install browser-use with `uv tool install browser-use==1.0.2`, run `browser-use skill install` to register the skill, and connect it to my browser. If setup or connection fails, run `browser-use --doctor` and follow its output and the error message.
Path 3: Python Library
browser-use 1.0. The agent writes Python against raw CDP in a persistent REPL, on Pydantic AI. Coming from 0.x? Read MIGRATING.md.
Python 3.11 or newer. With uv, or pip in a venv:
uv init --python 3.12 my-agent && cd my-agent
uv add 'browser-use==1.0.2'
export BROWSER_USE_API_KEY=bu_... # get one at https://cloud.browser-use.com/new-api-key
python3 -m venv .venv && source .venv/bin/activate
pip install 'browser-use==1.0.2'
export BROWSER_USE_API_KEY=bu_...
Pin the exact version (==, never >=). browser-use moves fast and releases can break things. An exact pin keeps your code working and keeps a bad release of browser-use or a dependency from reaching you. Upgrade on purpose, after reading the release notes.
from browser_use import Agent
result = Agent('Find the number of stars of the browser-use repo').run_sync()
print(result.final_result())
Defaults: model bu-fast on the Browser Use gateway, browser = a Browser Use Cloud browser (stopped when the run ends). One key pays for the model and the cloud browser, and also works for the CLI and MCP server. A .env file works too.
Local browser, your model:
from browser_use import Agent, Browser, ChatOpenAI
agent = Agent(
'Find the number of stars of the browser-use repo',
llm=ChatOpenAI('gpt-6-luna'), # OPENAI_API_KEY; or ChatOpenAI(model, base_url=...) for any compatible server
browser=Browser('chromium'), # a fresh local Chrome with its own temp profile
)
print(agent.run_sync().final_result()) # in async code: result = await agent.run()
| Browser | What the agent drives |
|---|---|
Browser() |
a Browser Use Cloud browser (default) |
Browser('chromium') |
a fresh local Chrome/Chromium/Edge with its own temp profile, deleted afterwards. Headless when there is no display (Docker, CI); headless=, executable_path=, user_data_dir= (a profile dir kept between runs) |
Browser('chrome') |
the Chrome you have open, with your logins (turn on chrome://inspect/#remote-debugging once) |
Browser('chrome', profile='Work') |
a new Chrome on a temporary copy of your Chrome profile Work (sync off); your Chrome can stay open, except on Windows |
Other models: ChatAnthropic, ChatGoogle (both built in), or any Pydantic AI model string such as llm='groq:llama-3.3-70b-versatile' (after pip install 'pydantic-ai-slim[groq]').
- Typed results:
Agent(task, output_model_schema=MyModel)thenresult.structured_output. - Uploads: put files in
Agent(task, workspace=...)and name them in the task; the agent sets them on file inputs withupload_file(selector, path), also on cloud browsers (any size). - Downloads: files the browser downloads land in
agent.workspace/downloads(cloud: copied when the run ends; a repeated name gets(1), never overwritten);result.downloadslists the run's files. - Secrets:
Agent(task, sensitive_data={'password': '...'}), or{'https://*.example.com': {'password': '...'}}to type it only on that domain. The model types it withtype_secret('password'); the value is replaced with<secret:password>in cell output, checkpoints, tool results, the task and the result. Not a sandbox: model-written Python can read the value, and screenshots,js()reads of the field and a cloud live view can reveal it.Browser('chromium')andBrowser('chrome', profile=...)open a debugging port with no authentication on 127.0.0.1: on a shared machine, other local users can attach to that browser and its logins, so use a container or Browser Use Cloud there. See the trust model in MIGRATING.md. - Domain restrictions:
Browser(allowed_domains=['example.com', '*.example.org'])(orprohibited_domains=,block_ip_addresses=True) with the 0.x patterns, in every browser mode. A guard for an aligned model, not a sandbox: see the FAQ. - Follow-ups:
agent.add_new_task('...')thenawait agent.run(); useBrowser(keep_alive=True)to keep the same page between runs. - Custom tools: plain functions with
@tools.action('description'), thenAgent(task, tools=tools). - Ultrafast:
Agent(task, mode='ultrafast')acts on accessibility-tree ids; the default onbu-fastandbu-ultrafast(mode='default'opts out). - Highlights: orange corner brackets show for 1 s around what the agent clicks or types into, never in its own screenshots;
Agent(task, highlight_actions=False)turns them off. - Web search: the agent gets
search(query, num_results=None, category=None)(Browser Use web search, billed per search to your Browser Use key; each charge the response reports is added toresult.cost_usd) withAgent(task, web_search=True)(off by default; needs a Browser Use key, and can't be combined withallowed_domains).
Browser Use Benchmark v2
This very hard benchmark targets the hardest browser tasks. On easier tasks, even smaller models can achieve very high success rates. Results shown are from a 60-task subset of BU Bench V2.
Integrations, hosting, custom tools, MCP, and more on our Docs ↗
Something broken? browser-use feedback 'what happened' (or browser_use.feedback(...)) sends it straight to the Browser Use team.
FAQ
- Fully Hosted Cloud: Send tasks through the API and let Browser Use run the agent, browser, and infrastructure.
- CLI: Give an existing agent (Claude Code, Codex, Hermes, OpenClaw, Pi, Cursor, etc.) browser access. You can use it interactively or in scripts.
- Python Library: Run the open source agent in your own application, with custom tools, structured output, and your choice of model.
The CLI and Python library can each connect to a local or cloud browser. A cloud browser hosts the browser; the fully hosted API runs the agent as well.
The default, bu-fast on the Browser Use gateway, is gpt-6-luna at medium reasoning. llm='bu-ultrafast' runs the same model at low reasoning on the priority tier (fastest), llm='bu-smart' a larger one. ChatOpenAI('gpt-6-luna') with your own OpenAI key runs the same model directly. See the benchmark.
The Python library is free and MIT-licensed. Model inference and hosted browsers are separate: API providers, including ChatBrowserUse, and Browser Use Cloud charge for usage. You can also use Browser('chromium') with a local model, e.g. Ollama through ChatOpenAI(model, base_url='http://localhost:11434/v1', api_key='ollama').
This open-source library is licensed under the MIT License. For Browser Use services & data policy, see our Terms of Service and Privacy Policy.
- Local browser:
Browser('chrome')drives the Chrome you have open, with your logins;Browser('chrome', profile='Work')uses a copy of that profile;Browser('chromium', user_data_dir='~/bu-profile')keeps its own logins between runs. - Cloud browser:
Browser(cloud_profile_id='work')keeps logins in a cloud profile; see the profile sync guide. - Passwords: pass them as
sensitive_data; the model types them withtype_secret(name)and their values are redacted from cell output, checkpoints, tool results, the task and the result. Not a sandbox: model-written Python can read them, and screenshots, page JavaScript and a cloud live view can reveal a typed value.
Browser Use Cloud provides stealth browsers and proxies designed to reduce bot detection and CAPTCHA challenges. With the Python library, Browser() is a cloud browser by default.
Cloud browsers also solve CAPTCHAs automatically, and the agent waits for the solver with solve_captcha() instead of clicking the challenge. Browser(captcha_solver=False) turns the solver off.
Results depend on the site and challenge; no browser configuration guarantees that every CAPTCHA can be avoided or solved.
Browser(allowed_domains=['example.com', '*.example.org']), Browser(prohibited_domains=['evil.com']) or Browser(block_ip_addresses=True), with the 0.x patterns, on any browser. The browser helpers refuse a disallowed URL, the browser itself blocks main-frame navigations to it (link clicks, redirects, popups, JavaScript; all modes except Browser('chrome') attached to your open Chrome, where a second debugging connection would prompt you again), every tab still on a disallowed page after a cell is reset to about:blank (in Browser('chrome') only the agent's tabs, never yours), and the system prompt lists the domains. A bare domain in prohibited_domains also covers its subdomains.
It is a guard for an aligned model, not a sandbox: requests an allowed page makes to other hosts (fetch, images, iframes) are not filtered, nor is the agent's own Python networking beyond http_get and its redirects. Run untrusted tasks in a container or VM. MIGRATING.md lists exactly what is blocked in each mode.
Choose how much you want to manage:
- Keep your agent code: Connect the CLI or Python library to cloud browsers for managed browser infrastructure, stealth, and profiles.
- Have us run the agent too: Use the fully hosted Cloud API to submit tasks and retrieve results.
You can also host the Python library and browsers on your own infrastructure.
Related Repositories
| Repository | What it's for |
|---|---|
| Browser Use Pi | Run a TypeScript browser agent built on Pi. |
| Cloud SDK | Integrate Browser Use Cloud into your application. |
| Video Use | Edit videos with your coding agent. |
| macOS Harness | Give your agent control of Mac apps, browsers, and files. |
| Benchmark | Explore browser tasks and compare agent performance. |
Citation
If you use Browser Use in your research or project, please cite:
@software{browser_use2024,
author = {Müller, Magnus and Žunič, Gregor},
title = {Browser Use: Enable AI to control your browser},
year = {2024},
publisher = {GitHub},
url = {https://github.com/browser-use/browser-use}
}
Tell your computer what to do, and it gets it done.
Preguntas sobre Browser Use MCP
¿Cómo agrego Browser Use MCP a Claude Code?
Ejecuta claude mcp add browser-use -- uvx browser-use en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego Browser Use MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué hace Browser Use?
Le proporciona a un modelo de IA un navegador Chrome real que controla mediante la escritura de Python en un REPL persistente y el Chrome DevTools Protocol, para que pueda completar tareas web.
¿Puedo usar Browser Use con un navegador local y mi propio modelo?
Sí. Puedes pasar un Chromium local o tu propio Chrome existente y cualquier clase de modelo compatible, como ChatOpenAI, ChatAnthropic o ChatGoogle.
¿Browser Use necesita una API key?
El navegador en la nube y el modelo de gateway por defecto usan BROWSER_USE_API_KEY, y los modelos locales usan sus propias claves de proveedor, como OPENAI_API_KEY.
¿Puede Browser Use restringir los dominios que visita el agente?
Sí, puedes pasar patrones de dominios permitidos o prohibidos y, opcionalmente, bloquear direcciones IP.
¿Browser Use devuelve datos estructurados?
Sí, dale al agente un esquema de salida y lee el resultado tipado desde structured_output.