/ 디렉터리 / 플레이그라운드 / Windows MCP
● 커뮤니티 CursorTouch ⚡ 바로 사용

Windows MCP

제작: CursorTouch · CursorTouch/Windows-MCP

Windows 컴퓨터 사용 — Claude가 UI Automation 트리를 읽어(픽셀만이 아닌) Excel, Outlook, 레거시 업무 앱을 안정적으로 조작.

Windows MCP는 Windows UI Automation API와 스크린샷 + 입력 합성을 MCP 도구로 노출합니다. 픽셀만 사용하는 컴퓨터 사용과 달리, Claude에게 데스크탑 트리의 구조적 뷰를 제공합니다 — 창, 컨트롤, 이름, automation ID — 레이아웃이 변경되어도 올바른 컨트롤을 클릭할 수 있습니다. API가 없는 내부 Windows 소프트웨어 자동화를 위해 설계되었습니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

windows-mcp-cursortouch.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "windows-mcp-cursortouch": {
      "command": "uvx",
      "args": [
        "windows-mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "windows-mcp-cursortouch": {
      "command": "uvx",
      "args": [
        "windows-mcp"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "windows-mcp-cursortouch": {
      "command": "uvx",
      "args": [
        "windows-mcp"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "windows-mcp-cursortouch": {
      "command": "uvx",
      "args": [
        "windows-mcp"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "windows-mcp-cursortouch",
      "command": "uvx",
      "args": [
        "windows-mcp"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "windows-mcp-cursortouch": {
      "command": {
        "path": "uvx",
        "args": [
          "windows-mcp"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add windows-mcp-cursortouch -- uvx windows-mcp

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: Windows MCP

API가 없는 Windows 전용 업무 앱 자동화

👤 UiPath 라이선스에 질린 RPA 엔지니어 ⏱ ~60 min advanced

언제 쓸까: 내부 앱 벤더가 API를 공개하지 않을 때; Claude가 일일 데이터를 입력해야 할 때.

사전 조건
  • 대상 앱이 설치된 Windows 10/11 — 표준 설치
  • uvx를 위한 Python 3.10+ — winget install Python.Python.3.12
흐름
  1. UI 트리 검사
    BookingSystem.exe 앱을 실행한 후 메인 창의 UI 트리를 덤프하세요. automation ID를 보고 싶습니다.✓ 복사됨
    → 이름 없는 버튼이 아닌 AutomationId가 있는 컨트롤이 트리에 표시됨
  2. 정상 경로 한 번 수행
    이제: 새 예약 대화상자를 열고, 고객 'Acme Inc', 날짜 2026-05-12를 입력하고 저장하세요. 마지막에 스크린샷을 찍으세요.✓ 복사됨
    → 예약 저장됨; 스크린샷으로 확인
  3. 일반화하여 반복
    /work/bookings.csv를 읽으세요. 각 행에 대해 예약 흐름을 반복하세요. 스크린샷을 /work/runs/에 저장하세요.✓ 복사됨
    → 각 행이 처리됨; 예약별 스크린샷

결과: CSV에서 재현 가능한 벤더 앱 헤드리스 자동화

함정
  • 앱이 커스텀 컨트롤을 사용함 (예: AutomationId가 없는 WinForms ListView) — 고정된 창 위치의 좌표 클릭으로 대체; 취약성을 문서화
  • 루프 중간에 모달 대화상자가 포커스를 빼앗음 — send_keys 전에 항상 활성 창을 확인; 예상치 못한 경우 중단
함께 쓰기: filesystem

Excel API 없이 Excel 데이터 추출

👤 IT가 COM/Office API를 활성화하지 않는 환경의 분석가 ⏱ ~15 min intermediate

언제 쓸까: Excel을 열 수 있지만 프로그래밍적으로 접근할 수 없을 때.

흐름
  1. 파일 열기
    Excel을 실행하고 C:\reports\Q2.xlsx를 열어 'Sales' 시트에 포커스를 맞추세요.✓ 복사됨
    → 창 제목에 파일명 표시됨
  2. 범위 복사
    A1:D200을 선택하고 클립보드에 복사한 후 클립보드 텍스트를 읽으세요.✓ 복사됨
    → 탭으로 구분된 표 반환됨
  3. 파일 시스템을 통해 CSV로 저장
    행으로 파싱하여 /tmp/Q2-sales.csv에 저장하세요.✓ 복사됨
    → CSV 생성됨

결과: COM API를 건드리거나 서드파티 패키지를 설치하지 않고도 Excel 데이터를 CSV 형식으로 추출

함정
  • Excel 버전에 따라 클립보드 형식이 다름 — CSV 먼저 시도; 클립보드 변형을 통해 TSV로 대체
함께 쓰기: filesystem

집중하는 동안 팀원을 위한 데스크탑 버그 캡처

👤 지원 업무를 병행하는 개발자 ⏱ ~5 min beginner

언제 쓸까: Windows 환경에서 플레이크가 재현되고 깔끔한 스크린샷 + 재현 지침을 원할 때.

흐름
  1. 재현 및 캡처
    활성 앱 창의 스크린샷을 찍으세요. bug.png로 저장하세요.✓ 복사됨
    → PNG 저장됨
  2. 단계 주석
    티켓에 붙여 넣을 수 있도록 마지막으로 상호 작용한 5개의 UI 요소 — 창 제목, 대화상자 레이블 — 를 나열하세요.✓ 복사됨
    → 구체적인 요소 수준의 재현 단계

결과: 창 전환 없이 범위가 좁혀진 버그 티켓

함정
  • 스크린샷에 개인 정보 포함 — 전체 데스크탑이 아닌 활성 창만 자르기
함께 쓰기: github

조합

다른 MCP와 조합해 10배 효율

windows-mcp-cursortouch + filesystem

CSV 입력으로 데스크탑 앱 조작

/work/orders.csv를 읽으세요. 각 행에 대해 예약 앱을 클릭하여 진행하세요.✓ 복사됨
windows-mcp-cursortouch + github

데스크탑 버그 캡처 후 이슈 등록

활성 창을 스크린샷 찍고, PNG와 재현 단계가 포함된 GitHub 이슈를 생성하세요.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
list_windows (없음) 대상 앱 찾기 free
get_ui_tree window_id? 클릭 전 탐색 free
click automation_id | x,y 알려진 컨트롤 클릭 free
type_text text: str 포커스된 필드에 텍스트 입력 free
send_keys keys: str (e.g. 'ctrl+s') 단축키 / 수정자 키 free
screenshot window_id?, region? 시각적 확인 free
launch_process exe: str 대상 앱 시작 free
read_clipboard (없음) 복사 후 free

비용 및 제한

운영 비용

API 쿼터
없음 — 로컬 자동화
호출당 토큰
50–500 (UI 트리 덤프는 더 클 수 있음)
금액
무료 OSS
매 단계마다 전체 UI 트리를 덤프하지 말 것 — window_id로 범위 좁히기

보안

권한, 시크릿, 파급범위

최소 스코프: 로컬 데스크탑 세션 제어
자격 증명 저장: 없음 — 하지만 Claude가 화면에 표시된 것을 볼 수 있음
데이터 외부 송신: 로컬; 네트워크 MCP를 추가로 허용하지 않는 한 기기를 벗어나지 않음
절대 부여 금지: administrator account auto-launch remote access pairing

문제 해결

자주 발생하는 오류와 해결

automation_id로 컨트롤을 찾을 수 없음

앱이 동적 ID나 ID가 없음. get_ui_tree를 사용하여 이름/역할 계층으로 매칭

확인: Microsoft inspect.exe로 검사
클릭이 잘못된 창에 도달

클릭 전에 항상 대상 창에 set_focus 호출; 이후 활성 창 확인

uvx 설치가 'wheel' 오류로 실패

Visual C++ Build Tools 설치; 일부 pywin32 의존성이 필요

대안

Windows MCP 다른 것과 비교

대안언제 쓰나단점/장점
Anthropic Computer Use (pixel)크로스 플랫폼 픽셀 기반 제어가 필요할 때Windows에서 UIA 기반보다 덜 안정적; 레이아웃 변경에 더 취약
AutoIt / PowerShellLLM 없이 스크립팅할 때에이전트 레이어 없음; 수동 스크립팅만
Peekaboo (macOS)Windows가 아닌 macOS를 사용할 때다른 OS; 교환 불가

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기