Skip to main content
Glama
feedmepos

Browser MCP Server

by feedmepos

Browser MCP Server

봇 차단(anti-bot)에 대응하는 실제 브라우저를 AI 에이전트에 제공하는 MCP(Model Context Protocol) 서버입니다. Zyte API를 통해 페이지 이동, 클릭/입력/스크롤, 스크린샷 캡처, 구조화된 데이터 추출을 수행할 수 있으며, 프록시/IP 자동 순환과 차단 방지(ban avoidance)를 제공합니다.

NestJS@nestjs-mcp/server로 구축되었으며, Zyte의 /extract 엔드포인트와 HTTP로 직접 통신합니다. 전송은 streamable HTTP만 지원하며, 상태를 저장하지 않는(stateless) 방식으로 단일 /mcp 엔드포인트에서 제공됩니다.

설정

  1. .env.example.env에 복사한 다음 내용을 입력합니다.

    변수

    필수 여부

    설명

    ZYTE_API_KEY

    본인의 Zyte API 키

    ZYTE_API_BASE_URL

    아니오

    Zyte API 기본 URL을 재정의합니다 (기본값 https://api.zyte.com/v1)

    PORT

    아니오

    HTTP 포트 (기본값 3000)

    BROWSER_TIMEOUT_MS

    아니오

    Zyte 호출 건별 타임아웃 (기본값 30000)

    BROWSER_MAX_RETRIES

    아니오

    rate-limit(429/503) 및 임시 차단(520) 응답에 대한 재시도 횟수이며, 지수 백오프를 적용합니다 (기본값 2)

  2. 의존성을 설치하고 서버를 시작합니다.

    pnpm install
    pnpm run start:dev

    MCP 엔드포인트는 http://localhost:3000/mcp에서 제공됩니다.

Related MCP server: Stealth Browser MCP

도구

도구

반환값

browser_browse

URL을 열고, 선택적으로 액션(click/type/select/scroll/wait)을 실행한 다음, sessionId, 렌더링된 HTML, 그리고 선택적으로 스크린샷을 반환합니다.

browser_screenshot

페이지의 스크린샷입니다. 선택적으로 액션 실행 후에 촬영합니다.

browser_extract

사용자가 제공한 JSON Schema와 일치하게 AI가 추출한 구조화된 JSON입니다.

browser_search

Zyte의 Search API를 통한 구조화된 웹 검색 결과(title/url/snippet)입니다. 페이지를 찾기 위해 사용하고, 이어서 browser_browse로 해당 페이지를 엽니다.

browser_browse, browser_screenshot, browser_extract는 선택적으로 sessionId(이전 호출에서 반환된 값)를 받아 여러 도구 호출에 걸쳐 동일한 IP 주소와 cookie jar를 재사용할 수 있습니다. 로그인 상태를 유지하거나 다단계 작업에서 IP를 일관되게 유지하는 데 유용합니다. 단, Zyte의 세션 문서에 따르면 이 기능은 호출 사이에 실제 브라우저/탭 상태(페이지 내 폼 입력, 스크롤 위치, 열려 있는 모달 등)를 유지하지 않습니다. 각 호출은 동일한 네트워크 식별자와 쿠키로 새 페이지를 로드합니다.

actions는 결과를 캡처하기 전에 실행되는 일련의 단계로, click, type, select, hover, keyPress, scrollBottom, scrollTo, waitForSelector, waitForTimeout, waitForNavigation, goto, evaluate를 지원합니다. 요소를 대상으로 하는 액션은 selector: { type: "css" | "xpath", value: string } 형태의 선택자를 받습니다.

browser_search는 Zyte의 별도 /v1/search 엔드포인트(/v1/extract 아님)에 요청을 보내며, domain(지원되는 검색 엔진, 예: "google.com"), query, 그리고 선택적으로 maxResults(10-100)/geolocation/locale를 받습니다.

rate-limit(429/503) 및 임시 차단(520)에 해당하는 Zyte 응답은 Zyte의 오류 처리 가이드에 따라 지수 백오프(exponential backoff)로 BROWSER_MAX_RETRIES회까지 자동으로 재시도됩니다. 그 외의 오류 응답(잘못된 요청, 영구 차단, 계정 정지)은 즉시 표시되며, 가능한 경우 Zyte 오류의 type이 메시지에 포함됩니다.

클라이언트 연결하기

실행 중인 인스턴스를 가리키는 원격 MCP 클라이언트 구성 예시(예: Claude Desktop / Claude Code):

{
  "mcpServers": {
    "browser": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

테스트

pnpm test        # unit tests (service + resolver, global fetch mocked)
pnpm run lint    # eslint
pnpm run build   # type-check + compile

단위 테스트는 Zyte를 호출하는 데 사용되는 전역 fetch를 모킹합니다. 라이브 API에 대한 엔드투엔드 검증을 위해 실제 ZYTE_API_KEY로 서버를 실행하고, pnpm dlx @modelcontextprotocol/inspector http://localhost:3000/mcp 또는 curl을 사용하여 initializetools/listtools/call을 실행하세요.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.
    61
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to perform undetectable browser automation that bypasses Cloudflare, antibots, and social media blocks. Provides 105 tools for element extraction, network debugging, and real-world web scraping with a 98.7% success rate on protected sites.
    1,589
    MIT

View all related MCP servers

Related MCP Connectors

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

  • Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.

  • Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…

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/feedmepos/browser-mcp'

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