Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Browser MCP: the app under test egresses via the real ISP while the agent stays on the VPN.
Elige la app de IA que usas y copia la configuración.
Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 13 nov 2026
Primero: ¿qué IA usas?
Elige tu app y los pasos aparecen abajo.
Funciona con Claude, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Lan Direct para Claude en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "lan-direct": { "command": "npx", "args": [ "-y", "lan-direct", "browser" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Lan Direct aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"lan-direct": {
"command": "npx",
"args": [
"-y",
"lan-direct",
"browser"
]
}
}
}Usa Lan Direct y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude dice que está usando Lan Direct o muestra una herramienta de Lan Direct en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
ChatGPT todavía no puede conectar Lan Direct
Lan Direct se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web
A · Usa una app que pueda conectar Lan Direct
B · Otros en Web y navegadores que funcionan con ChatGPT
Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave
Funciona con Claude Code, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Lan Direct para Claude Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user lan-direct -- npx -y lan-direct browser 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Lan Direct aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell
claude mcp add --scope user lan-direct -- npx -y lan-direct browserDeberías ver Lan Direct en la lista como conectado
Usa Lan Direct y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude Code dice que está usando Lan Direct o muestra una herramienta de Lan Direct en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con Cursor, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Lan Direct para Cursor en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "lan-direct": { "command": "npx", "args": [ "-y", "lan-direct", "browser" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Lan Direct aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Usa Lan Direct y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Cursor dice que está usando Lan Direct o muestra una herramienta de Lan Direct en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con VS Code, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server Lan Direct para VS Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "lan-direct": { "type": "stdio", "command": "npx", "args": [ "-y", "lan-direct", "browser" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Lan Direct aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Usa Lan Direct y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si VS Code dice que está usando Lan Direct o muestra una herramienta de Lan Direct en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps
Ver todas las apps que usan MCP →
La configuración JSON está en “Para desarrolladores”, abajo
Claude Code
claude mcp add --scope user lan-direct -- npx -y lan-direct browserClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"lan-direct": {
"command": "npx",
"args": [
"-y",
"lan-direct",
"browser"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"lan-direct": {
"command": "npx",
"args": [
"-y",
"lan-direct",
"browser"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"lan-direct": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"lan-direct",
"browser"
]
}
}
}Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 15 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub farshadmomo, dueña del repo
Último cambio de código: hace 3 meses
Usa MIT
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Aún no revisado
Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.
Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.
Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.
Aún no hay reseñas
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez hace 3 meses, y la última versión (1.0.2) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Browser Use, changedetection.io (official), Apify MCP Server, Actionbook, Flowershow
Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Official changedetection.io MCP: web page change tracking, back-in-stock and price alerts.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Let your AI agent operate any website through a real, logged-in browser session.
Publish Markdown and HTML from your AI session as a live website. No account needed.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A skill and a browser MCP for coding agents behind a full-tunnel VPN — Claude Code and Codex.
Your VPN has to stay on, because that's how the agent reaches its API. But the app you're testing calls services that reject the VPN's foreign exit IP: a domestic API, a payment or SMS gateway, a bank endpoint. Turning the VPN off isn't an option — it cuts the agent off.
lan-direct gives the app an ISP-direct path while the agent stays on the tunnel. No admin, no routing-table edits, no VPN reconfiguration. How it works.
Requires Node ≥ 20.6, plus PowerShell on Windows or bash and curl on Linux/macOS. No admin, no symlinks, no renaming.
npm install -g lan-direct
lan-direct install-skill # or --codex claude mcp add playwright-split --scope user "--" npx -y lan-direct browser
Then restart the agent. That's it — the same three lines on every platform.
npx -y lan-direct browser is the better MCP command however you install: it survives the checkout moving, which an absolute path into a clone does not.
Why `"--"` is quoted. On Windows
clauderesolves toclaude.ps1, and PowerShell's
parameter binder strips a bare
--before the script ever sees it. The CLI then reads-y
as one of its own flags and fails with
error: unknown option '-y'. Quoting protects it,
and quotes are a no-op in bash — so the same line works in PowerShell, bash and cmd.
Prefer this if you want to edit the skill or track it — one git pull updates everything, where npm needs npm update -g lan-direct && lan-direct install-skill because install-skill copies files rather than linking them.
Either way, your own host list at ~/.lan-direct-hosts is never touched.
1. Clone into your agent's skills directory. Both agents discover skills by scanning a directory for SKILL.md — they just scan different ones.
# Windows - Claude Code
git clone https://github.com/farshadmomo/lan-direct.git "$HOME\.claude\skills\lan-direct"
New-Item -ItemType Directory -Force -Path "$HOME\.agents\skills" | Out-Null git clone https://github.com/farshadmomo/lan-direct.git "$HOME\.agents\skills\lan-direct"
# Linux / macOS - Claude Code
git clone https://github.com/farshadmomo/lan-direct.git ~/.claude/skills/lan-direct
mkdir -p ~/.agents/skills git clone https://github.com/farshadmomo/lan-direct.git ~/.agents/skills/lan-direct
2. Register the browser MCP:
powershell -NoProfile -ExecutionPolicy Bypass `
-File "$HOME\.claude\skills\lan-direct\scripts\install.ps1"
The installer verifies the bypass actually works, registers the server against this checkout, and prints the equivalent ~/.codex/config.toml block for Codex. Safe to re-run — it replaces the existing entry rather than duplicating it.
On Linux/macOS there's no installer script; register it directly:
claude mcp add playwright-split --scope user "--" \
node ~/.claude/skills/lan-direct/scripts/lan-browser.mjs --port 8900
Restart the agent. Then /lan-direct in Claude Code, or in either agent just describe the problem — the description frontmatter is the trigger, firing on phrasings like "test this while my VPN is on" or "the API rejects the VPN IP".
To update: git -C pull. No reinstall needed.
Using both agents from a single clone
Clone once, then link the second location. On Windows a junction works without admin or Developer Mode, unlike a symlink:
git clone https://github.com/farshadmomo/lan-direct.git "$HOME\.claude\skills\lan-direct"
New-Item -ItemType Directory -Force -Path "$HOME\.agents\skills" | Out-Null cmd /c mklink /J "$env:USERPROFILE\.agents\skills\lan-direct" "$env:USERPROFILE\.claude\skills\lan-direct"
macOS/Linux:
git clone https://github.com/farshadmomo/lan-direct.git ~/.claude/skills/lan-direct
mkdir -p ~/.agents/skills ln -s ~/.claude/skills/lan-direct ~/.agents/skills/lan-direct
One git pull then updates both.
Installing somewhere else (for editing the skill)
Clone wherever you like and link it in. A junction needs no admin; a symlink needs an elevated shell or Developer Mode:
git clone https://github.com/farshadmomo/lan-direct.git "D:\projects\lan-direct"
cmd /c mklink /J "$env:USERPROFILE\.claude\skills\lan-direct" "D:\projects\lan-direct"
However you install it, the directory inside the skills folder must be named lan-direct — both agents discover by directory name, and it has to match name: in SKILL.md.
Rules live in lan-hosts.txt and are suffix matches:
.ir every .ir host
digikala.com also seller.digikala.com, api.digikala.com, ...
Anything not matched takes the tunnel. List domestic hosts only — adding a foreign one sends it out through an ISP that may filter it.
The shipped list covers .ir wholesale plus the Iranian services that live on other TLDs: payment (zarinpal, payping, nextpay), SMS/OTP (kavenegar, melipayamak, farazsms, ippanel), hosting (parspack, hostiran, mizbanfa), maps (neshan), commerce (digikala, torob, basalam), education and jobs (quera, faradars, maktabkhooneh, 7learn, irantalent), AI (hoosha, gapgpt), and the analytics domains those sites embed (najva, yektanet). Every one was checked: all are unreachable over the tunnel and respond over the ISP.
Put them in `~/.lan-direct-hosts`, one per line, same format:
# my own
aparat.com internal.corp
That file is never touched by git pull, and is read each time the browser starts — no reinstall, no restart of anything but the browser. Rules from all three sources merge: shipped file, your file, and any --lan-hosts a,b passed at launch.
Getting a rule wrong fails in a way that looks like the site being down, so the proxy prints the route it chose for every connection. Check that before blaming the site — or ask directly, without starting anything:
$ lan-direct route hoosha.com youtube.com api.anthropic.com
24 rules in effect
hoosha.com lan ISP (bound) youtube.com vpn tunnel api.anthropic.com vpn tunnel
Two halves, installed together:
| What it does | |
|---|---|
The skill (SKILL.md) | Teaches the agent the whole workflow — detect, verify, pick a mechanism per stack, tear down. Discovered automatically by scanning for SKILL.md. |
The browser MCP (lan-browser.mjs) | A Playwright MCP server that starts and owns its own proxy, and routes per host: domestic sites via the ISP, everything else via the tunnel, in one browser session. |
The MCP is what makes browsing work at all — Chromium has no source-binding flag, so a browser can only reach the ISP through a proxy. Without it the skill covers backends and CLIs but not pages.
Per-socket source-address binding. A socket explicitly bound to the physical adapter's IP takes that adapter's default route instead of the tunnel's:
$ curl -s https://api.ipify.org # 203.0.113.7 (VPN exit)
$ curl -s --interface 192.168.1.20 https://api.ipify.org # 198.51.100.42 (real ISP)
No admin rights, no routing-table edits, no VPN reconfiguration, nothing global. Because it's per-socket it is opt-in by construction — a process that doesn't ask for it *cannot* be affected. That's the property that keeps the agent on the tunnel.
This is deliberately not route add. A static route is global: it would pull every process off the tunnel for that destination, the agent included, and it needs admin.
A server process has no --interface flag, so there are two ways to give it one:
| Your backend | Mechanism |
|---|---|
| Node / Next.js | lan-bind.mjs — a --import preload that binds every socket in the process |
| Everything else | lan-proxy.mjs — a local proxy whose *outbound* sockets are bound, driven by HTTP_PROXY |
If your backend is Node, `HTTP_PROXY` will not work and will fail silently.
Native fetch runs on Node's built-in undici, which ignores proxy environment variables on Node ≤ 23 and accepts no https.Agent. Verified on Node 22.20: plain env vars, NODE_USE_ENV_PROXY=1, and --use-env-proxy all do nothing — the proxy log stays empty while traffic goes out over the VPN. This hits Next.js, the openai SDK, and anything else on native fetch.
lan-bind.mjs patches net/tls in a preload, which reaches the bundled undici. That covers native fetch, the openai SDK, axios, node-fetch, got and plain http/https at once — no dependency, no proxy process, no HTTP_PROXY. NODE_OPTIONS propagates to forked workers, so it covers Next.js and Vite dev servers.
It skips loopback destinations on purpose: a socket sourced from the LAN IP cannot reach 127.0.0.1, so without that guard any app with a local Redis/Postgres/Mongo would die on EADDRNOTAVAIL.
All paths below use $skill for wherever you installed it:
$skill = "$HOME\.claude\skills\lan-direct" # Claude Code
$skill = "$HOME\.agents\skills\lan-direct" # Codex
1. Detect and verify. Exits 0 only if the bypass actually works.
powershell -NoProfile -ExecutionPolicy Bypass -File "$skill\scripts\lan-detect.ps1"
bash ~/.claude/skills/lan-direct/scripts/lan-detect.sh # Linux / macOS
Emits lanIp, gateway, lanDns, subnet, tunnelActive, vpnAdapter, directEgress, lanEgress, fakeIpDns, bypassWorks. It probes twice and compares, rather than assuming — and refuses to proceed if the bypass doesn't hold, so you never get a false pass.
2a. Node backend. Copy-paste as-is; only lanIp needs filling in:
$env:LAN_BIND = "<lanIp>"
$env:NODE_OPTIONS = "--import file:///$($skill -replace '\\','/')/scripts/lan-bind.mjs" npm run dev
Same thing from Git Bash, with the path written out:
LAN_BIND=<lanIp> \
NODE_OPTIONS="--import file:///C:/Users/YOU/.claude/skills/lan-direct/scripts/lan-bind.mjs" \ npm run dev
--import needs an absolute file:// URL with forward slashes on Windows — a bare Windows path fails.
2b. Anything else. Start the proxy:
node "$skill\scripts\lan-proxy.mjs" --bind <lanIp> --self-test # run with the tunnel UP
node "$skill\scripts\lan-proxy.mjs" --bind --port 8899
Then launch the backend with HTTP_PROXY=http://127.0.0.1:8899, HTTPS_PROXY=http://127.0.0.1:8899, NO_PROXY=localhost,127.0.0.1, .
See SKILL.md for stacks where HTTP_PROXY still isn't enough — notably PHP under Apache, where the service doesn't inherit your shell and libcurl never sees the variables.
Neither path is a superset of the other. Measured on an Iranian ISP behind a foreign tunnel:
| via VPN | via ISP | |
|---|---|---|
| youtube, x, facebook, telegram, reddit | work | dead |
| hoosha, neshan, avalai | dead | work |
| github, google, npm | work | work |
| api.anthropic.com | works | 403 |
That last row is why the agent must never be moved off the tunnel — do it and the agent stops working entirely.
The browser MCP handles the mix in one session. Chrome is told to send *everything* to the proxy and makes no routing decision itself; the proxy reads th