browser-rs-mcp - 超軽量マルチエージェント向けステルスブラウザコントローラー
(github.com/maestrojeong)1. Motivation?
エージェント1つにChrome1つ。これがデフォルトだと、エージェントごとにRAMを500MB〜1GB消費します。エージェントを5つ動かすだけでも、ブラウザだけでRAMは2.5〜5GBです。
そのうえPlaywrightは、CDPセッション自体がデフォルトで1つあたり約180MBを消費します。ブラウザプロセスのメモリは別としても、CDPレイヤー自体がすでに重いという意味です。エージェントを増やすほど、このオーバーヘッドは線形に積み上がります。
マルチエージェントを実運用で回すには、まずこの構造から壊す必要がありました。
2. How?
ブラウザは1つだけ起動する。エージェントが何個あっても、その上にraw CDPで接続し、サーバーがowner単位でタブを強制的に分離します。エージェントAのタブをBが触ることはできません。1つのインスタンスでN個を扱えるので、エージェントが増えてもブラウザメモリは増えません。
言語も変えました。Rustで書き直し、ブラウザを内蔵しない構造(既存のChromeに--connect)にして、サーバー自体は単一バイナリ6MBです。
検出も回避します。Patchrightに着想を得て、Runtime.enable のような検出されやすいCDPドメインはそもそも有効化せず、パッチ済みの偽ブラウザではなく、ユーザーの本物のChrome + persistent profileをそのまま使います。
3. Summary
まとめると: 超軽量マルチエージェント向けステルスブラウザコントローラー
raw CDPベースの62個のtool — アクセシビリティツリーref、action settle-diff、network/cookies/storage/PDF/upload/iframe/WebAuthn、stdio + HTTP/SSE。
インストール
curl -fsSL https://raw.githubusercontent.com/maestrojeong/browser-rs-mcp/… | sh
4. Future work
Windowsビルドとcrates.ioへの登録も、次の作業として残っています。
まだコメントはありません。