Skip to main content
Glama
weaming
by weaming

Browser Bridge

AI ↔ 브라우저 제어 브리지: 브라우저를 MCP 도구 모음으로 바꿉니다. 모든 MCP 클라이언트(AI 프로그램)가 표준 MCP 프로토콜을 통해 browser_snapshot / browser_click / browser_type 등의 도구를 호출하여 실제 브라우저에서 웹페이지를 조작합니다.

  • 모든 MCP 클라이언트 지원: Claude, codex, 커스텀 agent, curl

  • 기본 팔로우 모드: AI가 현재 활성화된 탭을 자동으로 제어, 설정 불필요

  • 실제 브라우저, headless 아님: 로그인 상태, 캡차(수동 입력 안내), 안티크롤링 특성 자연스러움

빠른 시작

1. 다운로드

Releases에서 하나의 압축 파일을 다운로드:

  • browser-bridge-<platform>-<arch>.zip — 플랫폼에 맞게 선택

임의의 디렉터리에 압축 해제(이하 <DIR>로 표시), 디렉터리 내에 browser-bridge/(확장 프로그램), browser-bridge-host, install-host.sh(Windows는 install-host.ps1)가 포함됩니다.

2. 확장 프로그램 로드

  1. chrome://extensions 열기

  2. 오른쪽 상단에서 개발자 모드 켜기

  3. 「압축 해제된 확장 프로그램 로드」 클릭, 압축 해제한 browser-bridge/ 디렉터리 선택

3. host 설치

macOS / Linux:

cd <DIR>
./install-host.sh         # Windows(PowerShell): .\install-host.ps1

실행하면 감지된 브라우저가 나열되며, Enter를 누르면 전체 설치, 또는 번호를 입력해 특정 브라우저 선택; 인자로 직접 지정도 가능:

./install-host.sh --all      # 安装到全部浏览器
./install-host.sh --chrome   # 只装 Chrome(--chromium / --edge 同理)

확장 프로그램 ID는 고정 내장되어 있어 수동 입력 불필요; 확장 ID가 다르면 인자 추가 전달: ./install-host.sh <你的扩展ID>.

브라우저가 이미 열려 있다면 설치 후 완전히 종료하고 다시 시작하세요.

4. 사용

임의의 MCP 클라이언트 연결:

MCP server: http://127.0.0.1:1234/mcp

포트가 점유되면 자동 +1, 실제 포트는 확장 프로그램 popup(연결됨 · MCP 포트 xxxx) 또는 ~/.browser-bridge/port에서 확인.

codex 설정 예시(~/.codex/config.toml):

[mcp_servers.browser]
url = "http://127.0.0.1:1234/mcp"

이후 AI에게 「이 페이지 좀 봐줘…」라고 말하면 됩니다.

Related MCP server: Playwright MCP Server

MCP 도구

도구

매개변수

설명

browser_control_status

—

제어 대상과 연결 상태 조회

browser_list_tabs

—

모든 탭 나열

browser_use_tab

tabId(-1이면 팔로우로 복귀)

제어 대상 고정/전환

browser_new_tab

url?

새 탭 생성 후 즉시 이동(기본값 빈 페이지)

browser_close_tab

tabId?

탭 닫기(기본값 제어 중인 탭, 자동으로 팔로우 복귀)

browser_activate_tab

tabId

사용자에게 보이도록 탭 활성화, 제어 대상 변경 안 함

browser_duplicate_tab

tabId?

탭 복제(기본값 제어 중인 탭)

browser_pin_tab

tabId?, pinned?

탭 고정/고정 해제

browser_snapshot

—

상호작용 가능한 요소 스냅샷(ref 번호+좌표)

browser_extract

format?(markdown|html|raw)

본문 추출; 대화 페이지(ChatGPT/Gemini)는 질문/답변 라운드별 조합; format=html은 정화된 HTML 반환, raw는 원본 body HTML 반환

browser_screenshot

—

