mcpField
M
MCP Browser

MCP Browser

ローカル
github.comブラウザ自動化223 週間前に更新

MCP Browser について

MCP Browser は、AI エージェントが実際の WKWebView ページを MCP 経由で操作できる macOS ブラウザーです。ページ操作や内容の読み取り、ネットワーク検査に対応し、データはローカルに保存されます。ローカル限定のサーバーはトークンで保護されます。

主な機能

  1. 01WKWebView のタブブラウジング
  2. 02ナビゲーション・クリック・フォーム操作
  3. 03DOM 読み取り・スクリーンショット・PDF 出力
  4. 04Cookie・ネットワーク・コンソールの確認
  5. 05トークン認証付きローカル HTTP サーバー
  6. 06アップロードとダウンロードのユーザー確認

活用シーン

  1. 01ログイン済みサイトのエージェント操作
  2. 02Web フォームの入力と送信
  3. 03ページ内容やネットワークリクエストの検査
  4. 04ページのスクリーンショットや PDF 保存

MCP 対応

アプリはローカル HTTP 経由で MCP サーバーを公開し、ナビゲーション、DOM 操作、ページ内容、Cookie、ファイルのツールをクライアントに提供します。起動ごとの bearer token を使い、標準では 127.0.0.1 にバインドします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Browser

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

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

ダウンロード

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

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

スクリーンショット

MCP Browser のウィンドウ

MCP Browser のツールと設定

特長

エージェント向けの「ツールとしてのブラウザー」に関する多くの話題は、次の 2 種類に分かれます。

  1. ヘッドレス自動化(Playwright、Puppeteer) — 高速でスクリプトから操作できますが、エージェントは あなた が見ているものを確認できず、ログイン済みのセッションを共有できません。また、信頼しているブラウザーとは異なるエンジンで動作します。
  2. リモート制御のクラウドブラウザー — データがマシンの外に送信され、セッションごとに料金が発生します。

MCP Browser は 3 つ目の選択肢です。Mac 上の実際のブラウザーウィンドウに自分でログインし、ページを移動して利用できます。そして、頼めば LLM が MCP 経由で操作できます。Cookie、履歴、ブックマーク、ダウンロードはローカルに保持されます。エージェントには、あなたと同じページが表示されます。

機能

ブラウザー
  • WKWebView ベースのタブと、Safari スタイルのタブバー(ファビコン、ホバー時の閉じるボタン、均等幅のピル型タブ)
  • 履歴とブックマークのオートコンプリート機能を備えた URL バー
  • ブックマークバー、ブックマーク管理画面、履歴表示、ダウンロードのポップオーバー
  • ページ内検索、ホストごとに保持されるズーム倍率、ピクチャ・イン・ピクチャコントローラー
  • ブックマークのインポート(HTML / Safari / Chrome 形式)
  • タブごとの Cookie とネットワークの記録
MCP サーバー
  • ポート 8833(変更可能)の ローカル HTTP トランスポート — JSON-RPC 用の POST /mcp、SSE 形式のステータス表示用の GET /mcp
  • 起動ごとに発行され、設定から再生成できるトークンを使用した ベアラートークン認証
  • Host ヘッダーを 127.0.0.1 / localhost と照合する DNS リバインディング対策
  • MCPRegistrar を介した一般的な MCP クライアント(Claude Desktop、Codex など)への 自動登録
  • ツール操作ログ — すべてのツール呼び出しについて、引数、結果の概要、所要時間を記録
ツール(現在のカタログ)
  • ページ移動 — navigate、back、forward、reload、current_url、current_title
  • タブ — 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
  • ページコンテンツ — 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 が返されます
  • Origin / Host の検証 — 悪意のあるローカル Web ページからの DNS リバインディング攻撃をブロック
  • ダウンロード、アップロード、および dialog とのすべてのやり取りで ユーザーの確認が必要
  • デフォルトではローカルのみ — サーバーは 127.0.0.1 にバインドされ、パブリックネットワークには公開されません
  • 設定画面の 操作ログ → エージェントがブラウザーで行った操作を正確に確認できます

必要条件

  • macOS 14 以降(Sonoma 以降)
  • ソースからビルドする場合は Xcode 16 以降

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

  1. リリースページから最新の DMG をダウンロードします。
  2. MCP Browser を /Applications にドラッグして起動します。
  3. Settings → Connection を開き、ベアラートークンと MCP エンドポイント URL をコピーします。
  4. MCP クライアント(Claude Desktop、Codex など)にサーバーを追加します。アプリの Settings → MCP Clients タブでは、一般的なクライアントの設定を自動で書き換えられます。
  5. 通常どおりブラウズします。LLM がウェブ上で何かを行う必要がある場合、MCP 経由でツールを呼び出し、その操作がログに表示されます。

はじめに(開発者向け)

  1. このリポジトリをクローンします。
  2. MCP Browser.xcodeproj を Xcode で開きます。
  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_IDENTIFIER を com.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 → Connection で Regenerate 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 クライアント設定ファイルを書き換える
  • 明示的に要求された場合に、外部スキームを開くなど、ほかのアプリを操作する

次のことは行いません。

  • ループバック(127.0.0.1)以外のネットワークインターフェースにバインドする
  • 起動ごとに生成されるベアラートークンなしで接続を受け付ける
  • Host ヘッダーが 127.0.0.1 または localhost と一致しないリクエストを受け付ける(DNS リバインディング防御)
  • 独自にマシン外へデータを送信する

セキュリティ監査に関心がある場合、HTTP の全エンドポイントは MCP Browser/MCP/MCPServer.swift にあり、約 400 行です。

既知の制限事項

  • アクションログは、まだ UI から遡って検索できません。
  • マルチウィンドウに対応していますが、MCP コーディネーターは最後にフォーカスされたウィンドウにのみルーティングします。
  • サイトの OAuth とベーシック認証のフローは WebKit が処理します。MCP Browser 自体はパスワードを保存しません。現時点では、Safari/Chrome のインポートを通じてシステムのキーチェーンを使用してください。
  • モバイル/iOS ビルドはありません。このツールは Mac 専用です。

コントリビューション

バグの報告、機能のリクエスト、プルリクエストの送信方法については、CONTRIBUTING.md をご覧ください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。