Skip to main content
Glama

MCP Browser

Un navegador web nativo para macOS que se expone a sí mismo como un servidor del Protocolo de Contexto de Modelo (MCP), para que los agentes de IA puedan controlar un WKWebView real de la misma manera que lo haría una persona: navegar, hacer clic, rellenar formularios, leer el DOM, tomar capturas de pantalla, ejecutar JavaScript y capturar la actividad de la red y la consola.

Construido con SwiftUI + WKWebView. El servidor MCP se ejecuta en el proceso a través de HTTP local con autenticación de token de portador y defensa contra el rebinding de DNS.

Descarga

⬇ Descarga la última versión para macOS: .dmg firmado y notariado para Apple Silicon.

Después de descargar, abre el DMG y arrastra MCP Browser a tu carpeta de Aplicaciones.

Capturas de pantalla

Ventana de MCP Browser

Herramientas y configuración de MCP Browser

Por qué

La mayoría de las historias de "navegador como herramienta" para agentes se dividen en dos campos:

  1. Automatización sin interfaz (headless) (Playwright, Puppeteer): rápido y programable, pero el agente nunca ve lo que ves, no puede compartir tus sesiones iniciadas y se ejecuta en un motor de navegador diferente al que tú confías.

  2. Navegadores en la nube controlados remotamente: tus datos salen de tu máquina y pagas por sesión.

MCP Browser es la tercera opción: una ventana de navegador real en tu Mac en la que inicias sesión, navegas y usas tú mismo, y que un LLM puede controlar a través de MCP cuando se lo pides. Las cookies, el historial, los marcadores y las descargas permanecen locales. El agente ve la misma página que tú.

Características

Navegador

  • Pestañas respaldadas por WKWebView con una barra de pestañas al estilo Safari (favicons, cierre al pasar el ratón, píldoras de igual ancho)

  • Barra de URL con autocompletado de historial y marcadores

  • Barra de marcadores, gestor completo de marcadores, vista de historial, ventana emergente de descargas

  • Buscar en página, persistencia de zoom por host, controlador de imagen en imagen

  • Importador de marcadores (formatos HTML / Safari / Chrome)

  • Captura de cookies y red por pestaña

Servidor MCP

  • Transporte HTTP local en el puerto 8833 (configurable): POST /mcp para JSON-RPC, GET /mcp para estado estilo SSE

  • Autenticación de token de portador con un token por lanzamiento, regenerable desde Configuración

  • Defensa contra rebinding de DNS: encabezado Host validado contra 127.0.0.1 / localhost

  • Autorregistro con clientes MCP comunes (Claude Desktop, Codex, etc.) a través de MCPRegistrar

  • Registro de acciones de herramientas: cada llamada a una herramienta se registra con argumentos, resumen de resultados y tiempo

Herramientas (catálogo actual)

  • Navegación: navigate, back, forward, reload, current_url, current_title

  • Pestañas: list_tabs, new_tab, switch_tab, close_tab

  • DOM: click, fill, submit, hover, press_key, type_text, scroll, find_in_page, get_element, accessibility_tree

  • Contenido de página: read_text, read_page, page_metadata, screenshot, pdf_export, render_html, eval_js, find, list_links, list_forms

  • Cookies / almacenamiento: get_cookies, set_cookie, storage, clear_session

  • Marcadores: list_bookmarks, open_bookmark_folder

  • Inspección: console_logs, network_log, dialog

  • Archivos: download, upload_file (restringido por permiso del usuario)

  • Varios: wait_for, emulate, resize

Consulta MCP Browser/MCP/MCPToolCatalog.swift para ver la lista oficial.

Privacidad y seguridad

  • Token de portador por lanzamiento: los clientes sin él reciben 401 Unauthorized

  • Validación de origen / host: bloquea ataques de rebinding de DNS desde una página web local maliciosa

  • Confirmación del usuario para descargas, subidas y cualquier interacción de dialog

  • Solo local por defecto: el servidor se vincula a 127.0.0.1, nunca a la red pública

  • Registro de acciones en Configuración: puedes ver exactamente lo que un agente ha hecho en tu navegador

Requisitos

  • macOS 14+ (Sonoma o posterior)

  • Xcode 16+ para compilar desde el código fuente

Primeros pasos (usuarios)

  1. Descarga el último DMG desde la página de Releases.

  2. Arrastra MCP Browser a /Applications y ábrelo.

  3. Abre Configuración → Conexión para copiar el token de portador y la URL del endpoint MCP.

  4. En tu cliente MCP (Claude Desktop, Codex, etc.) añade el servidor. La pestaña Configuración → Clientes MCP de la aplicación puede parchear la configuración para los clientes más comunes automáticamente.

  5. Navega normalmente. Cuando el LLM necesite hacer algo en la web, llamará a las herramientas a través de MCP y verás la acción en el registro.

