Integrations
Supports browser automation in Firefox, allowing for navigation, DOM manipulation, form filling, and JavaScript execution through Playwright.
Demonstrated capability to navigate to Google, perform searches, and interact with search results through browser automation.
Enables execution of arbitrary JavaScript code in browser context, with the ability to capture console logs and return results.
MCP 브라우저 에이전트
특징
- 고급 브라우저 자동화
- 사용자 정의 가능한 로드 전략을 사용하여 모든 URL로 이동
- 전체 페이지 또는 요소별 스크린샷 캡처
- 정확한 DOM 상호 작용 수행(클릭, 채우기, 선택, 호버)
- 콘솔 로그 캡처를 사용하여 브라우저 컨텍스트에서 임의의 JavaScript 실행
- 강력한 API 클라이언트
- HTTP 요청(GET, POST, PUT, PATCH, DELETE) 실행
- 요청 헤더 및 본문 콘텐츠 구성
- JSON 포맷으로 응답 데이터 처리
- 자세한 피드백을 통한 오류 처리
- MCP 리소스 관리
- 리소스로 브라우저 콘솔 로그에 액세스
- MCP 리소스 인터페이스를 통해 스크린샷 검색
- headful 브라우저 인스턴스와의 지속적인 세션
- AI 에이전트 기능
- 복잡한 작업을 위해 여러 브라우저 작업을 연결합니다.
- 지능형 오류 복구를 통해 여러 단계의 지침을 따르세요
- 자연어 지침을 통한 기술 작업 자동화
데모
비디오의 해당 섹션으로 이동하려면 타임스탬프를 클릭하세요.
00:00 - MCP에 대한 Google 검색
Google 홈페이지로 이동하여 "Model Context Protocol"을 검색합니다. MCP 통합을 사용하여 Claude Desktop에서 기본 웹 검색을 수행하고 결과를 처리하는 방법을 보여줍니다.
00:33 - 스크린샷 캡처
사용자 지정 파일 이름으로 검색 결과의 스크린샷을 찍어 Finder에 표시하는 방법입니다. Claude가 브라우저 자동화 중에 웹 페이지의 시각적 콘텐츠를 캡처하고 저장하는 방법을 보여줍니다.
01:00 - 위키피디아 검색
Wikipedia.org로 이동하여 "모델 컨텍스트 프로토콜"을 검색합니다. MCP 통합을 통해 Claude가 다양한 웹사이트 및 검색 기능과 상호 작용하는 능력을 보여줍니다.
01:38 - 드롭다운 메뉴 상호작용 I
테스트 웹사이트(the-internet.herokuapp.com/dropdown)로 이동하여 드롭다운 메뉴에서 "옵션 1"을 선택합니다. Claude가 양식 요소와 상호 작용하고 항목을 선택하는 능력을 보여줍니다.
01:56 - 드롭다운 메뉴 상호작용 II
같은 드롭다운 메뉴에서 선택 항목을 "옵션 2"로 변경합니다. 클로드가 같은 양식 요소를 여러 번 조작하고 다른 선택을 할 수 있는 능력을 보여줍니다.
02:09 - 로그인 양식 완료
로그인 페이지(the-internet.herokuapp.com/login)로 이동하여 사용자 이름 필드에 "tomsmith"를, 비밀번호 필드에 "SuperSecretPassword!"를 입력합니다. 양식 작성 자동화를 보여줍니다.
02:28 - 로그인 제출
로그인 자격 증명을 제출하고 인증 절차를 완료합니다. Claude가 양식 제출을 트리거하고 여러 단계의 절차를 탐색하는 능력을 보여줍니다.
02:36 - API 요청 실행
JSONPlaceholder API 엔드포인트에 GET 요청을 수행합니다. Claude가 직접 API 호출을 수행하고 MCP 통합을 통해 반환된 데이터를 처리하는 능력을 보여줍니다.
요구 사항
- Node.js 16 이상
- 클로드 데스크탑
- 극작가 종속성
브라우저 지원
지엑스피1
이 패키지에는 Playwright와 브라우저 자동화 실행에 필요한 종속성이 포함되어 있습니다. npm install
실행하면 필요한 Playwright 종속성이 설치됩니다. 이 패키지는 다음 브라우저를 지원합니다.
- 크롬(기본)
- 파이어폭스
- 마이크로소프트 엣지
- WebKit(Safari 엔진)
브라우저 유형을 처음 사용하면 Playwright가 필요에 따라 해당 브라우저 드라이버를 자동으로 설치합니다. 다음 명령을 사용하여 수동으로 설치할 수도 있습니다.
Safari 관련 참고 사항 : Playwright는 Safari 브라우저를 직접 지원하지 않습니다. 대신 Safari를 구동하는 브라우저 엔진인 WebKit을 사용합니다.
Edge 관련 참고 사항 : 브라우저 유형으로 Edge를 선택하면 에이전트가 실제로 Microsoft Edge(Chromium이 아님)를 실행합니다. 기술적으로 Playwright에서 Edge는 Chromium 기반 브라우저 인스턴스에 'msedge' 채널 매개변수를 사용하여 실행됩니다.
설치
수동 설치
- 이 저장소를 복제하거나 다운로드하세요:
- 종속성 설치:
- 프로젝트를 빌드하세요:
MCP 서버 실행
MCP 서버를 실행하는 방법은 두 가지가 있습니다.
옵션 1: 수동 실행
- 터미널이나 명령 프롬프트를 엽니다
- 프로젝트 디렉토리로 이동합니다
- 서버를 직접 실행합니다.
Claude Desktop을 사용하는 동안 이 터미널 창을 열어 두세요. 터미널을 닫을 때까지 서버가 실행됩니다.
옵션 2: Claude Desktop으로 자동 시작(일반 사용 시 권장)
Claude Desktop은 필요 시 MCP 서버를 자동으로 시작할 수 있습니다. 설정 방법은 다음과 같습니다.
구성
Claude Desktop 구성 파일은 다음 위치에 있습니다.
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- 윈도우 :
%APPDATA%\Claude\claude_desktop_config.json
- 리눅스 :
~/.config/Claude/claude_desktop_config.json
이 파일을 편집하여 브라우저 에이전트 MCP 구성을 추가하세요. 파일이 없으면 새로 만드세요.
중요 : ABSOLUTE_PATH_TO_DIRECTORY
MCP를 설치한 전체 절대 경로 로 바꾸세요.
- macOS/Linux 예:
/Users/username/mcp-browser-agent
- Windows 예:
C:\\Users\\username\\mcp-browser-agent
이미 다른 MCP를 구성했다면 "mcpServers" 객체 안에 "browserAgent" 섹션을 추가하기만 하면 됩니다. 다음은 여러 MCP를 사용한 구성의 예입니다.
브라우저 선택
MCP 브라우저 에이전트는 여러 브라우저 유형을 지원합니다. 기본적으로 Chrome을 사용하지만, 여러 가지 방법으로 다른 브라우저를 지정할 수 있습니다.
옵션 1: 구성 파일
홈 디렉토리에서 .mcp_browser_agent_config.json
파일을 만들거나 편집합니다.
browserType
에 지원되는 값은 다음과 같습니다.
chrome
- 설치된 Chrome을 사용합니다(기본값)firefox
- Firefox 'Nightly' 브라우저를 사용합니다webkit
- WebKit 엔진을 사용합니다(참고: 이것은 Safari 자체가 아니라 Safari를 구동하는 WebKit 렌더링 엔진입니다)edge
- Microsoft Edge를 사용합니다
Safari 관련 참고 사항 : Playwright는 Safari 브라우저를 직접 지원하지 않습니다. 대신 Safari를 구동하는 브라우저 엔진인 WebKit을 사용합니다. Playwright의 WebKit 구현은 유사한 기능을 제공하지만 Safari 브라우저 환경과 동일하지는 않습니다.
옵션 2: 명령줄 인수
MCP 서버를 수동으로 시작할 때 브라우저 유형을 지정할 수 있습니다.
옵션 3: 환경 변수
MCP_BROWSER_TYPE
환경 변수를 설정합니다.
옵션 4: Claude 데스크톱 구성
Claude Desktop의 claude_desktop_config.json
에서 MCP를 구성할 때 브라우저 유형을 지정할 수 있습니다.
기술 구현
MCP 브라우저 에이전트는 모델 컨텍스트 프로토콜(Model Context Protocol)을 기반으로 구축되어 Claude가 Playwright를 통해 헤드풀 브라우저와 상호 작용할 수 있도록 합니다. 구현은 네 가지 주요 구성 요소로 구성됩니다.
- 서버(index.ts)
- Model Context Protocol 표준 프로토콜을 사용하여 MCP 서버를 초기화합니다.
- 도구 및 리소스에 대한 서버 기능을 구성합니다.
- stdio 전송을 통해 Claude와 통신을 설정합니다.
- 도구 레지스트리(tools.ts)
- 브라우저 및 API 도구 스키마를 정의합니다.
- 매개변수, 검증 규칙 및 설명을 지정합니다.
- Claude의 발견을 위해 MCP 서버에 도구를 등록합니다.
- 요청 핸들러(handlers.ts)
- 도구 및 리소스에 대한 MCP 프로토콜 요청을 관리합니다.
- 브라우저 로그와 스크린샷을 쿼리 가능한 리소스로 노출합니다.
- 적절한 핸들러에 도구 실행 요청을 라우팅합니다.
- 실행자(executor.ts)
- 브라우저 및 API 클라이언트 수명 주기를 관리합니다.
- Playwright를 사용하여 브라우저 자동화 기능을 구현합니다.
- 적절한 오류 처리 및 응답 구문 분석을 통해 API 요청을 처리합니다.
- 명령 간에 상태 저장 브라우저 세션을 유지합니다.
에이전트 기능
기본 통합과 달리 MCP Browser Agent는 다음과 같은 기능을 통해 진정한 AI 에이전트로 기능합니다.
- 여러 명령에 걸쳐 지속적인 브라우저 상태 유지
- 디버깅을 위한 자세한 콘솔 로그 캡처
- 참고 및 검토를 위해 스크린샷 저장
- 복잡한 상호작용 시퀀스 관리
- 복구를 위한 자세한 오류 정보 제공
- 복잡한 워크플로에 대한 체인 작업 지원
사용 가능한 도구
브라우저 도구
도구 이름 | 설명 | 매개변수 |
---|---|---|
browser_navigate | URL로 이동 | url (필수), timeout , waitUntil |
browser_screenshot | 스크린샷 캡처 | name (필수), selector , fullPage , mask , savePath |
browser_click | 클릭 요소 | selector (필수) |
browser_fill | 양식 입력 | selector (필수), value (필수) |
browser_select | 드롭다운 옵션을 선택하세요 | selector (필수), value (필수) |
browser_hover | 요소 위에 마우스를 올려 놓으세요 | selector (필수) |
browser_evaluate | JavaScript 실행 | script (필수) |
API 도구
도구 이름 | 설명 | 매개변수 |
---|---|---|
api_get | GET 요청 | url (필수), headers |
api_post | POST 요청 | url (필수), data (필수), headers |
api_put | PUT 요청 | url (필수), data (필수), headers |
api_patch | 패치 요청 | url (필수), data (필수), headers |
api_delete | 삭제 요청 | url (필수), headers |
리소스 액세스
MCP 브라우저 에이전트는 다음 리소스를 제공합니다.
browser://logs
- 브라우저 콘솔 로그에 액세스합니다.screenshot://[name]
- 이름으로 스크린샷에 접근합니다.
사용 예
다음은 Claude와 함께 MCP 브라우저 에이전트를 사용하는 방법에 대한 몇 가지 현실적인 예입니다.
기본 브라우저 탐색
간단한 상호작용
기본 양식 작성
간단한 JavaScript 실행
기본 API 요청
이러한 예는 MCP 브라우저 에이전트의 실제 기능을 나타내며 현재 상태에서 무엇을 달성할 수 있는지에 대해 보다 현실적인 정보를 제공합니다.
문제 해결
"서버 연결 끊김" 오류
Claude Desktop에서 "MCP 브라우저 에이전트: 서버 연결 끊김" 오류가 표시되는 경우:
- 서버가 실행 중인지 확인하세요 .
- 터미널을 열고 프로젝트 디렉토리에서
node dist/index.js
수동으로 실행합니다. - 서버가 성공적으로 시작되면 이 터미널을 열어둔 채로 Claude를 사용하세요.
- 터미널을 열고 프로젝트 디렉토리에서
- 구성을 확인하세요 :
claude_desktop_config.json
의 절대 경로가 시스템에 맞는지 확인하세요.- Windows 경로에 이중 백슬래시(
\\
)를 사용했는지 다시 한 번 확인하세요. - 파일 시스템의 루트에서 전체 경로를 사용하고 있는지 확인하세요.
브라우저가 나타나지 않습니다
브라우저가 실행되지 않거나 보이지 않는 경우:
- 지정된 브라우저가 설치되어 있는지 확인하세요
- 시스템에 브라우저(Chrome, Firefox, Edge 또는 Safari/WebKit)가 설치되어 있는지 확인하세요.
- 브라우저 드라이버는 Playwright에 의해 자동으로 처리됩니다.
- 서버와 Claude Desktop을 다시 시작하세요
- 서버를 실행 중일 수 있는 기존 노드 프로세스를 모두 종료합니다.
- 새로운 연결을 설정하려면 Claude Desktop을 다시 시작하세요.
브라우저 프로세스가 제대로 닫히지 않습니다
Chromium 및 Chrome 브라우저에는 사용 후 프로세스가 제대로 종료되지 않는 알려진 문제가 있습니다. 이 문제가 발생하는 경우:
- 브라우저 프로세스를 수동으로 닫습니다 .
- Windows : Ctrl+Shift+Esc를 눌러 작업 관리자를 열고 Chrome/Chromium 프로세스를 찾아 종료합니다.
- macOS : 활동 모니터를 엽니다(응용 프로그램 > 유틸리티 > 활동 모니터). Chrome/Chromium 프로세스를 찾은 다음 X를 클릭하여 종료합니다.
- Linux :
ps aux | grep chrome
또는ps aux | grep chromium
실행하여 프로세스를 찾은 다음kill <PID>
실행하여 프로세스를 종료합니다.
- 브라우저 호환성에 대한 참고사항 :
- 이 문제는 주로 Chromium 및 Chrome에서 관찰되었습니다.
- Firefox와 Playwright의 내장 브라우저에서는 일반적으로 이 문제가 발생하지 않습니다.
[!주의] 이 MCP 통합은 Playwright를 기반으로 구축되었으며, Playwright의 작동에 영향을 미칠 수 있는 알려진 문제와 버그가 있습니다. 브라우저 자동화 관련 문제가 발생하면 Playwright의 GitHub 문제 게시판에 보고해 주세요. Playwright 팀은 이러한 문제를 해결하기 위해 끊임없이 노력하고 있지만, 이 에이전트는 이러한 제한에도 불구하고 Claude Desktop에서 브라우저 자동화 기능을 위한 기반을 제공합니다.
개발
프로젝트 구조
src/index.ts
: 메인 진입점 및 MCP 서버 초기화src/tools.ts
: 도구 스키마 및 등록src/handlers.ts
: 도구 및 리소스에 대한 MCP 요청 핸들러src/executor.ts
: Playwright를 이용한 도구 구현 로직
건물
변화를 지켜보다
테스트
이 프로젝트에는 핵심 기능과 브라우저 처리를 검증하는 테스트가 포함되어 있습니다.
테스트는 구성 무결성, 브라우저 자동화 기능, 오류 처리 및 프로세스 정리를 검증합니다. 테스트 모음은 특히 Chrome/Chromium 종료와 관련된 알려진 문제로 인해 발생하는 브라우저 프로세스의 적절한 처리에 중점을 둡니다.
보안 고려 사항
[!주의] 이 MCP 통합은 Claude에게 자율적인 브라우저 제어 기능을 제공합니다. 금지된 사용, 보안 관련 영향 및 모범 사례에 대한 중요 정보는 보안 정책을 검토하십시오.
MCP 브라우저 에이전트는 합법적인 자동화 작업을 위해 설계되었지만, 잠재적으로 오용될 수 있습니다. 사용자는 모든 관련 법률, 서비스 약관 및 윤리 지침을 준수하여 사용할 책임이 있습니다. 자세한 내용은 자세한 보안 정책을 참조하십시오.
기여하다
MCP 브라우저 에이전트에 대한 기여를 환영합니다! 다음은 여러분이 도움을 줄 수 있는 몇 가지 분야입니다.
- 새로운 브라우저 자동화 기능 추가
- 오류 처리 및 복구 개선
- 스크린샷 및 리소스 관리 강화
- 유용한 워크플로 및 예제 만들기
- 복잡한 작업에 대한 성능 최적화
특허
이 프로젝트는 Mozilla Public License 2.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.
관련 링크
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Claude Desktop에 자율적인 브라우저 자동화 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 통합입니다. 이 에이전트를 통해 Claude는 웹 콘텐츠와 상호 작용하고, DOM 요소를 조작하고, JavaScript를 실행하고, API 요청을 수행할 수 있습니다.
Related MCP Servers
- AsecurityAlicenseAqualityA headless browser MCP server that allows AI agents to fetch web content and perform Google searches without API keys, supporting various output formats like Markdown, JSON, HTML, and text.Last updated -24TypeScriptMIT License
- -securityAlicense-qualityA MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.Last updated -PythonApache 2.0
- -securityFlicense-qualityA MCP server that allows AI assistants to interact with the browser, including getting page content as markdown, modifying page styles, and searching browser history.Last updated -5TypeScript
- -security-license-qualitySelf-hosted Browser Using Agent with built-in MCP, A2A support.Last updated -1JavaScriptApache 2.0