Invictum Browser Bridge
OfficialInvictum Browser Bridge
Control de navegador de código abierto para agentes de IA, creado para desarrolladores.
Invictum Browser Bridge (IBB, también llamado Invictum Browser Gate o IBG) permite que un agente de IA autorizado trabaje en el perfil existente de Google Chrome del usuario. El agente puede usar aplicaciones web en las que ya se haya iniciado sesión sin exportar cookies, contraseñas, perfiles de navegador ni estado de autenticación sin procesar.
El proyecto está licenciado bajo la Licencia MIT. Está diseñado para desarrolo local y flujos de trabajo avanzados de navegador mediante MCP, una CLI, un SDK de TypeScript o la API de control de loopback.
¿Por qué usarlo?
La mayoría de las automatizaciones de navegador inician un perfil de navegador limpio o dependen de coordenadas de pantalla frágiles. IBB, en cambio, ofrece acciones tipadas y verificadas por políticas dentro del perfil real de Chrome del usuario:
lectura semántica de la página y referencias deterministas a elements;
control de pestañas en segundo plano por defecto que evita interrumpir al usuario;
adaptadores específicos para WordPres, terminales WHM/cPanel y Figma;
formularios fiables, editores de texto enriquecido/código, subidas, diálogos, capturas de pantalla y herramientas de depuración;
autorización explícita, reserva por pestaña, User Stop, datos de auditoría redactados y limpieza garantizada.
La extensión instalada informa de sus capacidades exactas en tiempo de ejecución. Los agentes deben llamar siempre a system.capabilities en lugar de asumir que la documentación y la versión de Chrome cargada son idénticas.
Características principales
Control del navegador y de la página
Listar, abrir, cerrar, navegar, activar y desplazarse por el historial de pestañas.
Trabajar en una ventana de agente dedicaada y en pestañas en segundo plano por defecto.
Esperar URLs, títulos, texto, selectores, estabilidad del DOM o preparación de la aplicación; enfocar una pestaña de renderizado diferido solo una vez cuando una espera en segundo plano acotada demuestra que el enfoque es necesario.
Leer instantáneas semánticas compactas, esquemáticas, completas, interactivas o acotadas.
Extraer texto limpio o Markdown ligero y encontar elements mediante una clásificación determinista en lenguaje natural.
Hacer clic, doble clic, clic con el botón derecho, pasar el cursor, enfocar, escribir, pulsar teclas, seleccionar, marcar, desplazarse hasta un elemento o posición del documento, y arrastrar y soltar.
Usar clics por coordenadas solo como recurso final ligado a una revisión.
Formularios, editores, archivos y autenticación
Establecer entradas nativas, áreas de texto, selectores, casillas de verificación, botones de opción, regiones contenteditable y editores WYSIWYG.
Sincronizar los modelos de editor autoritativos de CodeMirror, Ace, Monaco, Quill, TinyMCE, Gutenberg y similares para que los valores sobrevivan al envío.
Adjuntar uno o más archivos locales mediante la API nativa de entrada de archivos de Chrome sin exponer rutas en resultados ni en registros de auditoría.
Enviar formularios solo con la autorización requerida, incluida una ruta sin aviso explícitamente autorizada para una instrucción de agente ya aprobada.
Usar formularios de inicio de sesión precumplimentados, autenticación básica HTTP efímera y diálogos nativos de JavaScript alert, confirm, prompt y
beforeunloadmediante acciones dedicadas.
Soporte para WordPress
IBB incluye flujos de trabajo tipados para WordPress en lugar de pedir a los agentes que improvisen con cambios cosméticos en el DOM o arrastres por coordenadas:
identificar pantallas de wp-admin, avisos, tablas de listados, filas y acciones disponibles;
realizar acciones de fila y acciones masivas con claves de acción exactas de WordPress;
leer y actualizar el contenido de Gutenberg o del Editor Clásico, el título, el extracto, el slug, el estado, las categorías, las etiquetas, los metadatos de la imagen destacada y otros campos admitidos;
revisar los cambios por separado antes de guardar y verificar el modelo de editor autoritativo después de guardar;
inspeccionar y editar árboles clásicos de Apariencia > Menús, incluidos enlaces personalizados, actualizaciones, eliminaciones, movimientos de subárbol completo, anidamiento, ordenación y guardado;
recuperarse con seguridad cuando el aviso de cambios sin guardar de WordPres bloquea la navegación;
recurrir a las herramientas generales de formularos, subidas, editores, DOM, consola y API de mismo origen para ajustes de plugins, medios, controles similares a ACF y páginas administrativas personalizadas.
Consulta WordPress wp-admin y la edición de menús clásicos.
WHM, cPanel y terminales de navegador
El adaptador xterm tipado admite terminales alojados en el navegador, como la Terminal de WHM/cPanel:
detectar la terminal real en lugar del campo Search Tools de WHM;
leer un búfer de xterm acotado y redactado o un WebSocket de terminal específico de la acción;
enfocar solo la entrada auxiliar de la terminal y enviar texto fiable o teclas especiales en una pestaña en segundo plano;
preparar y verificar el comando exacto antes de enviar un Enter;
fallar de forma segura, no enviar Enter e intentar borrar un borrador no verificado;
esperar al indicador de comandos, a un texto, a un cambio en la salida o a un estado de reposo;
devolver verificación explícita del borrador y de la entrega sin registrar comandos ni salidas sin procesar.
La salida de la terminal es R2 y cada acción de texto/tecla es R3. Una solicitud de solo lectura nunca autoriza un comando. Consulta automatización de terminales.
Figma en Chrome
Las acciones tipadas de Figma pueden inspeccionar la interfaz del navegador alrededor de un archivo de diseño:
comprobar el estado de los anclajes de interfaz esperados de Figma;
leer el nombre del archivo, las páginas, el modo actual y la selección actual;
leer las filas del árbol de capas renderizado y las propiedades del inspctor;
seleccionar una pá gina, un modo o una capa visble con protección contra filas obsoleras;
usar capturas de pantalla para el arte del lienzo WebGL.
Figma virtualiza su árbol de capas y pinta el lienzo de diseño con WebGL, por lo que este adaptador no pretende ofrecer la mutación completa del documento. Consulta soporte de Figma.
Diagnóstico para desarrolladores y salida visual
Captura de consola acotada y redactada, y diagnóstico de red solo con metadatos.
Solicitudes de API de mismo origen desde la página con manejo opcional de nonces de WordPres.
Emulación reversble de viewpórt móvil, orientación, DPR y táctil.
Capturas de pantalla de viewpórt, de elemento, de región y de página completa.
Capturas de pantalla de tutorial con rectángulos, elipses, flechas, etiquetas y superposiciones automáticas numeradas de conjunto de marcas.
Inspección de elementos/oyentes/fuentes, observación de eventos acotada, mutación tipada de DOM y estilos en línea, inyección de CSS reversble y exportación de PDF acotada.
JavaScript de página sin procesar explícitamente autorizado como último recurso R3; las superficies sensibles, de navegación, de envío y de red sin restricciones siguen estando denegadas.
Lotes secuenciales que preservan las políticas, pruebas en seco, claves de idempotencia, instantáneas posteriores, deltas semánticos del DOM, verificación y reubicación de referencias obsoleras.
Integraciones de agentes
IBB expone cuatro superficies locales para desarroladores:
Superficie | Caso de uso |
MCP server | Interfaz principal para Codex, Cursor, Claude Code y otros clientes MCP stdio |
JSON CLI | Respaldo compatble con PowerShel, diagnóstico y scripts de automatización |
TypeScript Agent SDK | Integración de aplicaciones y ayudantes de ciclo de vida |
Loopback control API | Desarrolo de adaptadores locales en |
El transporte Native Host en 127.0.0.1:47821 pertenece exclusivamente a Desktop Authority. Los agentes no deben conectarse a la extensión ni a ese puerto directamente.
El servidor expone actualmente 54 accions de navegador en tiempo de ejecución y 61 herramientas MCP. Ese número es una instantánea del lanzamiento, no un contrato con el agente: llama a invictum_capabilities en tiempo de ejecución.
Modelo de seguridad
Desktop Authority es el único límite de políticas y auditoría.
Cada acción se clásifica como R0-R3; las accions sensibles requieren una aserción de autorización explícita y correspondiente.
Una pestaña se reserva antes de trabajar, se marca visblemente con la identidad del agente y se libera en
finally. El usuario puede detener el control de inmediato.Las referencias a elements están vinculadas a las revisons del documento y del DOM.
Las instantáneas redactan los valors sensbles; las subidas, los comandos de terminal, las credenciales, el texto de los prompts y los cuerpos de respuesta no se escriben en los registros de auditoría.
Las páginas internas del navegador, las extensiones, DevTools, Chrome Web Store, los archivos locales y otras superficies restringidas siguen sin estar disponibles.
El trabajo en segundo plano es la opción predeterminada. Los agentes no deben solicitar la activación en primer plano a menos que la aplicación realmente lo requiera.
El acceso al depurador está acotado a la pestaña y es limitado. Los adaptadores persistentes liberan su concesión al productirse una detención, un restablecimiento, un desbloqueo, una navegación o una limpieza tras un bloqueo.
IBB no expone cookies, contraeñas guardadas, datos de autocompletar, almacenamiento arbitrario del navegador, descargas sin restricciones, cuerpos de solicitud/respuesta pasivos, intercepción de tráfico, entrada fiables a nivel de sistema operativo ni control remoto.
Lee SECURITY.md y POLICY_CONFIGURATION.md antes de ampliar la superficie de acciones.
Arquitectura
AI agent
| MCP / CLI / TypeScript SDK / local control API
v
Desktop Authority :47820
| policy -> validation -> reservation -> audit -> cleanup
v
Native Host -> private loopback WebSocket :47821
v
Chrome MV3 extension -> typed page/CDP adapters -> authorized tabConsulta ARCHITECTURE.md para conocer los límites de confianza y los contratos de transporte.
Requisitos
Windows 11 x64
Google Chrome 120+
Node.js 22+
pnpm 11
Git
El repositorio incluye actualmente una instalación de desarrollo basada en el código fuente, no un paquete firmado de Chrome Web Store ni un instalador de producción.
Inicio rápido
git clone https://github.com/invictumhr/ai-invictum-browser-bridge.git
Set-Location .\ai-invictum-browser-bridge
$env:CI = 'true'
pnpm install --frozen-lockfile
pnpm build
pnpm typecheck
pnpm test
pnpm lintCarga apps/extension/dist mediante chrome://extensions como extensión sin empaquetar, copia el ID de extensión generado y registra el Native Host:
.\scripts\register-native-host-dev.ps1 -ExtensionId "PASTE_EXTENSION_ID"
pnpm browser ping
pnpm browser capabilitiesEstablece el Acceso al sitio de Chrome de la extensión en En todos los sitios. Esto evita una aprobación manual en la barra de herramintas para cada nuevo origen HTTP(S); la política de Chrome y el propio modelo de autorización del Bridge siguen aplicándose.
Las instrucciones completas están en INSTALL_WINDOWS.md y EXTENSION_INSTALL.md.
Instalación con un agente de IA en Windows
Copia la siguiente indicación en un agente de codificación de IA de confianza que tenga acceso a PowerShell en el ordenador con Windows. El agente puede instalar y compilar el entorno de ejecución local, pero Chrome requiere algunas acciones visibles del usuario para una extensión sin empaquetar. Por lo tanto, la indicación le dice al agente exactamente cuándo debe pausar y guiar al usuario.
Desktop Authority es el proceso local que acepta comandos del agente en 127.0.0.1:47820; el Native Host hace de intermediario entre este y la extensión de Chrome en 127.0.0.1:47821. La instalación admitida no crea un servicio permanente de Windows. MCP y la CLI inician Desktop Authority como un demonio local oculto cuando es necesario, mientras que Chrome inicia el Native Host registrado. No expongas ninguno de los dos puertos ni crees una regla de firewall.
Install Invictum Browser Bridge from the public repository on this Windows PC:
https://github.com/invictumhr/ai-invictum-browser-bridge.git
Your goal is to install the complete supported local chain:
AI client -> MCP/CLI -> Desktop Authority -> Native Host -> Chrome extension
Work autonomously wherever PowerShell can do the work. Guide me step by step
only for actions Chrome requires me to perform manually. Explain each manual
step in one short message, wait for my confirmation or the extension ID, and
then continue. Do not ask me to execute commands that you can safely execute.
Safety rules:
1. Use only the public repository above and the scripts checked into it.
2. Do not request, copy, print, or store Chrome passwords, cookies, tokens,
browser-profile files, or browsing data.
3. Do not disable Chrome security, install an unrelated extension, expose a
loopback port, create a firewall rule, or bind any service publicly.
4. Do not invent a Windows Service or Scheduled Task. This project intentionally
auto-starts Desktop Authority through MCP/CLI and lets Chrome start the Native
Host.
5. Do not overwrite an existing checkout. If the target directory exists,
inspect its Git remote and working tree first. Continue only if it is this
repository and existing changes are safe; otherwise choose a new directory.
6. Avoid administrator elevation unless a missing prerequisite genuinely
requires it. Native Host registration itself is per-user under HKCU.
7. Never work around a failed test, Chrome permission, or Native Messaging
error. Diagnose it and preserve the security model.
Perform these phases:
PHASE 1 — Preflight
- Use PowerShell.
- Check Windows version and availability/versions of Git, Google Chrome,
Node.js, npm/Corepack, and pnpm.
- Require Node.js 22 or newer and pnpm 11. Use the pnpm version declared in the
repository package.json.
- If a prerequisite is missing, explain what is missing. Install it through an
official source or winget only when installation is within my request; report
any UAC/manual step before continuing.
- Resolve a normal per-user installation directory. Default to
%USERPROFILE%\invictum-browser-bridge unless I already selected another path.
PHASE 2 — Clone, inspect, install, and build
- Clone the repository with:
git clone https://github.com/invictumhr/ai-invictum-browser-bridge.git
- Enter the repository and verify that origin points to that repository.
- Read README.md, INSTALL_WINDOWS.md, EXTENSION_INSTALL.md, SECURITY.md, and
AGENT_USAGE.md before installation.
- Run the repository secret scan before installation.
- Set CI=true for the install and run:
pnpm install --frozen-lockfile
pnpm build
pnpm typecheck
pnpm test
pnpm lint
- Stop and diagnose any failed gate. Do not continue with a partial build.
- Resolve and show me the exact absolute folder I will need in Chrome:
<repository>\apps\extension\dist
- Copy that folder path to the Windows clipboard if possible.
PHASE 3 — Guide me through loading the Chrome extension
Pause and ask me to do exactly this:
1. Open Google Chrome and go to chrome://extensions.
2. Turn on Developer mode in the top-right corner.
3. Click Load unpacked.
4. Select the exact apps\extension\dist folder you resolved above.
5. Confirm that Invictum Browser Controller appears and is enabled.
6. Copy its 32-character extension ID and send only that ID back to you.
Do not guess or hardcode the extension ID. Validate that the value I provide
matches Chrome's unpacked-extension ID format before using it.
PHASE 4 — Register the local Native Host
- From the repository root, run:
.\scripts\register-native-host-dev.ps1 -ExtensionId "THE_ID_I_PROVIDED"
- Confirm that the script created the per-user Native Messaging registration
for com.invictum.browser_bridge and did not expose a network port.
- If the Windows C# compiler needed by the checked-in launcher is unavailable,
report that exact blocker; do not download or execute an unverified launcher.
PHASE 5 — Finish Chrome configuration
Pause and guide me through these steps:
1. Return to chrome://extensions.
2. Click Reload on Invictum Browser Controller once.
3. Open Details for the extension.
4. Set Site access to On all sites.
5. Confirm the extension remains enabled and has no current error.
6. Optionally pin its toolbar icon so the ON/AI status and settings are easy to
see.
Explain that On all sites prevents a new manual approval for every HTTP(S)
domain, but does not bypass Chrome policy, restricted pages, User Stop, or IBB's
own authorization rules. Wait for my confirmation before testing.
PHASE 6 — Start and verify the bridge
- Run pnpm browser health.
- Run pnpm browser ping. The CLI should automatically start Desktop Authority
as a hidden local daemon if it is offline.
- Run pnpm browser capabilities.
- Verify that Desktop Authority is reachable only through 127.0.0.1:47820, the
private Native Host transport uses 127.0.0.1:47821, nativeConnected is true,
and the loaded extension returns its runtime capabilities.
- Treat runtime capabilities as authoritative. The current source expects 54
browser actions and the built MCP server expects 61 tools, but do not hide a
mismatch or force those numbers if the checked-out release differs.
- If the badge briefly shows ON and disconnects, diagnose Desktop Authority,
the HKCU Native Messaging manifest, its allowed extension ID, the built Native
Host paths, and extension errors. Rebuild/reregister/reload only the component
that is stale.
- Do not ask for a second extension reload unless extension files or its Native
Host registration actually changed.
PHASE 7 — Configure AI clients
- Ask whether I want global IBB/IBG discovery for installed AI clients. If yes,
run:
powershell -ExecutionPolicy Bypass -File
.\scripts\install-agent-discovery.ps1
- This should preserve unrelated Codex, Cursor, and Claude configuration.
- Tell me to start a new AI-agent session after MCP registration changes.
- Verify with a harmless request that performs only IBB ping and capabilities;
do not open a browser tab for this verification.
PHASE 8 — Final report
Report:
- repository installation path and checked-out revision;
- Node.js and pnpm versions;
- build/typecheck/test/lint results;
- Chrome extension ID and loaded dist path (the ID is not a secret);
- Native Host registration status;
- Desktop Authority health and nativeConnected state;
- runtime action count and MCP tool count;
- which AI clients were configured;
- whether any manual action or known limitation remains.
Do not claim success until ping and capabilities work through the normal local
authority. Do not use a temporary test harness that takes over port 47821.Configurar agentes de IA
Después de pnpm build, instala los registros de MCP y las reglas de activación para los agentes locales admitidos:
powershell -ExecutionPolicy Bypass -File .\scripts\install-agent-discovery.ps1Las frases use IBB, use IBG, use Invictum Browser Bridge y use Invictum Browser Gate (además de sus equivalentes en croata) seleccionan este Bridge. Inicia una nueva sesión de agente después de cambiar un registro de MCP.
Consulta la configuración de MCP, el descubrimiento de agentes y el contra to compacto de activación de agentes.
Flujo de trabjo recomendado para agentes
ping -> capabilities -> open/navigate in background -> identify agent -> wait
-> outline/snapshot -> find -> typed action -> verify -> unlock in finallyPrefiere las accions tipadas y las referencias semánticas. Usa capturas de pantalla para la compresión visual, coordenadas solo como recurso final y JavaScript sin procesar únicamente cuando el usuario lo haya autorizado explícitamente y ninguna acción tipada más segura pueda resolver la tarea.
La guía de uso completa está en AGENT_USAGE.md.
Documentación
Empieza por el índice de documentación. Las guías importantes incluyen:
Estructura del repositorio
apps/
cli/ JSON CLI and authority auto-start
desktop/ policy/audit authority and loopback control API
extension/ Manifest V3 Chrome controller
mcp/ stdio MCP adapter
native-host/ Native Messaging stdio <-> private local WebSocket
packages/
agent-sdk/ control client and reserved-tab lifecycle helpers
audit-log/ redacted audit contract and development sink
policy-engine/ fail-closed action classification
protocol/ strict IBP schemas and factories
shared-types/ transport-neutral contracts
tests/
fixtures/ deterministic local browser pages
integration/ emulated transport and real-Chrome smoke testsContribuir
Las incidencias y las pull requests son bienvenidas. Mantén las políticas, la validación, la auditoría, la reserva y la limpieza en la ruta de Desktop Authority; no añadas una segunda ruta de control a la extensión. Ejecuta todos los controles locales antes de abrir una pull request y sigue CONTRIBUTING.md.
Antes de publicar cambios, use la lista de comprobación de datos privados en GIT_PUBLISHING.md.
Licencia
Invictum Browser Bridge es un softare de código abierto distriubuido bja la Licencia MIT. Puede usar, copiar, modificar, fusioanar, publicar, distriibuior, sublicenciar y vendar copias con sujeión a los térmios de la licencia.
Hecho por invictum.hr
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/invictumhr/ai-invictum-browser-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server