Skip to main content
Glama
mcp-browser
by brainfuel

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.

Related MCP server: Ghostlight

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 tú 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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      An MCP server that lets AI assistants drive real Chromium browsers — navigate, click, type, read pages, run OCR, and record network traffic. 43 tools, credentials stay local, zero telemetry.
      -
    • A
      license
      A
      quality
      B
      maintenance
      MCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.
      25
      1
      Apache 2.0
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables any MCP-capable AI client to drive the user's own Chrome or Edge browser through a set of browse_* tools — navigating, clicking, typing, extracting, and managing tabs with their existing logins on their own machine. Runs locally and self-hosted with a live viewport and pause/approve controls so every verified step stays under user watch.
      4
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      A local MCP server that lets AI coding tools drive the user's actual, already-logged-in Chrome browser — snapshotting pages, clicking, typing, navigating, reading content, taking screenshots, and inspecting cookies, network traffic, and console output. Browser automation happens through a Chrome extension using Native Messaging, so no remote-debugging port is exposed and all communication stays on the local machine.
      1 npm
      ISC