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 henry@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