Chrome MCP Stealth
Chrome MCP Stealth
Chrome DevTools Protocol을 통한 스텔스 브라우저 자동화용 MCP 서버입니다. 봇 탐지를 피하기 위해 인간과 유사한 상호작용 패턴(베지에 마우스 곡선, 가우시안 타이핑 지연, 스크롤 지터)을 사용하여 실제 Chrome 인스턴스에 연결합니다.
목적
표준 브라우저 자동화 도구(Playwright, Puppeteer, Selenium)는 현대의 안티봇 시스템에 의해 쉽게 탐지됩니다. 사이트들은 마우스 움직임(직선, 즉각적인 순간 이동), 타이핑 패턴(일정한 지연), JavaScript 속성(navigator.webdriver, 누락된 플러그인)을 지문으로 사용하여 자동화된 접근을 차단합니다.
Chrome MCP Stealth는 Playwright의 CDP 연결을 통해 실제 Chrome 인스턴스(헤드리스 브라우저나 새 프로필이 아닌, 쿠키, 확장 프로그램, 기록이 그대로 유지된 실제 브라우저) 위에 인간과 유사한 동작을 계층화하여 이 문제를 해결합니다.
기능
스텔스 모드: 베지에 마우스 이동, 가우시안 키 입력 지연, 스크롤 지터, 탐지 방지 JS 패치
빠른 모드: 지연 없는 즉각적인 작업 — 보호되지 않은 도메인에서 사용 가능
보안: 프롬프트 인젝션, 데이터 유출 및 자격 증명 유출에 대한 4단계 방어
단일 파일: 전체 서버가 하나의
index.js파일로 구성됨 (~630줄)
스텔스 작동 방식
마우스 이동은 무작위 제어점이 있는 3차 베지에 곡선을 따라 직선이 아닌 자연스러운 호를 그립니다. 각 이동은 ease-in-out 타이밍과 간헐적인 오버슈트 보정을 포함하여 12~50개의 보간 단계를 사용합니다.
타이핑은 가우시안 분포를 따르는 키 간 지연(평균 약 75ms)을 사용하며, 문장 부호 뒤의 추가 일시 중지와 약 10자마다 주기적인 "생각하는 일시 중지"를 포함하여 인간의 타이핑 리듬을 모방합니다.
스크롤은 지터가 포함된 다단계 증분으로 나뉘어 정착 지연을 가지며, 자동화를 알리는 즉각적인 점프를 방지합니다.
탐지 방지 패치는 navigator.webdriver를 제거하고, window에서 Playwright/Selenium 아티팩트를 정리하며, 실제 chrome.runtime 및 플러그인 스텁을 주입합니다.
전체 구현 세부 정보는 ARCHITECTURE.md를 참조하세요.
보안 모델
프롬프트 인젝션 스캐너 — 20개 이상의 정규식 패턴이 페이지 콘텐츠 내의 명령 재정의 시도, 사회 공학적 기법 및 데이터 유출 명령을 탐지합니다.
콘텐츠 살균 — 페이지 텍스트를 반환하기 전에 숨겨진/보이지 않는 요소가 제거되어 크기가 0이거나 화면 밖의 요소를 통한 인젝션을 방지합니다.
콘텐츠 스포트라이팅 — 모든 페이지 콘텐츠는 보안 푸터가 포함된
<EXTERNAL_CONTENT trust="untrusted">태그로 감싸집니다.도메인 제어 — 클라우드 메타데이터 엔드포인트는 완전히 차단됩니다. 금융/이메일 도메인은 경고를 트리거하며, 스텔스 전용 도메인은 스텔스 모드를 강제합니다.
또한, 모든 출력은 자격 증명 패턴(API 키, 토큰, JWT)에 대해 스캔되고 반환되기 전에 수정(redacted)됩니다.
도구 (11)
도구 | 목적 |
| 스텔스/빠른 모드 간 전환 |
| URL로 이동 |
| 살균된 접근성 트리 가져오기 |
| PNG 스크린샷 찍기 |
| 요소 클릭 (스텔스 모드 시 베지에 마우스 사용) |
| 텍스트 입력 (스텔스 모드 시 가우시안 지연 사용) |
| 탭 목록/전환/생성/닫기 |
| 페이지 컨텍스트에서 JS 실행 (출력 수정됨) |
| 선택자 또는 타임아웃 대기 |
| 스크롤 위/아래 (스텔스 모드 시 지터 적용) |
| 현재 URL, 제목, 도메인 위험도 가져오기 |
설정
CDP로 Chrome 실행:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222 \ --user-data-dir=~/.chrome-debug-profile설치 및 실행:
npm install npm startMCP 설정에 등록:
{ "chrome-stealth": { "command": "node", "args": ["path/to/chrome-mcp/index.js"], "env": { "CDP_ENDPOINT": "http://127.0.0.1:9222" } } }
스텔스 전용 도메인
LinkedIn(linkedin.com, www.linkedin.com)은 스텔스 모드를 강제하며 빠른 모드는 차단됩니다. 이는 탐색, 모드 전환, 모든 상호작용, 리다이렉트 후, 탭 전환 등 5단계에서 강제됩니다.
의존성
@modelcontextprotocol/sdk— MCP 프로토콜 구현playwright-core— Chrome DevTools Protocol 연결
라이선스
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/Riaan-Fourie/chrome-mcp-stealth'
If you have feedback or need assistance with the MCP directory API, please join our Discord server