Primeros pasos (desarrolladores)

  1. Clona este repositorio.

  2. Abre MCP Browser.xcodeproj en Xcode.

  3. Selecciona el esquema MCP Browser.

  4. Compila y ejecuta en My Mac.

Compilación CLI:

xcodebuild -project "MCP Browser.xcodeproj" -scheme "MCP Browser" -configuration Debug build

Compilando tu propia bifurcación

El proyecto se envía con la configuración de firma del autor original. Si estás bifurcando para compilar y distribuir tu propia copia:

  1. Equipo de desarrollo: abre el objetivo MCP Browser en Xcode → Signing & Capabilities → elige tu propio equipo. Esto reescribe DEVELOPMENT_TEAM en MCP Browser.xcodeproj/project.pbxproj.

  2. Identificador de paquete: cambia PRODUCT_BUNDLE_IDENTIFIER de com.moosia.mcp-browser a uno que poseas.

  3. No se incluyen claves API. MCP Browser no llama a ningún proveedor de LLM por sí mismo; solo sirve herramientas a cualquier cliente que se conecte.

Configuración de un cliente MCP

La mayoría de los clientes MCP aceptan un bloque de transporte HTTP. Ejemplo para claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-browser": {
      "transport": "http",
      "url": "http://127.0.0.1:8833/mcp",
      "headers": {
        "Authorization": "Bearer <token-from-settings>"
      }
    }
  }
}

La pestaña de configuración de Clientes MCP incluida puede escribir esto por ti para los clientes que conoce (Claude Desktop, Codex, etc.): elige el cliente, pulsa Añadir MCP Browser y parcheará el archivo en su lugar.

El token rota cada vez que haces clic en Regenerar token en Configuración → Conexión. Vuelve a parchear tus clientes después de rotar.

Almacenamiento de datos

  • Los marcadores, el historial, el zoom por host, las descargas y el registro de acciones se almacenan localmente con PersistentStore (respaldado por archivos) y SwiftData cuando corresponde.

  • El token de portador se almacena en UserDefaults. Se regenera desde Configuración → Conexión siempre que desees revocar clientes existentes.

  • Los favicons se almacenan en caché en el disco bajo Application Support.

  • Sin telemetría. Sin sincronización en la nube. Nada sale de la máquina a menos que una herramienta MCP que invoques lo provoque.

Estructura del proyecto

MCP Browser/
├── Browser/         WKWebView wrapper, tab model, presenter, scripts, PiP
├── MCP/             MCP server, JSON-RPC, host protocol, tool catalog
│   ├── Registrar/   Auto-config patcher for Claude Desktop / Codex / etc.
│   └── Tools/       Tool implementations (navigation, DOM, content, etc.)
├── Settings/        Settings tabs (general, privacy, connection, recorder, etc.)
├── Storage/         Bookmarks, history, downloads, favicons, action log
├── Views/           Bookmarks bar, bookmarks manager, history, downloads popover
├── ContentView.swift     Top-level window layout, tab strip, URL bar
├── AppCommands.swift     Menu bar commands and keyboard shortcuts
└── MCP_BrowserApp.swift  App entry point and environment wiring

Archivos clave

Modelo de seguridad

MCP Browser se ejecuta deliberadamente sin sandbox para que pueda:

  • Parchear archivos de configuración de clientes MCP en ~/Library/Application Support / ~/.config

  • Controlar otras aplicaciones (p. ej., abrir esquemas externos) cuando se le solicite explícitamente

No:

  • Vincula ninguna interfaz de red que no sea loopback (127.0.0.1)

  • Acepta conexiones sin el token de portador por lanzamiento

  • Atiende solicitudes cuyo encabezado Host no coincida con 127.0.0.1 o localhost (defensa contra rebinding de DNS)

  • Envía nada fuera de la máquina por sí mismo

Si te preocupa la auditoría, toda la superficie HTTP está en MCP Browser/MCP/MCPServer.swift y tiene aproximadamente 400 líneas.

Limitaciones conocidas

  • El registro de acciones aún no se puede buscar retroactivamente desde la interfaz de usuario.

  • Existe soporte para múltiples ventanas, pero el coordinador MCP solo enruta a la ventana enfocada más recientemente.

  • Los flujos de OAuth y autenticación básica para sitios son manejados por WebKit; MCP Browser en sí no almacena contraseñas. Usa el llavero del sistema a través de la importación de Safari/Chrome por ahora.

  • No hay compilación para móvil/iOS: esta es una herramienta solo para Mac.

Contribución

Consulta CONTRIBUTING.md para saber cómo informar errores, solicitar funciones y enviar solicitudes de extracción.

Licencia

MIT

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
3dResponse time
6dRelease cycle
2Releases (12mo)
Commit activity

Latest Blog Posts

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/brainfuel/mcp-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server