Skip to main content
Glama

Browserless MCP Server

MCP Badge

Browserless.io용 MCP(Model Context Protocol) 서버 — Browserless 스마트 스크래퍼 API를 Claude Desktop, Cursor, VS Code, Windsurf와 같은 LLM 클라이언트에 노출합니다.

빠른 시작

browserless.io에서 API 토큰을 받고(무료 티어 사용 가능), MCP 클라이언트를 호스팅 서버에 연결하세요:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

로컬 설치가 필요 없습니다 — 클라이언트별 스니펫은 구성을 참조하세요.

Related MCP server: Pinchtab MCP Wrapper

도구

도구

설명

browserless_smartscraper

단일 웹페이지를 스크레이핑하여 콘텐츠를 markdown 또는 HTML로 반환합니다. JavaScript가 많은 페이지와 봇 방지 조치를 자동으로 처리합니다. 여러 페이지에 걸친 콘텐츠는 browserless_crawl을 사용하고, 사이트의 URL 목록은 browserless_map을 사용하세요.

browserless_search

Browserless를 사용해 웹을 검색하고 선택적으로 각 결과를 스크레이핑합니다. 지역 타게팅과 시간 필터를 지원하는 웹, 뉴스, 이미지 검색을 제공합니다.

browserless_map

웹사이트의 모든 URL을 발견하고 매핑합니다. 사이트맵과 링크 추출을 통해 스캔합니다. 선택적으로 제목과 설명을 포함한 URL을 반환합니다. 사이트 감사와 콘텐츠 발견에 유용합니다.

browserless_crawl

웹사이트를 크롤링하여 발견된 모든 페이지를 스크레이핑합니다. 깊이 제어, 경로 필터링, 사이트맵 전략, 구성 가능한 스크레이핑 옵션을 지원합니다. 각 페이지의 스크레이핑된 콘텐츠와 메타데이터를 반환합니다.

browserless_performance

모든 URL에 대해 Lighthouse 감사를 실행합니다. 접근성, 모범 사례, 성능, PWA, SEO에 대한 점수와 지표를 반환합니다. 선택적으로 카테고리로 필터링하거나 성능 예산을 지정할 수 있습니다.

browserless_function

Browserless 클라우드에서 사용자 정의 Puppeteer JavaScript를 실행합니다. 함수는 page 객체와 선택적 context를 받습니다. { data, type }을 반환하여 페이로드와 Content-Type을 제어합니다.

browserless_export

Browserless /export API를 통해 웹페이지를 내보냅니다. URL을 가져와 원래 콘텐츠(HTML, PDF, 이미지 등)를 자동 콘텐츠 유형 감지와 함께 반환합니다.

browserless_agent

ReAct 루프를 통해 지속적인 브라우저 세션을 구동합니다. 페이지 스냅샷, 계획, 일괄 상호작용(클릭, 입력, 스크롤, evaluate 등) 및 다시 스냅샷을 수행합니다. 스냅샷에서 파생된 ref 기반 선택기를 사용하며, 다중 탭 워크플로, 스크린샷, 캡차 해결, 라이브 URL, 파일 업로드/다운로드를 지원합니다. 캡처된 다운로드는 자동으로 핸들로 표시되며, 바이트가 컨텍스트에 들어가지 않습니다.

browserless_skill

복잡한 페이지 메커니즘(shadow DOM, 쿠키 동의, 모달, 캡차, 동적 콘텐츠, 스냅샷 누락, 스크린샷, 탭)을 위한 온디맨드 레시피를 로드합니다. browserless_agent의 동반 도구입니다.

browserless_profiles

현재 토큰에 저장된 인증 프로필을 쿠키 및 오리진 개수와 함께 나열합니다. 다른 도구에 profile로 프로필 이름을 전달하여 로그인 상태를 재사용합니다.

browserless_account

