Show GN: browser-rs-mcp - 초경량 멀티 에이전트 스텔스 브라우저 컨트롤러
요약
본 글은 다수의 에이전트를 구동할 때 발생하는 높은 메모리 오버헤드를 해결하기 위한 초경량 멀티 에이전트 브라우저 컨트롤러를 소개합니다. 기존 방식의 한계를 극복하고, 단일 인스턴스로 여러 에이전트가 격리된 환경에서 작동하도록 설계되었습니다. Rust 언어와 raw CDP 기반으로 구현되어 메모리 사용량이 매우 낮고, 실제 사용자 Chrome 프로파일을 사용하여 탐지를 회피하는 것이 특징입니다.
핵심 포인트
- 단일 브라우저 인스턴스로 다수 에이전트 구동 가능 (메모리 효율성 극대화)
- Rust와 raw CDP 기반으로 구현되어 초경량 바이너리(6MB)를 유지
- 실제 사용자 Chrome 프로파일을 사용해 탐지 위험을 낮추고 안정성을 확보
- CDP의 특정 도메인을 비활성화하여 시스템 오버헤드를 최소화함
1. Motivation?
에이전트 하나에 크롬 하나. 이게 기본값이면 에이전트당 RAM이 500MB1GB씩 나갑니다. 에이전트 5개만 굴려도 브라우저만으로 RAM 2.55GB.
거기다 Playwright는 CDP 세션 자체가 기본으로 하나에 ~180MB를 먹습니다. 브라우저 프로세스 메모리는 별개로 치고, CDP 레이어 자체가 이미 무겁다는 뜻입니다. 에이전트를 늘릴수록 이 오버헤드가 선형으로 곱해집니다.
멀티 에이전트를 실전에서 굴리려면 이 구조부터 깨야 했습니다.
2. How?
브라우저는 하나만 띄운다. 에이전트가 몇 개든 그 위에 raw CDP로 붙고, 서버가 owner 단위로 탭을 강제 격리합니다. 에이전트 A 탭을 B가 못 건드립니다. 인스턴스 하나로 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 등록도 다음 작업으로 남아있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기