mcpField
C
cookie-sync

cookie-sync

github.com/browserbase開発3.7k2.7k 回インストール8 週間前に更新
リポジトリ

cookie-sync について

cookie-syncは、ローカルのChrome互換ブラウザーからBrowserbaseの永続コンテキストへCookieを移すスキルです。ドメインによる絞り込みや既存コンテキストの更新ができ、browse CLIで認証済みセッションを利用できます。

主な機能

  1. 01ブラウザーCookieを永続コンテキストに同期
  2. 02ドメインによるCookieの絞り込み
  3. 03既存コンテキストの更新
  4. 04Verifiedブラウザーモードへの対応
  5. 05住宅プロキシの場所設定

活用シーン

  1. 01Browserbaseで認証済みサイトを開く
  2. 02指定ドメインのCookieだけを同期する
  3. 03定期的なブラウザー処理用にCookieを更新する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/browserbase/skills --skill cookie-sync

インストール後、Claude Code で/cookie-syncを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

EXAMPLES.md
LICENSE.txt
package-lock.json
package.json
REFERENCE.md
scripts/
cookie-sync.mjs

詳細

Cookie Sync — ローカルの Chrome から Browserbase Context へ

ローカルの Chrome から Cookie をエクスポートし、Browserbase の persistent context に保存します。同期後は、browse CLI を使って、そのコンテキストで認証済みセッションを開けます。

ドメインフィルタリング(必要な Cookie のみを同期)とコンテキストの再利用(新しいコンテキストを作成せずに Cookie を更新)に対応しています。

前提条件

  • リモートデバッグが有効な Chrome(または Chromium、Brave、Edge)
  • ブラウザーのビルドで chrome://flags/#allow-remote-debugging が公開されている場合は、有効にしてブラウザーを再起動してください
  • それ以外の場合は、--remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug を指定して起動し、CDP_URL=ws://127.0.0.1:9222 を設定してください
  • Chrome で少なくとも 1 つのタブを開いていること
  • Node.js 22+
  • 環境変数:BROWSERBASE_API_KEY

セットアップ

初回使用前に依存関係をインストールします。

cd .claude/skills/cookie-sync && npm install

使用方法

基本 — すべての Cookie を同期
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs

すべての Chrome Cookie を含む永続コンテキストを作成します。コンテキスト ID が出力されます。

ドメインでフィルタリング — 特定のサイトのみ同期
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains google.com,github.com

ドメインとそのすべてのサブドメインに一致します(例:google.com は accounts.google.com、mail.google.com などに一致します)。

既存のコンテキストで Cookie を更新
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --context ctx_abc123

以前に作成したコンテキストに新しい Cookie を再挿入します。Cookie の有効期限が切れた場合に使用します。

検証済みブラウザーモード
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --verified

Verified ブラウザーで Browserbase Identity を有効にし、保護されたサイトへのアクセスを改善します。ブラウザーのフィンガープリントを確認する Google などのサイトにおすすめです。

ジオロケーション対応のレジデンシャルプロキシ
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --proxy "San Francisco,CA,US"

指定した場所のレジデンシャルプロキシ経由で接続します。形式は "City,ST,Country" です(州は 2 文字のコード)。ローカル IP のジオロケーションに近づけることで、認証 Cookie が拒否されるのを防ぎます。

フラグの組み合わせ
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains github.com,google.com --verified --proxy "San Francisco,CA,US"

認証済みサイトの閲覧

同期後は、コンテキスト ID を指定して browse CLI を使用します。

SESSION_JSON="$(browse cloud sessions create --context-id <ctx-id> --persist --keep-alive)"
SESSION_ID="$(echo "$SESSION_JSON" | jq -r .id)"
CONNECT_URL="$(echo "$SESSION_JSON" | jq -r .connectUrl)"

browse open https://mail.google.com --cdp "$CONNECT_URL"

browse cloud sessions create の --persist フラグを指定すると、クラウドセッションの解放時に新しい Cookie や状態の変更がコンテキストに保存され、次回に備えてセッションが最新の状態に保たれます。

ワークフローの例:

# Step 1: Sync cookies for Twitter
node .claude/skills/cookie-sync/scripts/cookie-sync.mjs --domains x.com,twitter.com
# Output: Context ID: ctx_abc123

# Step 2: Browse authenticated Twitter
SESSION_JSON="$(browse cloud sessions create --context-id ctx_abc123 --persist --keep-alive)"
SESSION_ID="$(echo "$SESSION_JSON" | jq -r .id)"
CONNECT_URL="$(echo "$SESSION_JSON" | jq -r .connectUrl)"

browse open https://x.com/messages --cdp "$CONNECT_URL"
browse snapshot
browse screenshot
browse stop
browse cloud sessions update "$SESSION_ID" --status REQUEST_RELEASE

スケジュール済みジョブでのコンテキストの再利用

コンテキストはセッションをまたいで保持されるため、スケジュール済みまたは定期的なタスクに最適です。

  1. 一度だけ(ノート PC を開いているとき): cookie-sync を実行してコンテキスト ID を取得します
  2. スケジュール済みジョブ: browse cloud sessions create --context-id <ctx-id> --persist --keep-alive で Browserbase セッションを作成し、browse open <url> --cdp <connectUrl> で接続します — ローカルの Chrome は不要です
  3. 必要に応じて再同期: Cookie の有効期限が切れたら、--context <ctx-id> を指定して cookie-sync を再実行し、更新します

トラブルシューティング

  • 「No DevToolsActivePort found」 → ブラウザーのビルドで chrome://flags/#allow-remote-debugging が公開されている場合は有効にしてください。公開されていない場合は、--remote-debugging-port=9222 を指定して起動し、CDP_URL=ws://127.0.0.1:9222 を設定してください
  • 「No open page targets found」 → Chrome で少なくとも 1 つのタブを開いてください
  • 「WebSocket error」 → Chrome が応答しなくなっている可能性があります。強制終了して再度開いてください
  • コンテキスト内の Cookie の有効期限が切れた → --context <id> を指定して cookie-sync を再実行し、更新してください
  • サイトに認証を拒否された → --verified や、現在地に近い場所を指定した --proxy を追加してみてください

コメント