현재 토큰의 계정 정보(플랜, 단위 잔액, 청구 기간, API 키 이름)를 읽습니다. API 토큰 값은 절대 반환하지 않습니다.

browserless_usage

요청 및 단위 소비량(성공, 오류, 시간 초과, 대기열, 최대 동시성, 캡차, 프록시 바이트와 단위)을 읽습니다. 선택적으로 특정 API 키로 범위를 제한할 수 있습니다.

browserless_sessions

계정의 세션(현재 실행 중인 브라우저, 전용 워커의 영구 세션, 기록된 세션 리플레이, 1Password 자격 증명 통합)을 검사합니다. 또한 렌더링에 네트워크가 필요 없는 완전히 독립적인 rrweb 플레이어 페이지로 리플레이를 다운로드합니다(action: "replay"). 서버가 로컬에서 실행 중이면 브라우저에서 열리고, 그렇지 않으면 보내기에 충분히 작을 때 인라인 HTML 리소스로 첨부됩니다.

browserless_logs

Browserless의 최근 요청 기록(시도한 내용, 실패 여부, 중단 이유, 소요 시간, 비용)을 읽습니다. Browserless 쪽에서 실패한 실행을 진단하는 도구입니다. 사용 가능한 기간은 플랜에 따라 다릅니다.

스킬

이 서버에는 스킬(Skills) 내장 라이브러리가 포함되어 있습니다. 에이전트가 까다로운 페이지 메커니즘을 처리하기 위해 로드할 수 있는 온디맨드 레시피입니다. 스킬은 트리거가 발생하면(예: 에이전트가 쿠키 배너를 만남) browserless_agent 응답에 자동으로 주입되며, browserless_skill 도구를 통해 수동으로 로드할 수도 있습니다.

스킬

출처

목적

shadow-dom

src/skills/shadow-dom.md

shadow root를 통한 깊은 선택자와 iframe 타게팅.

cookie-consent

src/skills/cookie-consent.md

공급업체별 닫기 레시피(OneTrust, Cookiebot, Didomi, TrustArc 등).

modals

src/skills/modals.md

대화상자, 경고 대화상자 및 오버레이 닫기 버튼 휴리스틱을 닫는 방법.

captchas

src/skills/captchas.md

solve 명령, 응답 의미, 에스컬레이션 경로 사용(Cloud 전용).

dynamic-content

src/skills/dynamic-content.md

async/AJAX/SPA 콘텐츠에 적합한 wait* 메서드 선택.

snapshot-misses

src/skills/snapshot-misses.md

잘리거나 빈 스냅샷과 이미지로 렌더링된 콘텐츠 처리.

screenshots

src/skills/screenshots.md

스크린샷과 스냅샷을 각각 언제 사용할지, 범위와 형식 선택.

tabs

src/skills/tabs.md

다중 탭 워크플로와 targetId를 통한 전환 없이 엿보기.

스킬을 명시적으로 로드하려면:

{
  "method": "tools/call",
  "params": {
    "name": "browserless_skill",
    "arguments": { "id": "cookie-consent" },
  },
}

리지덴셜 프록시 (browserless_agent)

browserless_agent에 최상위 proxy 객체를 전달하여 세션을 리지덴셜 IP로 라우팅하세요. 대상 사이트가 데이터센터 트래픽을 IP로 차단할 때 사용합니다.

{
  "method": "tools/call",
  "params": {
    "name": "browserless_agent",
    "arguments": {
      "method": "goto",
      "params": { "url": "https://example.com" },
      "proxy": {
        "proxy": "residential",
        "proxyCountry": "us",
        "proxySticky": true,
      },
    },
  },
}

필드

참고

proxy

"residential" — 현재 지원되는 유일한 값입니다.

proxyCountry

ISO-2 국가 코드("us", "de"). 소문자로 자동 정규화됩니다. 문자가 아닌 값은 거부됩니다.

proxyState

