screen-vision-mcp

GoldenPillow/screen-vision-mcp

3.1

If you are the rightful owner of screen-vision-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Screen Vision MCP Server v2.0 is an advanced automation server designed to bypass crawling restrictions through direct screen manipulation.

Screen Vision MCP Server v2.0 🚀

크롤링 제한된 페이지를 화면 직접 조작으로 우회하는 고급 자동화 MCP 서버입니다.

✨ v2.0 새로운 기능

🤖 자동화 기능

  • click_element: 좌표나 텍스트로 요소 클릭 (OCR 기반)
  • scroll_page: 페이지 스크롤 (상하좌우)
  • type_text: 텍스트 자동 입력
  • press_key: 키보드 단축키 실행
  • wait_for_element: 특정 요소가 나타날 때까지 대기
  • automated_browse: 자동 페이지 탐색 및 데이터 수집

🔍 OCR 및 비전 분석

  • extract_text_from_screen: Tesseract.js 기반 텍스트 추출
  • find_clickable_elements: 클릭 가능한 UI 요소 자동 감지

📸 기존 기능 (개선됨)

  • capture_screen: 화면 캡처
  • analyze_ui_elements: UI 요소 분석
  • create_ui_guide: 시각적 가이드 생성
  • create_answer_overlay: 답변 오버레이 표시

🎯 크롤링 우회 시나리오

1. 로그인이 필요한 사이트

// 1. 현재 화면 캡처
await capture_screen({});

// 2. 로그인 버튼 클릭
await click_element({ text: "로그인" });

// 3. 아이디 입력
await click_element({ text: "아이디" });
await type_text({ text: "your_username", clear_before: true });

// 4. 비밀번호 입력
await press_key({ key: "tab" });
await type_text({ text: "your_password" });

// 5. 로그인 버튼 클릭
await click_element({ text: "로그인" });

// 6. 페이지 로딩 대기
await wait_for_element({ text: "대시보드", timeout: 10 });

2. 무한 스크롤 데이터 수집

// 자동으로 스크롤하면서 데이터 수집
await automated_browse({
  target_text: "더보기",
  max_clicks: 10,
  scroll_between_clicks: true,
  extract_content: true
});

3. CAPTCHA나 보안 검증 우회

// 1. 현재 화면 분석
await analyze_ui_elements({ focus_area: "전체화면" });

// 2. CAPTCHA 이미지에서 텍스트 추출
await extract_text_from_screen({ 
  region: { x: 100, y: 200, width: 200, height: 50 } 
});

// 3. 추출된 텍스트 입력
await click_element({ x: 300, y: 250 });
await type_text({ text: "추출된_텍스트" });

🛠️ 설치 및 설정

1. 의존성 설치

cd "D:\Projects\Testing-Lab\Experiments\screen-vision-mcp"
npm install

2. 새로운 의존성 추가

npm install robotjs tesseract.js

3. 빌드

npm run build

4. Claude Desktop 설정

{
  "mcpServers": {
    "screen-vision": {
      "command": "node",
      "args": ["D:/Projects/Testing-Lab/Experiments/screen-vision-mcp/dist/index.js"],
      "env": {}
    }
  }
}

🎮 사용 예시

기본 자동화 워크플로우

1. capture_screen() - 현재 상태 확인
2. extract_text_from_screen() - 페이지 내용 읽기
3. find_clickable_elements() - 클릭 가능한 요소 찾기
4. click_element() - 원하는 요소 클릭
5. wait_for_element() - 페이지 로딩 대기
6. scroll_page() - 추가 콘텐츠 로드
7. automated_browse() - 반복 작업 자동화

Claude와의 대화 예시

  • "이 페이지에 로그인해줘"
  • "아래로 스크롤해서 더 많은 콘텐츠를 찾아줘"
  • "'다음 페이지' 버튼을 찾아서 클릭해줘"
  • "이 폼에 데이터를 입력해줘"
  • "페이지의 모든 텍스트를 추출해줘"

🔧 기술 스택

  • RobotJS: 마우스/키보드 자동화
  • Tesseract.js: OCR 텍스트 인식
  • Sharp: 이미지 처리 및 메타데이터
  • Screenshot-desktop: 화면 캡처
  • TypeScript: 타입 안전성
  • MCP SDK: Model Context Protocol

⚠️ 주의사항

권한 요구사항

  • Windows: 접근성 권한, 관리자 권한 (첫 실행 시)
  • macOS: 접근성 권한, 화면 기록 권한
  • Linux: X11 권한

보안 고려사항

  • 스크린샷에 민감한 정보가 포함될 수 있음
  • 자동화 스크립트는 신중하게 사용
  • 웹사이트 이용약관 준수 필요

성능 최적화

  • OCR 처리는 CPU 집약적 (영역 지정 권장)
  • 스크린샷은 임시 폴더에 저장됨
  • 대량 데이터 수집 시 속도 제한 권장

🚨 윤리적 사용

이 도구는 다음 목적으로만 사용해야 합니다:

  • 접근성 개선
  • 합법적인 데이터 수집
  • 개인 업무 자동화
  • 테스트 및 개발

금지사항:

  • 무단 크롤링
  • 서비스 약관 위반
  • 개인정보 무단 수집
  • 악의적 목적 사용

버전: 2.0.0
개발자: Assistant
라이선스: MIT
업데이트: 2025-05-25