mcp-browser
MCP Browser
Ein nativer macOS-Webbrowser, der sich selbst als Model Context Protocol-Server bereitstellt, sodass KI-Agenten einen echten WKWebView genauso steuern können wie ein Mensch – navigieren, klicken, Formulare ausfüllen, das DOM lesen, Screenshots machen, JavaScript ausführen sowie Netzwerk- und Konsolenaktivitäten erfassen.
Erstellt mit SwiftUI + WKWebView. Der MCP-Server läuft im Prozess über lokales HTTP mit Bearer-Token-Authentifizierung und Schutz gegen DNS-Rebinding.
Download
⬇ Laden Sie den neuesten macOS-Build herunter – signiertes, notariell beglaubigtes .dmg für Apple Silicon.
Öffnen Sie nach dem Herunterladen das DMG und ziehen Sie MCP Browser in Ihren Programme-Ordner.
Screenshots


Warum
Die meisten „Browser-als-Tool“-Ansätze für Agenten fallen in zwei Kategorien:
Headless-Automatisierung (Playwright, Puppeteer) – schnell und skriptfähig, aber der Agent sieht nie das, was Sie sehen, kann Ihre angemeldeten Sitzungen nicht teilen und läuft in einer anderen Browser-Engine als der, der Sie vertrauen.
Ferngesteuerte Cloud-Browser – Ihre Daten verlassen Ihren Rechner und Sie zahlen pro Sitzung.
MCP Browser ist die dritte Option: ein echtes Browserfenster auf Ihrem Mac, in dem Sie sich anmelden, navigieren und das Sie selbst nutzen – und das ein LLM über MCP steuern kann, wenn Sie es dazu auffordern. Cookies, Verlauf, Lesezeichen und Downloads bleiben lokal. Der Agent sieht dieselbe Seite wie Sie.
Funktionen
Browser
WKWebView-basierte Tabs mit einer Tab-Leiste im Safari-Stil (Favicons, Schließen beim Drüberfahren, gleich breite Tabs)
URL-Leiste mit Autovervollständigung für Verlauf + Lesezeichen
Lesezeichenleiste, vollständiger Lesezeichen-Manager, Verlaufsansicht, Downloads-Popover
Auf Seite suchen, Zoom-Persistenz pro Host, Bild-im-Bild-Controller
Lesezeichen-Importeur (HTML / Safari / Chrome-Formate)
Cookie- und Netzwerkerfassung pro Tab
MCP-Server
Lokaler HTTP-Transport auf Port
8833(konfigurierbar) –POST /mcpfür JSON-RPC,GET /mcpfür SSE-artigen StatusBearer-Token-Authentifizierung mit einem Token pro Start, neu generierbar über die Einstellungen
Schutz gegen DNS-Rebinding –
Host-Header wird gegen127.0.0.1/localhostvalidiertAutomatische Registrierung bei gängigen MCP-Clients (Claude Desktop, Codex, etc.) via
MCPRegistrarTool-Aktionsprotokoll – jeder Tool-Aufruf wird mit Argumenten, Ergebniszusammenfassung und Zeitangaben aufgezeichnet
Tools (aktueller Katalog)
Navigation –
navigate,back,forward,reload,current_url,current_titleTabs –
list_tabs,new_tab,switch_tab,close_tabDOM –
click,fill,submit,hover,press_key,type_text,scroll,find_in_page,get_element,accessibility_treeSeiteninhalt –
read_text,read_page,page_metadata,screenshot,pdf_export,render_html,eval_js,find,list_links,list_formsCookies / Speicher –
get_cookies,set_cookie,storage,clear_sessionLesezeichen –
list_bookmarks,open_bookmark_folderInspektion –
console_logs,network_log,dialogDateien –
download,upload_file(durch Benutzerberechtigung geschützt)Sonstiges –
wait_for,emulate,resize
Siehe MCP Browser/MCP/MCPToolCatalog.swift für die maßgebliche Liste.
Datenschutz & Sicherheit
Bearer-Token pro Start – Clients ohne dieses erhalten
401 UnauthorizedUrsprungs- / Host-Validierung – blockiert DNS-Rebinding-Angriffe von einer bösartigen lokalen Webseite
Benutzerbestätigung für Downloads, Uploads und alle
dialog-InteraktionenStandardmäßig nur lokal – Server bindet an
127.0.0.1, niemals an das öffentliche NetzwerkAktionsprotokoll in den Einstellungen → Sie können genau sehen, was ein Agent in Ihrem Browser getan hat
Anforderungen
macOS 14+ (Sonoma oder neuer)
Xcode 16+ zum Erstellen aus dem Quellcode
Erste Schritte (Benutzer)
Laden Sie das neueste DMG von der Releases-Seite herunter.
Ziehen Sie MCP Browser nach
/Programmeund starten Sie es.Öffnen Sie Einstellungen → Verbindung, um das Bearer-Token und die MCP-Endpunkt-URL zu kopieren.
Fügen Sie den Server in Ihrem MCP-Client (Claude Desktop, Codex, etc.) hinzu. Der Tab Einstellungen → MCP-Clients der App kann die Konfiguration für die gängigsten Clients automatisch anpassen.
Surfen Sie normal. Wenn das LLM etwas im Web tun muss, ruft es die Tools über MCP auf und Sie sehen die Aktion im Protokoll.
Erste Schritte (Entwickler)
Klonen Sie dieses Repository.
Öffnen Sie
MCP Browser.xcodeprojin Xcode.Wählen Sie das Schema
MCP Browseraus.Erstellen und ausführen auf Mein Mac.
CLI-Build:
xcodebuild -project "MCP Browser.xcodeproj" -scheme "MCP Browser" -configuration Debug buildErstellen Ihres eigenen Forks
Das Projekt wird mit den Signierungseinstellungen des ursprünglichen Autors ausgeliefert. Wenn Sie einen Fork erstellen, um Ihre eigene Kopie zu erstellen und zu verteilen:
Entwicklungsteam – öffnen Sie das
MCP Browser-Target in Xcode → Signing & Capabilities → wählen Sie Ihr eigenes Team aus. Dies schreibtDEVELOPMENT_TEAMinMCP Browser.xcodeproj/project.pbxprojum.Bundle-Identifikator – ändern Sie
PRODUCT_BUNDLE_IDENTIFIERvoncom.moosia.mcp-browserin etwas, das Ihnen gehört.Es sind keine API-Schlüssel enthalten. MCP Browser ruft selbst keinen LLM-Anbieter auf – es stellt lediglich Tools für den Client bereit, der sich verbindet.
Konfiguration eines MCP-Clients
Die meisten MCP-Clients akzeptieren einen HTTP-Transport-Block. Beispiel für claude_desktop_config.json:
{
"mcpServers": {
"mcp-browser": {
"transport": "http",
"url": "http://127.0.0.1:8833/mcp",
"headers": {
"Authorization": "Bearer <token-from-settings>"
}
}
}
}Der mitgelieferte Tab MCP-Clients in den Einstellungen kann dies für die bekannten Clients (Claude Desktop, Codex, etc.) für Sie schreiben – wählen Sie den Client aus, klicken Sie auf MCP Browser hinzufügen, und die Datei wird direkt angepasst.
Das Token wird jedes Mal rotiert, wenn Sie in den Einstellungen unter Verbindung auf Token neu generieren klicken. Passen Sie Ihre Clients nach der Rotation erneut an.
Datenspeicherung
Lesezeichen, Verlauf, Zoom-pro-Host, Downloads und das Aktionsprotokoll werden lokal mit
PersistentStore(dateibasiert) und gegebenenfalls SwiftData gespeichert.Das Bearer-Token wird in
UserDefaultsgespeichert. Es wird über Einstellungen → Verbindung neu generiert, wann immer Sie bestehende Clients widerrufen möchten.Favicons werden auf der Festplatte unter Application Support zwischengespeichert.
Keine Telemetrie. Keine Cloud-Synchronisierung. Nichts verlässt den Rechner, es sei denn, ein von Ihnen aufgerufenes MCP-Tool verursacht dies.
Projektstruktur
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 wiringWichtige Dateien
MCP/MCPServer.swift–NWListener-basierter HTTP/JSON-RPC-Server, Authentifizierung, Rebind-SchutzMCP/MCPCoordinator.swift– leitet Tool-Aufrufe an den aktiven Tab des fokussierten Fensters weiterMCP/MCPToolCatalog.swift– Registrierung aller bereitgestellten ToolsMCP/MCPSecret.swift– Keychain-basiertes Bearer-TokenBrowser/BrowserTab.swift–@Observable-Modell pro Tab, dasWKWebViewumschließtBrowser/WebViewHost.swift–NSViewRepresentable-Brücke
Sicherheitsmodell
MCP Browser läuft bewusst ohne Sandbox, damit es:
MCP-Client-Konfigurationsdateien in
~/Library/Application Support/~/.configanpassen kannAndere Apps steuern kann (z. B. externe Schemas öffnen), wenn dies ausdrücklich angefordert wird
Es:
Bindet keine andere Netzwerkschnittstelle als Loopback (
127.0.0.1)Akzeptiert keine Verbindungen ohne das Bearer-Token pro Start
Berücksichtigt keine Anfragen, deren
Host-Header nicht mit127.0.0.1oderlocalhostübereinstimmt (Schutz gegen DNS-Rebinding)Sendet von sich aus nichts vom Rechner weg
Wenn Sie sicherheitsorientiert sind: Die gesamte HTTP-Oberfläche befindet sich in MCP Browser/MCP/MCPServer.swift und umfasst etwa 400 Zeilen.
Bekannte Einschränkungen
Das Aktionsprotokoll ist über die Benutzeroberfläche noch nicht rückwirkend durchsuchbar.
Multi-Window-Unterstützung ist vorhanden, aber der MCP-Koordinator leitet nur an das zuletzt fokussierte Fenster weiter.
Die OAuth- und Basic-Auth-Abläufe für Websites werden von WebKit gehandhabt; MCP Browser selbst speichert keine Passwörter. Verwenden Sie vorerst den System-Keychain durch Safari/Chrome-Import.
Kein Mobile/iOS-Build – dies ist ein reines Mac-Tool.
Mitwirken
Siehe CONTRIBUTING.md, wie Sie Fehler melden, Funktionen anfordern und Pull Requests einreichen können.
Lizenz
This server cannot be installed
Maintenance
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