공백을 밑줄로 바꾼 미국 주 이름("new_york"). 유료 플랜 전용 — 자격이 없는 토큰은 401을 받습니다.

proxyCity

도시 대상. 유료/엔터프라이즈 플랜 전용 — 자격이 없는 토큰은 401을 받습니다.

proxySticky

기본 WebSocket이 열려 있는 동안 안정적인 IP를 유지합니다. 재연결(유휴 연결 끊김, 네트워크 일시 장애, 브라우저 충돌) 시 새 sticky id와 새 IP가 할당됩니다.

proxyLocaleMatch

navigator 로캘을 프록시 IP 국가와 일치시킵니다.

proxyPreset

명명된 프리셋(예: "px_amazon01"). 사용 가능한 프리셋은 플랜에 따라 다르며, 목록은 Browserless 지원팀에 문의하세요.

externalProxyServer

자체 업스트림 사용(byo), 예: http://user:pass@host:port. http:// 또는 https://여야 합니다.

참고: proxyCountry / proxyState / proxyCity / proxySticky / proxyLocaleMatch / proxyPreset을 사용하려면 proxy: "residential" 또는 externalProxyServer가 설정되어야 합니다. MCP는 유효성 검사 시 이 조합을 거부합니다. 설정하지 않으면 API가 자동으로 무시합니다.

proxy 객체는 세션 생성 시 한 번만 읽힙니다. 이를 변경하려면 close를 호출하고 새 세션을 시작하세요 — 에이전트 클라이언트는 프록시 지문(proxy fingerprint)을 기준으로 세션을 키잉하므로, 다른 config를 전달하면 새 WebSocket에 연결됩니다.

구성

서버는 https://mcp.browserless.io/mcp에서 호스팅됩니다. 헤더(권장) 또는 ?token= 쿼리 매개변수로 인증하세요.

AI 에이전트를 통해 설치하시나요? 에이전트가 읽을 수 있는 설정 지침은 install.md를 참조하세요.

헤더 사용 (헤더를 지원하는 클라이언트에 권장):

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here"
      }
    }
  }
}

URL 쿼리 매개변수 사용 (URL만 허용하는 Claude.ai 사용자 지정 커넥터와 같은 클라이언트용):

https://mcp.browserless.io/mcp?token=your-token-here

특정 Browserless 리전 엔드포인트에 연결하려면 x-browserless-api-url 헤더 또는 browserlessUrl 쿼리 매개변수를 추가하세요:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here",
        "x-browserless-api-url": "https://production-lon.browserless.io"
      }
    }
  }
}
https://mcp.browserless.io/mcp?token=your-token-here&browserlessUrl=https://production-lon.browserless.io

헤더와 쿼리 매개변수가 모두 있는 경우 헤더가 우선합니다.

Claude Desktop

claude_desktop_config.json에 추가하세요:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

Cursor

Cursor MCP 설정에 추가하세요:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

VS Code

VS Code 설정(settings.json)에 추가하세요:

{
  "mcp": {
    "servers": {
      "browserless": {
        "url": "https://mcp.browserless.io/mcp",
        "headers": {
          "Authorization": "Bearer your-token-here"
        }
      }
    }
  }
}

Windsurf

Windsurf MCP 구성에 추가하세요:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

자체 호스팅

서버는 로컬에서도 실행할 수 있습니다 — 폐쇄망(air-gapped) 배포 또는 자체 호스팅 Browserless 인스턴스를 가리킬 때 유용합니다. 이 저장소를 클론하고 Docker 이미지를 빌드하세요:

docker build -f docker/Dockerfile -t browserless-mcp .

docker run \
  -e BROWSERLESS_TOKEN=your-token \
  -e BROWSERLESS_API_URL=https://your-browserless-instance.example.com \
  -p 8080:8080 \
  browserless-mcp

그런 다음 위와 동일한 헤더/쿼리 매개변수 인증을 사용하여 MCP 클라이언트를 http://localhost:8080/mcp로 지정하세요.

