Yab, Yet Another Browser について
Yab, Yet Another Browserは、エージェントにログイン済みタブ、ページ、ブラウザー操作へのアクセスを提供するMac向けWebKitブラウザーです。MCPサーバーを通じて既存のCookieと承認設定をローカルで利用でき、保存済みパスワードはエージェントに表示されません。
主な機能
- 01ブラウザータブを開いて操作
- 02テキストやスナップショットでページを読む
- 03クリック、入力、フォーム記入
- 04既存のログイン状態とCookieを利用
- 05重要な操作に承認を要求
活用シーン
- 01ログイン済みブラウザーでページを読む
- 02保存済みプロフィール情報でフォームを記入
- 03承認を挟んでブラウザーを操作
- 04Macにブラウザー作業を委任
MCP 対応
MCPサーバーはstdio経由でクライアントの通信をYabに渡し、ブラウザーツールを公開します。リモートモードでは、別のコンピューター上のアシスタント向けにstdioでJSON-RPCを中継できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
69掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tab | string | はい | `open` または `tabs` が返したタブ ID |
詳細
yab-mcp
Claude Code、Codex、Cursor、およびすべての MCP クライアント向けの、Yab(Yet Another Browser)の MCP サーバーです。
Yab(Yet Another Browser)は、Mac 向けの無料の WebKit ブラウザーです。このサーバーを使うと、どのエージェントも Mac 上で、あなたがサインインしている実際のブラウザーを利用できます。エージェントはあなたのタブの横に自分専用のタブを開き、ページをテキストとして読み取り、あなたのサインイン情報、Cookie、IP を使ってクリックや入力、フォームの記入を行います。クラウドブラウザーも、デバッグポートも、セットアップが必要な Chrome もなく、無料です。Send、Pay、Delete などを押すと、Yab の設定で Bypass を選んでいない限り、Yab に表示されるカードであなたの承認を待ちます。その承認を保持するのはモデルではなく、ブラウザーです。保存済みのパスワードは Yab が入力し、エージェントに表示されることはありません。エージェントのタブは画面外のウィンドウに表示され、あなたが求めたときだけ前面に出ます。Yab を終了した状態で最初に呼び出すと、ウィンドウも Dock のタイルも表示せずに起動し、何も操作がない状態が30分続くと終了します。yab serve を実行すると、その状態で起動し続けます。
Yab をダウンロード · 開発者向け · マニュアル
リモートアシスタント(0.2.0 プレビュー)
アシスタントを実行しているコンピューターで、npx yab-mcp login --client dots を実行します。
Yab の Connect フローで nonce が提示されたら、その値を指定して --nonce を追加します。
コードを出力してすぐに戻ります。バックグラウンドプロセスが、ユーザーが Yab で許可した後に接続を保存します。
Mac 上の Yab では、Settings > AI > Assistants の下に8文字のコードが表示されます。
そこでユーザーが許可したら、作業の実行方法を選びます。
- ブラウザーを直接操作: アシスタントの MCP サーバーを、コマンド
npx、引数["-y", "yab-mcp", "--remote"]で設定します。アシスタントは、自身のモデル/アカウントを使ってopen、snapshot、click、typeなどを自分で呼び出します。--remoteは stdio 経由で JSON-RPC を中継します。自然言語のプロンプトを受け付けたり、Yab のモデル実行を開始したりするものではありません。taskMCP ツールを呼び出すと、引き続き処理が委任されます。 - 委任:
npx yab-mcp task "Find a table for Friday"を実行すると、Mac 上の Yab で Tasks 用に選択されているモデルを使って、別のエージェントが開始されます。ChatGPT(Codex 経由)はユーザーの ChatGPT 利用上限を消費し、Claude は代わりにユーザーの Claude プランを使います。シェルのみで動作するボットからも含め、そのプランを使うつもりの場合はこちらを選んでください。 セッション ID を出力して戻ります。次の更新を確認するにはnpx yab-mcp status SESSIONを実行します。Mac が再接続した後に最新のタスクを確認するにはnpx yab-mcp statusを実行します。 完了と表示されるまで繰り返します。
どちらのモードでも、アシスタントが既に持っているアカウントへのアクセス権と承認設定が維持されます。
接続トークンは ~/.config/yab-mcp/auth.json(モード 0600)、または YAB_MCP_AUTH_FILE で指定したパスに保存されます。ホームフォルダーが読み取り専用の場合(一部のボットのコンピューターなど)、現在のフォルダーで書き込み可能な最初の場所である /workspace/shared/.yab-mcp/、/workspace/.yab-mcp/、.yab-mcp/ のいずれかに保存されます。ユーザーが許可するのを待つバックグラウンドプロセスをコンピューターが終了させた場合、次に task、status、または --remote を実行すると接続が完了します。
YAB_MCP_URL でテストサーバーを選択できます。本番環境では https://yab-sync.21st.workers.dev を使用します。
引数なしの npx yab-mcp を実行すると、ローカルアプリの MCP サーバーが起動します。
要件
- macOS 15.4以降を搭載した Mac。
- Yab(無料):ダウンロード。自動で更新されます。
- Yab でエージェントを許可します:Settings › AI › Agents › Let agents use Yab。許可するまでは、呼び出しのたびにその旨が表示されます。
npx用の Node.js 18以降。クライアントは Node を使わずに Yab を直接実行することもできます:Node なしで使うをご覧ください。
Chrome をメインのブラウザーとして使っていますか?Yab は、通常は閉じた状態で、引き続きエージェント用のブラウザーとして使えます。yab import chrome を実行すると、Yab で許可した後に Chrome のサインイン情報が Yab に取り込まれるため、エージェントがサインインページに遭遇する回数が減ります。
すでに Yab をお使いですか?Settings › Developers からワンクリックで Claude Code と Codex に追加できます。また、Copy Config では、その他のクライアント向けの JSON を取得できます。その場合、このパッケージは不要です。
インストール
Claude Code
このプラグインは、ツールと Yab のスキルを追加します。
/plugin marketplace add yetanotherbrowser/yab-mcp
/plugin install yab@yab-mcp
シェルから、claude plugin marketplace add yetanotherbrowser/yab-mcpを実行し、続けてclaude plugin install yab@yab-mcpを実行します。
ツールのみの場合:
claude mcp add --scope user yab-browser -- npx -y yab-mcp
Yab の「設定」›「開発者」ですでに Yab を Claude Code に追加している場合は、これをスキップしてください。同じツールが二重に登録されます。
Codex
プラグイン、ツール、スキル:
codex plugin marketplace add yetanotherbrowser/yab-mcp
codex plugin add yab@yab-mcp
または、~/.codex/config.tomlにツールのみを追加します。
[mcp_servers.yab-browser]
command = "npx"
args = ["-y", "yab-mcp"]
tool_timeout_sec = 900
default_tools_approval_mode = "approve"
tool_timeout_secを設定すると、Yab からの確認を待つ間、呼び出しを最大15分間待機させられます。プラグインでは Codex のデフォルトである5のままです。default_tools_approval_modeを設定すると、Yab の各ツールを使う前に Codex が毎回確認するのを停止できます。ただし、Send、Pay、Delete の前には引き続き Yab が確認します。Codex にも確認させたい場合は、この設定を省略してください。
Cursor
または、~/.cursor/mcp.jsonに追加します。
{
"mcpServers": {
"yab-browser": {
"command": "npx",
"args": ["-y", "yab-mcp"]
}
}
}
VS Code
code --add-mcp '{"name":"yab-browser","command":"npx","args":["-y","yab-mcp"]}'
または、.vscode/mcp.jsonに追加します。
{
"servers": {
"yab-browser": {
"type": "stdio",
"command": "npx",
"args": ["-y", "yab-mcp"]
}
}
}
Windsurf(Devin Desktop)
~/.config/devin/mcp_config.jsonに設定します(古い Windsurf ビルドの場合は、~/.codeium/windsurf/mcp_config.json)。
{
"mcpServers": {
"yab-browser": {
"command": "npx",
"args": ["-y", "yab-mcp"]
}
}
}
Claude Desktop
Releasesからyab-mcp-<version>.mcpbをダウンロードして開くと、Claude Desktop が拡張機能としてインストールします。または、~/Library/Application Support/Claude/claude_desktop_config.jsonに次の設定を追加します。
{
"mcpServers": {
"yab-browser": {
"command": "npx",
"args": ["-y", "yab-mcp"]
}
}
}
その他のクライアント
同じmcpServersエントリーを使います。コマンドはnpx、引数は-y yab-mcp、通信方式は stdio です。
Node を使わない場合
クライアントにアプリ自体を指定します。Yab の「設定をコピー」では、次の設定が生成されます。
{
"mcpServers": {
"yab-browser": {
"command": "/Applications/yab.app/Contents/MacOS/yab",
"args": ["mcp"],
"env": { "YAB_CLI": "1" }
}
}
}
yab-mcp の動作
- Yab を検索します。
YAB_APPが設定されていればその値を使い、次にyabコマンドが実行するアプリ(~/.local/bin/yab)、続いて/Applicationsと~/Applications内のyab.app、最後に Spotlight(mdfind、バンドル ID はdev.serafim.fast)を検索します。 YAB_CLI=1を設定してyab.app/Contents/MacOS/yab mcpを実行します。クライアントは Yab と直接通信します。stdin と stdout はそのまま引き継がれ、シグナルも転送され、終了コードが返されます。- Yab が見つからない場合、または Mac 以外では、代わりに組み込みの簡易サーバーを起動します。スナップショットから Yab のツール一覧を返し、すべての呼び出しに対して Yab の入手方法を案内します。
依存関係はなく、独自のネットワークリクエストも行いません。npx yab-mcp --helpで Yab が見つかった場所を確認できます。
ツール
これらのツールは、scripts/snapshot.mjsによって取得された Yab の実際のtools/listの内容です。実行中のアプリが最終的な基準となります。新しいバージョンでは、さらに多くのツールが一覧に表示される場合があります。
Yab 0.0.18 には69個のツールがあります。注記のとおり、必要な機能を有効にした場合にのみ表示されるツールもあります。
| ツール | 機能 |
|---|---|
devtools_comments | すでに検査済みの非プライベートタブ内にある、ユーザーが作成した要素のコメントを読み取ります。 |
devtools_console | すでに検査済みの非プライベートタブから、記録されたコンソールメッセージを読み取ります。 |
devtools_network | タブの開発者ツールが記録した、サニタイズ済みのリクエストメタデータを読み取ります。 |
devtools_trace | WebKit のパフォーマンス記録にあるイベント名、所要時間、ネストを読み取ります。 |
devtools_styles | 開発者ツールから、現在選択されている要素に一致するスタイルと計算済みスタイルを読み取ります。 |
native_context | Yab 自体の現在の設定、スペース、タブ、メールアカウント、権限、およびこのタスクのネイティブ操作を読み取ります。 |
native_actions | 厳密な引数スキーマ、targetKind、取り消しへの対応状況、権限要件とともに、Yab のネイティブアクションを一覧表示します。 |
native_apply | 設定、スペース、タブ、ページのフォント、Gmail への接続など、ユーザーが明示的に要求したネイティブの Yab アクションを実行します。 |
native_operation | operationId でこのタスクのネイティブ操作を読み取るか、最大秒数(0〜10 秒)まで変更を待ちます。 |
native_undo | changeId でこのタスクのネイティブ変更を取り消すか、最後に取り消し可能な変更を取り消します。 |
tabs | ユーザーの Web ブラウザーである Yab で開いている、ユーザーとエージェントのタブを一覧表示します。 |
open | Yab(ユーザーのブラウザー)で新しいエージェントタブに Web ページ(URL)を開き、ユーザーのタブの隣に表示します。サイトにはユーザーとしてサインインします。 |
spaces | ユーザーのスペースを一覧表示します。スペースはタブのセットであり、別のユーザーとしてサインインしているものもあり、それぞれ独自の Cookie を持ちます。 |
navigate | エージェントタブを URL に移動するか、戻る、進む、再読み込みを行います。 |
snapshot | ブラウザータブの Web ページを、ref id 付きのアクセシビリティツリーとして読み取ります。 |
click | ref で要素を、実際のマウスクリックとしてクリックします。 |
type | ref でフィールド(入力欄、テキストエリア、エディター)のテキストを置き換えるか、ref を指定せず、フォーカス中の場所に入力します。 |
choose | <select> で値またはラベルを指定して選択します。 |
press | フォーカス中の要素で、実際のキーイベントとしてキーを押します。 |
hover | メニューがホバーで開く場合は開くように、マウスと同じ方法でポインターを要素に合わせます。 |
drag | マウスで要素をドラッグします。別の要素にドロップする場合(to にその ref を指定し、ドラッグした要素はその前に配置されます)、または dx、dy ピクセルで移動します。 |
dialog | ページが alert、confirm、prompt で求めた内容に応答します。受け入れる(OK)か拒否する(Cancel)かを選び、prompt のテキストを入力します。 |
scroll | ページ、または ref で指定した要素の周囲のボックス(scrolls とマークされたリスト)を、dy ピクセル分スクロールします(負の値は上方向)。 |
run | 同じツールでタブを操作する JavaScript を実行します。1 回の呼び出しで複数の手順を実行できます。 |
text | 記事や検索結果を読むため、タブに表示されているテキスト全体を取得します。 |
screenshot | snapshot だけでは不十分な場合に、タブの現在の画像を取得します。 |
wait | タブの読み込み完了、またはテキストに for が含まれるまで待ちます。 |
eval | エージェントタブで JavaScript を実行し(ページ独自のスクリプトからは分離され、同じ DOM を使用します)、その値を返します。 |
close | エージェントタブを閉じます。 |
show | タブをユーザーのタブの一つとして前面に表示します。 |
memory_search | 過去のタスクから把握しているユーザーの情報(ユーザー本人、アカウントやサイト、関係者、プロジェクト)を検索します。 |
memory_read | メモリページ(USER(ユーザー本人)、MEMORY(ユーザーへの対応方法)、TAXONOMY)を一つ、全体を読み取ります。 |
profile | フォーム入力用のユーザープロフィールです。名前、肩書き、会社、役職、所在地、linkedin、x、github、ウェブサイト、telegram が含まれます。 |
form_answers | Web フォームに入力されたユーザーの回答です。フォーム送信後は、質問内容とともに保存されません。 |
remember | 後のタスクのために情報を保存します。 |
history | ユーザーの閲覧履歴です。 |
watch | 誰かの返信をスレッドで監視します。days で指定した日数の間、2 時間ごとに確認します。 |
suggest | 新しいタブの入力欄の下に、ユーザーが対応する必要のある項目を控えめに表示します。 |
boosts | 保存されたサイトのブースト、そのサイト、権限、状態を一覧表示します。 |
boost_read | 変更する前に、保存されたブーストまたはこのタスクのトライアルのファイルを読み取ります。 |
skills | Yab のスキルを一覧表示します。エージェントが各種サイト(Gmail、GitHub、LinkedIn、Amazon、…)を利用する方法が、それぞれ 1 行で記載されています。 |
skill | 名前を指定して、スキルを一つ全体を読み取ります。 |
handoff | ユーザーにタブの操作を引き継ぐよう依頼します。サインイン、CAPTCHA の通過、コードの入力などを依頼し、完了の連絡があるまで待ちます。 |
ask | タブの下部に表示する質問と最大 4 つの選択肢(ユーザーは独自の回答も入力できます)を提示し、ユーザーに選択を依頼します。 |
sign_in | Yab がそのサイト用に保存したパスワードを使って、このタブのページにサインインします(事前にユーザーの確認を求める場合があります)。 |
autofill | Yab がユーザー用に保存している情報で、このタブのフォームに入力します。 |
upload | この Mac のファイルをページに渡します(事前にユーザーの確認を求める場合があります)。 |
download | ファイルをダウンロードします。ref(ダウンロードリンクまたはボタン)をクリックするか、タブの Cookie を使って URL から取得します。 |
pdf | タブのページをタスクのフォルダーに PDF として保存し、パスを返します。 |
fetch | ユーザーの Cookie を使って URL を読み取ります。タブは不要です。 |
mail_triage | Yab がこの Mac 上ですでに振り分けたユーザーのメールです。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_search | ユーザーのすべてのメールを、時期を問わず検索します。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_read | ユーザーのメールスレッドを、最も古いメッセージから順に、ラベル名と各メッセージの添付ファイルとともにテキストとして読み取ります。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_file | ユーザーのメールスレッドに添付されたファイルの内容を読み取ります。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_draft | スレッドへの返信(thread)、スレッドの最後のメールの転送(thread, forward: true, to)、または新規メールを作成します。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_send | ユーザーがそのメールを送信するよう明示的に依頼した場合に限り、Yab のメールページにあるメールを送信します。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_act | ユーザーが Yab のメールページで行うのと同じ方法で、ユーザーのメールスレッドを整理します。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_labels | ユーザー自身の Gmail ラベルと、ラベルの一覧を取得します。Yab で Gmail アカウントを接続している場合に一覧表示されます(Settings › Mail)。 |
mail_recall | この Mac に保存されている過去 5 年間のユーザーのすべてのメールを、本文の内容と語句の両方から検索します。エージェントがすべてのメールを検索できる場合に一覧表示されます(Settings › Mail)。 |
mail_code | 過去 minutes 分間(デフォルトは 10 分)に、タブ内のサイトからユーザーの Gmail に届いたワンタイムコードを読み取ります。Yab が Gmail からサインインコードを読み取れる場合に一覧表示されます(Settings › Autofill)。 |
messages | ユーザーの Messages(iMessage とテキストメッセージ)を取得します。チャットを指定しない場合は、チャットの一覧を最新順で表示し、それぞれの最後のメッセージを含めます。エージェントが Messages を利用できる場合に一覧表示されます(Settings › AI › Agents)。 |
send_message | Messages を通じて、電話番号またはアドレスにメッセージを送信します。エージェントが Messages を利用できる場合に一覧表示されます(Settings › AI › Agents)。 |
messages_code | ユーザーの Messages に届いた最新のワンタイムコードを読み取ります。エージェントが Messages を利用できる場合に一覧表示されます(Settings › AI › Agents)。 |
name | このタスクに名前を付けます。タブが複数になると、ユーザーのタブ一覧内のフォルダーにまとめられます。 |
task | ブラウザー上の作業全体を、Yab が実行するエージェント(Claude Code または Codex)に任せ、回答を待ちます。 |
task_status | タスクの現在の進行状況と、完了時の回答を確認します。 |
task_stop | タスクを停止します。 |
task_steer | 実行中のタスクに指示を出します。タスクは次の手順でこの指示を読み取ります。 |
task_queue | 現在の作業の後に実行する内容をタスクに追加します。 |
Mac から送信されるもの
- このパッケージ:何もありません。いくつかのファイルを読み込み、Spotlight に Yab を検索させてから起動します。
npxは npm レジストリからパッケージをダウンロードします。 - エージェントと Yab の間:Mac から外部に送信されるものはありません。
yab mcpは、Yab のフォルダー内にある、macOS のユーザー本人だけが開けるソケットを介してブラウザーと通信します。 - エージェントのモデルへ:エージェントがこれらのツールで読み取る内容(ページ、および許可した場合はメールやメッセージ)は、ほかの情報をエージェントに渡す場合と同様に、エージェントが使用するモデルのプロバイダー(Anthropic、OpenAI、またはその他)へ、あなたのアカウントを通じて送信されます。
taskツールは、あなた自身のプランで Claude Code または Codex を実行するよう Yab に依頼するため、同じことが当てはまります。 - Yab 自体:アップデートの確認のために yetanotherbrowser.com にアクセスし、ランダムなインストール ID を使ってアクティブ日数を記録します(Settings › About › Share daily activity をオフにすると停止します)。クラッシュレポートは、あなたが送信に同意した場合にのみ送信されます。同期は有効にするまでオフで、有効にした場合もエンドツーエンドで暗号化されます。Yab にアカウントはなく、当社のサーバーがあなたの閲覧内容を見ることはありません。メールは Google から Mac に直接届きます。
- ウェブサイト:通常のブラウザーが送信する情報を受け取ります。
プライバシーポリシー
Yab のプライバシーポリシーは yetanotherbrowser.com/privacy にあります。要約は次のとおりです。
- 収集:yab-mcp は何も収集しません。Yab はタブ、履歴、パスワード、メールを Mac に保存します。
- 使用と保存:Yab が保存するものは、ユーザーフォルダーと macOS キーチェーンに保管されます。同期を有効にした場合、エンドツーエンドで暗号化されたレコードのみが保存されます。
- 共有:Yab の関係者があなたのページやメールを受け取ることはありません。エージェントが読み取った内容は、前述のとおり、そのエージェントのプロバイダーに送信されます。
- 保存期間:Mac 上のデータは、削除するまで保存されます。同期データは、Settings › Sync で削除するまで保存されます。Yab がアップデートと日々のアクティビティについて記録する情報には IP アドレスは含まれません。ウェブホストのリクエストログは最長でも 1 日で削除されます。
- お問い合わせ先:[email protected]、または Yab の「Send Feedback」。
トラブルシューティング
- 「Agents are off in Yab」:Settings › AI › Agents › Let agents use Yab をオンにしてください。
- 「Yab isn't installed on this Mac」:Yab をインストールして一度開き、その後 MCP サーバーを再起動してください(Claude Code の場合:
/mcp)。 - 「The Yab that's running is older」:Yab を終了して再度開き、実行中のアプリがディスク上のものと一致するようにしてください。
- Yab が別の場所にある場合:サーバーの環境変数に
YAB_APP=/path/to/yab.appを設定してください。
開発
npm test # node --test, no dependencies
npm run snapshot # new src/tools.json and README tool list from the Yab on this Mac
npm run pack:mcpb # dist/yab-mcp-<version>.mcpb for Claude Desktop
npm run links # the Cursor and VS Code install links
npm run snapshot は Yab に initialize と tools/list のみを送信し、ツール呼び出しは行いません。リリースとディレクトリへの掲載については、PUBLISHING.md をご覧ください。
ライセンス
MIT です。LICENSE をご覧ください。Yab 自体は無料のクローズドソースソフトウェアです。このリポジトリは、エージェント向けに公開されている部分です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。