가시 영역 스크린샷(dataUrl, 복잡한 레이아웃 시각 이해)

browser_url

—

현재 제어 페이지 URL과 제목 조회(경량)

browser_click

ref, button?

클릭

browser_dblclick

ref

더블클릭

browser_type

ref, text, clear?

입력(React 제어 입력 호환)

browser_form_fill

fields[]

여러 필드 일괄 입력

browser_press / browser_key

key, modifiers?

키 입력(ctrl/shift/alt/meta 지원)

browser_select

ref, value

드롭다운

browser_scroll

dir, amount?, ref?

스크롤

browser_hover

ref

호버

browser_highlight

ref

요소 1초 하이라이트(사용자에게 AI 조작 위치 표시)

browser_drag

fromRef, toRef

HTML5 드래그

browser_goto

url

지정 URL로 이동

browser_back

—

브라우저 뒤로 가기

browser_refresh

—

페이지 새로고침

browser_wait_for

ms 또는 selector 또는 text(셋 중 하나, 조합 불가)

대기: 타이머(ms≤60s), 또는 요소 등장, 또는 페이지 텍스트 등장(UI 조건 최대 5s)

AI가 자체적으로 오케스트레이션: snapshot → 결정 → 조작 → 다시 snapshot, 작업 완료까지 반복.

제어 모드

  • 팔로우 모드(기본): 현재 활성화된 탭 제어, 탭 전환 시 대상 변경

  • 고정 모드: 특정 탭 잠금(전환해도 팔로우 안 함); popup에서 한 번에 고정/해제, 또는 AI가 browser_use_tab 호출

툴바 아이콘 배지: 없음 = 팔로우 중; AI 앰버 = 고정됨; ! 빨강 = 연결 오류.

아키텍처

任意 MCP 客户端
   │ MCP (Streamable HTTP, 127.0.0.1:1234/mcp)
browser-bridge host(单进程 = MCP ↔ 帧协议翻译器)
   │ native messaging(stdin/stdout 帧)
Chrome 扩展
   ├─ background:转发、目标解析、保活、状态徽标
   └─ content script:快照 / 执行

MV3 확장 프로그램은 포트를 수신할 수 없어 native host가 유일한 채널(Chrome 공식 DevTools MCP와 동일 구조).

소스에서 빌드(개발자)

bun 필요:

bun install
bun run build                    # 当前平台 host + 扩展
./scripts/install-host.sh        # 注册 host(默认内置扩展 ID)
bun run scripts/build.ts --all   # 交叉编译全部平台 + 发布包(发布用)
bun test                         # 单元 + MCP API 集成测试(无需浏览器)

설정

  • BROWSER_BRIDGE_PORT: MCP 초기 포트(기본 1234, 점유 시 자동 +1)

  • BROWSER_BRIDGE_MOCK=1: 확장 프로그램 응답 모의(개발 테스트용)

문제 해결

현상

원인

해결

popup에 「host 연결 안 됨」 표시

host 미설치 / 브라우저 미재시작

install-host 실행, 브라우저 완전 종료 후 재시작

Invalid native messaging host name

host 이름에 하이픈 포함(구버전)

새 버전으로 업데이트(host 이름 com.browserbridge)

확장 프로그램 ID 불일치

구버전 manifest로 로드

확장 프로그램 재다운로드, 또는 install-host에 인자 전달 install-host.sh <你的ID>

MCP 연결 안 됨

host 미실행

먼저 브라우저+확장 프로그램 열기(host는 Chrome이 실행)

대상 탭에 접근 불가

페이지 미준비/http(s) 아님

페이지 로드 대기, 또는 browser_use_tab으로 고정

라이선스

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables AI to control browsers via natural language for web automation, testing, and data scraping. Supports Chrome-based browsers and integrates with any MCP-compatible AI tool.
    17
    2
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to control and interact with a Chrome browser via MCP, providing tools for navigation, screenshots, clicking, form filling, content extraction, and tab management.
    -