자체 호스팅 환경 변수

변수

필수

기본값

설명

BROWSERLESS_TOKEN

사용자의 Browserless API 토큰

BROWSERLESS_API_URL

아니요

https://production-sfo.browserless.io

API 엔드포인트(자체 호스팅 Browserless용)

BROWSERLESS_API_SERVER

아니요

https://api.browserless.io

계정 API 호스트 — browserless_account, _usage, _sessions, _logs를 지원합니다. 브라우저 런타임인 BROWSERLESS_API_URL과는 다른 호스트입니다.

BROWSERLESS_REPLAY_CDN_URL

아니요

https://d3uycvholi7jx8.cloudfront.net/

세션 리플레이 아티팩트를 제공하는 오리진입니다. 리플레이 경로는 이 오리진에 대해 검증됩니다.

TRANSPORT

아니요

stdio

전송 유형: stdio 또는 httpStream

PORT

아니요

8080

HTTP 서버 포트(httpStream 전송 전용)

BROWSERLESS_TIMEOUT

아니요

30000

요청 타임아웃(밀리초)

BROWSERLESS_MAX_RETRIES

아니요

3

실패한 요청의 최대 재시도 횟수

BROWSERLESS_CACHE_TTL

아니요

60000

캐시 TTL(밀리초, 0이면 비활성화)

AMPLITUDE_API_KEY

아니요

Amplitude 프로젝트 API 키. MCP 사용 분석을 전송합니다 — SDK 수명 주기 이벤트와 자체 도구/스킬 이벤트를 포함합니다.

MCP_COMPLIANCE_MODE

아니요

설정 안 됨(전체 표면)

축소된 디렉터리 준수 표면을 제공합니다. 실패 시 잠금(fails closed): false/0/no/off를 제외한 어떤 설정 값이든 이 기능을 활성화합니다.

MCP 리소스

Resource URI

설명

browserless://api-docs

스마트 스크레이퍼 API 문서

browserless://status

실시간 서비스 상태

MCP 프롬프트

Prompt

설명

scrape-url

웹페이지를 스크레이핑하고 콘텐츠를 요약합니다

extract-content

웹페이지에서 특정 정보를 추출합니다

개발

npm install
npm run build
npm test
npm run coverage

테스트

테스트 스위트는 MochaChaiSinon과 함께 사용합니다. 스펙은 test/(test/lib/, test/tools/, test/prompts/, test/resources/, test/integration/)에 코드와 함께 있으며 build/의 컴파일된 출력에 대해 실행됩니다.

  • npm test — TypeScript를 컴파일하고 build/test/ 아래의 모든 *.spec.js를 실행합니다. 외부 서비스나 BROWSERLESS_TOKEN은 필요하지 않습니다. API 클라이언트는 스텁 처리됩니다.

  • npm run coveragepackage.json에 구성된 임계값(라인 ≥ 80%, 브랜치 ≥ 70%, 함수 ≥ 80%)으로 c8 기반으로 스위트를 실행합니다.

테스트는 Node 24의 Test workflow를 통해 모든 풀 리퀘스트에 대해 자동으로 실행됩니다. PR은 병합되기 전에 스위트를 계속 통과 상태로 유지해야 합니다.

API 토큰

browserless.io에서 API 토큰을 받으세요. 이 토큰은 Browserless API에 대한 모든 요청을 인증합니다.

라이선스

SSPL-1.0

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browser automation with anti-detection. Scout pages, find elements, interact with websites, and monitor network traffic from any AI client that supports the Model Context Protocol.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT

View all related MCP servers

Related MCP Connectors

  • Zenrows MCP server — Fetch, Extract, Batch, and Browser Sessions for AI coding assistants

  • Official Octoparse MCP server for template discovery, cloud tasks, and structured data export.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/browserless/browserless-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server