Skip to main content
Glama

MCP Browser

Model Context Protocolサーバーとして機能するmacOSネイティブのWebブラウザです。AIエージェントが、人間と同じように実際のWKWebViewを操作(ナビゲーション、クリック、フォーム入力、DOMの読み取り、スクリーンショット撮影、JavaScript実行、ネットワークやコンソールの活動のキャプチャ)できます。

SwiftUI + WKWebViewで構築されています。MCPサーバーはローカルHTTP上でプロセス内実行され、ベアラートークン認証とDNSリバインディング対策を備えています。

ダウンロード

⬇ 最新のmacOSビルドをダウンロード — Apple Silicon用の署名・公証済み.dmgファイルです。

ダウンロード後、DMGを開き、MCP Browserをアプリケーションフォルダにドラッグしてください。

スクリーンショット

MCP Browserのウィンドウ

MCP Browserのツールと設定

目的

エージェント向けの「ツールとしてのブラウザ」の多くは、以下の2つのキャンプに分かれています。

  1. ヘッドレス自動化(Playwright、Puppeteer) — 高速でスクリプト可能ですが、エージェントはユーザーが見ているものを見ることができず、ログインセッションを共有できず、ユーザーが信頼するブラウザエンジンとは異なるエンジンで実行されます。

  2. リモート制御のクラウドブラウザ — データがマシンから外部へ送信され、セッションごとに料金が発生します。

MCP Browserは第3の選択肢です。Mac上で実際に動作するブラウザウィンドウであり、ユーザー自身がログインしてナビゲートし、使用できます。そして、必要に応じてLLMがMCPを通じて操作することも可能です。Cookie、履歴、ブックマーク、ダウンロードはローカルに保持されます。エージェントはユーザーと同じページを見ることができます。

機能

ブラウザ

  • Safariスタイルのタブストリップ(ファビコン、ホバー時の閉じるボタン、等幅のタブ)を備えたWKWebViewベースのタブ

  • 履歴とブックマークのオートコンプリート機能付きURLバー

  • ブックマークバー、完全なブックマークマネージャー、履歴ビュー、ダウンロードポップオーバー

  • ページ内検索、ホストごとのズーム設定の永続化、ピクチャー・イン・ピクチャーコントローラー

  • ブックマークインポーター(HTML / Safari / Chrome形式)

  • タブごとのCookieおよびネットワークキャプチャ

MCPサーバー

  • ポート8833(設定可能)でのローカルHTTPトランスポート — JSON-RPC用のPOST /mcp、SSEスタイルのステータス用のGET /mcp

  • 起動ごとのトークンによるベアラートークン認証(設定から再生成可能)

  • DNSリバインディング対策127.0.0.1 / localhostに対して検証されたHostヘッダー

  • MCPRegistrarを介した一般的なMCPクライアント(Claude Desktop、Codexなど)への自動登録

  • ツールアクションログ — すべてのツール呼び出しが引数、結果の要約、タイミングとともに記録されます

ツール(現在のカタログ)

  • ナビゲーションnavigate, back, forward, reload, current_url, current_title

  • タブlist_tabs, new_tab, switch_tab, close_tab

  • DOMclick, fill, submit, hover, press_key, type_text, scroll, find_in_page, get_element, accessibility_tree

  • ページコンテンツread_text, read_page, page_metadata, screenshot, pdf_export, render_html, eval_js, find, list_links, list_forms

  • Cookie / ストレージget_cookies, set_cookie, storage, clear_session

  • ブックマークlist_bookmarks, open_bookmark_folder

  • インスペクションconsole_logs, network_log, dialog

  • ファイルdownload, upload_file(ユーザーの許可が必要)

  • その他wait_for, emulate, resize

公式リストについては MCP Browser/MCP/MCPToolCatalog.swift を参照してください。

プライバシーと安全性

  • 起動ごとのベアラートークン — トークンがないクライアントは401 Unauthorizedを受け取ります

  • オリジン / ホスト検証 — 悪意のあるローカルWebページからのDNSリバインディング攻撃をブロックします

  • ダウンロード、アップロード、およびすべてのdialog操作に対するユーザー確認

  • デフォルトでローカルのみ — サーバーは127.0.0.1にバインドされ、パブリックネットワークには公開されません

  • 設定内のアクションログ — エージェントがブラウザ内で何を行ったかを正確に確認できます

要件

  • macOS 14+ (Sonoma以降)

  • ソースからビルドする場合はXcode 16+

はじめに(ユーザー向け)

  1. Releasesページから最新のDMGをダウンロードします。

  2. MCP Browser/Applicationsにドラッグして起動します。

  3. Settings → Connectionを開き、ベアラートークンとMCPエンドポイントURLをコピーします。

  4. MCPクライアント(Claude Desktop、Codexなど)でサーバーを追加します。アプリのSettings → MCP Clientsタブから、一般的なクライアントの設定を自動的にパッチできます。

  5. 通常通りブラウジングします。LLMがWeb上で何かを行う必要がある場合、MCPを通じてツールを呼び出し、アクションがログに記録されます。

はじめに(開発者向け)

  1. このリポジトリをクローンします。

  2. XcodeでMCP Browser.xcodeprojを開きます。

  3. MCP Browserスキームを選択します。

  4. My Macでビルドして実行します。

CLIビルド:

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

独自のフォークをビルドする

このプロジェクトには、元の著者の署名設定が含まれています。独自のコピーをビルドして配布するためにフォークする場合は、以下を行ってください。

  1. 開発チーム — XcodeでMCP Browserターゲットを開き、Signing & Capabilitiesで自分のチームを選択します。これにより、MCP Browser.xcodeproj/project.pbxproj内のDEVELOPMENT_TEAMが書き換えられます。

  2. バンドル識別子PRODUCT_BUNDLE_IDENTIFIERcom.moosia.mcp-browserから所有するものに変更します。

  3. APIキーはバンドルされていません。 MCP Browser自体はLLMプロバイダーを呼び出しません。接続されたクライアントに対してツールを提供するだけです。

MCPクライアントの設定

ほとんどのMCPクライアントはHTTPトランスポートブロックを受け入れます。claude_desktop_config.jsonの例:

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

バンドルされているMCP Clients設定タブから、対応しているクライアント(Claude Desktop、Codexなど)向けの設定を自動的に書き込むことができます。クライアントを選択し、Add MCP Browserを押すと、設定ファイルが自動的にパッチされます。

トークンはSettings → ConnectionRegenerate tokenをクリックするたびに更新されます。更新後はクライアントの設定を再パッチしてください。

データストレージ

  • ブックマーク、履歴、ホストごとのズーム設定、ダウンロード、アクションログは、必要に応じてPersistentStore(ファイルベース)およびSwiftDataを使用してローカルに保存されます。

  • ベアラートークンはUserDefaultsに保存されます。既存のクライアントを無効にしたい場合は、Settings → Connectionからいつでも再生成できます。

  • ファビコンはApplication Support配下のディスクにキャッシュされます。

  • テレメトリはありません。クラウド同期はありません。呼び出したMCPツールが原因でない限り、マシンからデータが送信されることはありません。

プロジェクト構造

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

主要ファイル

セキュリティモデル

MCP Browserは、以下の操作を可能にするために意図的にサンドボックス化されていません:

  • ~/Library/Application Support / ~/.config内のMCPクライアント設定ファイルのパッチ

  • 明示的に要求された場合に

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