Claude Desktop + Playwright MCP 윈도우 설치 런북

alps 7530950 1920
RUNBOOK · MCP · WINDOWS 11

Claude Desktop + Playwright MCP
윈도우 11 설치 런북

Node.js도 깔려 있지 않고 PowerShell도 처음 여는 사용자를 기준으로, Claude Desktop이 브라우저를 자동 조작할 수 있게 만드는 전 과정을 단계별로 안내합니다.

소요 시간
약 20분
난이도
★★☆☆☆
대상 OS
Windows 11
최종 결과물
브라우저 자동화
🎯 이 런북의 목표

Claude Desktop이 MCP 프로토콜로 Microsoft Playwright MCP 서버를 호출하고, 그 서버가 Edge/Chrome 브라우저를 자동 조작하도록 만든다.

Claude Desktop
    ↓ MCP 설정
npx로 @playwright/mcp 실행
    ↓
Microsoft Playwright MCP 서버
    ↓
Edge/Chrome 브라우저 자동 조작

📑 목차

  1. Claude Desktop 설치 확인
  2. Node.js 설치
  3. PowerShell 열기
  4. PowerShell 실행 정책 조정 + Node.js 설치 검증
  5. Playwright MCP 사전 실행 테스트
  6. Claude Desktop 설정 파일 열기
  7. 기존 설정 백업
  8. Playwright MCP 서버 등록
  9. 기존 MCP 설정에 병합하는 경우
  10. JSON 문법 검증
  11. Claude Desktop 완전 종료 후 재시작
  12. Claude Desktop에서 연결 확인
  13. 로컬 WordPress 테스트
  14. 트러블슈팅
  15. 운영 설정 옵션
  16. 보안 주의사항



1

Claude Desktop 설치 확인

1-1. 설치 여부 확인

Claude Install Check 2
📷 이미지 #1 — Windows 시작 메뉴에서 “Claude”를 검색했을 때 표시되는 결과 화면

1-2. Claude Desktop 업데이트

⚠️ 주의

구버전 Claude Desktop은 MCP 설정을 인식하지 못할 수 있습니다. 반드시 최신 버전으로 업데이트한 후 다음 단계로 진행하세요.




2

Node.js 설치

2-1. Node.js 다운로드

Download Node.js
📷 이미지 #2 — nodejs.org 공식 다운로드 페이지에서 LTS 버튼이 강조된 화면

2-2. 설치 진행

# 설치 순서 (모두 기본값 유지)
1. 다운로드한 .msi 파일 더블클릭
2. Next 클릭 → License 동의 체크
3. 설치 경로 기본값 유지
4. Node.js runtime / npm package manager / Add to PATH 
5. Install 클릭 → 권한 요청 시 Yes
6. Finish 클릭
💡 중요

설치가 끝났으면 이미 열려 있던 PowerShell/터미널 창을 모두 닫고 새로 열어야 합니다. PATH 환경변수가 새 창에서만 반영되기 때문입니다.




3

PowerShell 열기

방법 A
시작 메뉴 검색
  1. Windows 키 누름
  2. powershell 입력
  3. “Windows PowerShell” 클릭
방법 B
시작 버튼 우클릭
  1. 시작 버튼 우클릭
  2. “터미널” 또는 “Windows Terminal”
  3. 창이 열리면 준비 완료
powershell initial
📷 이미지 #3 — PowerShell 창이 열린 직후의 초기 상태 (PS C:\Users\… 프롬프트)



4

Node.js / npm / npx 설치 검증

4-0. PowerShell 실행 정책 사전 확인 (필수)

🚨 npx 실행 시 가장 흔한 에러

Windows의 PowerShell은 기본 보안 정책상 .ps1 스크립트 실행을 차단합니다. Node.js 설치 시 함께 들어가는 npx.ps1, npm.ps1 래퍼가 이 정책에 막혀 아래 에러가 납니다. Step 5 진입 전에 반드시 해결해야 합니다.

PS> npx -y @playwright/mcp@latest --help
npx : 이 시스템에서 스크립트를 실행할 수 없으므로
      C:\Program Files\nodejs\npx.ps1 파일을 로드할 수 없습니다.
      자세한 내용은 about_Execution_Policies를 참조하십시오.
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

현재 정책 확인

PS> Get-ExecutionPolicy -List

# 출력 예시 (변경 전 — 문제 상황)
        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined  ← 여기를 RemoteSigned로 변경할 것
 LocalMachine      Restricted  ← 기본값. 시스템 정책은 그대로 둠

정책 변경 (관리자 권한 불필요)

# 현재 사용자에게만 RemoteSigned 적용 (시스템 전체 영향 없음)
PS> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

# 확인 프롬프트가 나오면 Y 또는 A 입력 후 Enter
실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다...
계속하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)
[?] 도움말 (기본값은 "N"): Y
💡 각 옵션의 의미
-Scope CurrentUser시스템 전체가 아니라 현재 로그인 사용자에게만 적용. 다른 계정/시스템 보안 정책에 영향 없음. 관리자 권한 불필요.
RemoteSigned로컬에 설치된 스크립트는 자유롭게 실행, 인터넷에서 다운로드한 스크립트만 디지털 서명 요구. npm 글로벌 패키지는 로컬 설치라 통과. Microsoft가 개발자 환경에서 권장하는 균형점.

변경 결과 확인

PS> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser     RemoteSigned  ← ✅ 변경 완료
 LocalMachine       Restricted
🏢 회사 보안 정책상 변경 불가능한 환경이라면

두 가지 우회 방법이 있습니다.

옵션 A. npx.cmd를 명시적으로 호출 (PowerShell이 .ps1 대신 .cmd 실행)
단, Step 8의 Claude 설정에서도 "command": "npx""command": "npx.cmd"로 변경 필수
옵션 B. CMD(명령 프롬프트)에서 작업 — 시작 메뉴 → cmd 입력. CMD에서는 ExecutionPolicy 영향을 받지 않음.

4-1. node / npm / npx 버전 확인

PS> node --version
# 출력 예시 → v24.15.0  (v18 이상이면 OK)

PS> npm --version
# 출력 예시 → 11.6.2

PS> npx --version
# 출력 예시 → 11.6.2

4-2. 실행 파일 경로 확인

PS> where.exe node
PS> where.exe npm
PS> where.exe npx

# 정상 출력 예시
C:\Program Files\nodejs\node.exe
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Program Files\nodejs\npx
C:\Program Files\nodejs\npx.cmd
✅ 체크포인트

위 명령들이 모두 버전과 경로를 반환하면 Node.js 환경 구축은 완료입니다. 다음 단계로 진행하세요.




5

Playwright MCP 사전 실행 테스트

PS> npx -y @playwright/mcp@latest --help
⏳ 처음 실행 시

패키지를 다운로드하느라 1~2분 정도 걸릴 수 있습니다. 정상 출력에는 --browser, --headless, --isolated 같은 옵션 설명이 포함되어야 합니다.

npx help
📷 이미지 #4 — PowerShell에서 npx로 Playwright MCP를 실행했을 때 표시되는 옵션 목록



6

Claude Desktop 설정 파일 열기

방법 A. Claude Desktop UI에서 열기 (권장)

# Claude Desktop UI 메뉴 경로
Claude Desktop 실행
   Settings
   Developer
   Edit Config  ← 클릭하면 설정 파일이 열림
claude settings developer
📷 이미지 #5 — Claude Desktop의 Settings → Developer 탭에서 Edit Config 버튼이 보이는 화면

방법 B. PowerShell에서 직접 열기

PS> notepad "$env:APPDATA\Claude\claude_desktop_config.json"

PS> New-Item -ItemType Directory -Force "$env:APPDATA\Claude" | Out-Null

PS> if (!(Test-Path "$env:APPDATA\Claude\claude_desktop_config.json")) {
        '{}' | Set-Content -Encoding UTF8 "$env:APPDATA\Claude\claude_desktop_config.json"
      }

PS> notepad "$env:APPDATA\Claude\claude_desktop_config.json"



7

기존 설정 백업

# 설정 파일 경로를 변수에 저장
PS> $cfg = "$env:APPDATA\Claude\claude_desktop_config.json"

# 타임스탬프를 붙여 백업본 생성
PS> Copy-Item $cfg "$cfg.bak-$(Get-Date -Format yyyyMMdd-HHmmss)"
📁 백업 파일 위치

같은 폴더(%APPDATA%\Claude\)에 claude_desktop_config.json.bak-20260509-153000 형식으로 생성됩니다.




8

Playwright MCP 서버 등록

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@latest",
        "--browser=msedge"
      ]
    }
  }
}

각 옵션의 의미

-y
npx가 패키지 설치 확인 질문을 하지 않도록 자동 승인
@playwright/mcp@latest
Microsoft Playwright MCP 최신 패키지 실행
–browser=msedge
Windows에 기본 설치된 Microsoft Edge 사용



9

기존 MCP 설정에 병합하는 경우

기존 파일이 이런 모습이라면

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\JJ\\Downloads"
      ]
    }
  }
}

이렇게 병합합니다

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\JJ\\Downloads"
      ]
    },  ← 쉼표 추가 필수
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@latest",
        "--browser=msedge"
      ]
    }
  }
}
🚨 JSON 작성 시 주의사항
  1. 중괄호 { }와 대괄호 [ ] 짝이 맞아야 함
  2. 항목 사이에는 쉼표 필요
  3. 마지막 항목 뒤에는 쉼표 금지 (가장 흔한 에러)
  4. Windows 경로는 \ 대신 \\ (이중 백슬래시) 사용



10

JSON 문법 검증

PS> node -e "const fs=require('fs'); const p=process.env.APPDATA + '/Claude/claude_desktop_config.json'; JSON.parse(fs.readFileSync(p,'utf8')); console.log('JSON OK:', p)"

# 정상 출력
JSON OK: C:\Users\...\AppData\Roaming\Claude\claude_desktop_config.json
🐛 에러가 나는 경우

대부분 쉼표, 따옴표, 중괄호 문제입니다. SyntaxError: Unexpected token ... at position N 메시지의 position 숫자가 문제 위치입니다.




11

Claude Desktop 완전 종료 후 재시작

🚨 가장 자주 놓치는 단계

창만 X로 닫으면 안 됩니다. Claude Desktop은 트레이에 상주하므로, 반드시 완전 종료해야 새 설정이 로드됩니다.

완전 종료 방법 두 가지

방법 A
메뉴에서 종료
Claude Desktop → File → Quit
방법 B
트레이에서 종료
화면 우측 하단 트레이 아이콘 우클릭 → Quit

claude mcp availability
📷 이미지 #6 — Claude Desktop MCP 서버 연결 상태 표시



12

Claude Desktop에서 연결 확인

# Claude Desktop 입력창에 그대로 붙여넣기
Use Playwright to navigate to https://demo.playwright.dev/todomvc
and add a todo item named "JJ MCP test".

정상이라면 다음과 같이 동작합니다

  1. Edge 브라우저가 자동으로 열림
  2. Claude가 TodoMVC 페이지로 이동
  3. Todo 입력창을 자동으로 찾음
  4. “JJ MCP test”를 자동으로 입력
mcp test results
📷 이미지 #7 — Claude가 Playwright로 자동 조작한 TodoMVC 페이지 (JJ MCP test 항목 추가 완료 상태)



13

로컬 WordPress 테스트

로그인 페이지 확인

Use Playwright to open http://localhost:8080/wp-admin
and tell me whether the WordPress login page is visible.

관리자 메뉴 확인

Use Playwright to open http://localhost:8080/wp-admin,
wait for the WordPress admin page,
then navigate to the admin menu
and describe what you see.
🔐 보안 권고

관리자 비밀번호를 채팅창에 그대로 붙여넣지 마세요. 테스트 전용 WordPress 관리자 계정을 별도로 만들어 그 계정만 사용하는 것이 안전합니다.




14

트러블슈팅

14-1. node가 인식되지 않을 때

# 에러 메시지 예시
'node' is not recognized as an internal or external command
조치 순서
  1. Node.js 설치가 정상적으로 끝났는지 확인
  2. 현재 열려 있는 PowerShell 창을 모두 닫기
  3. 새 PowerShell을 다시 열기 (PATH 환경변수 새로 로드)
  4. node --version 재실행
  5. 그래도 안 되면 Windows 재부팅

14-2. npx가 인식되지 않을 때

PS> where.exe npx
# 아무것도 출력되지 않으면 Node.js 재설치 필요

14-3. Claude Desktop에 Playwright가 안 보일 때

# 1. 환경 검증
PS> node --version
PS> npm --version
PS> npx --version

# 2. Playwright MCP 직접 실행
PS> npx -y @playwright/mcp@latest --help

# 3. JSON 문법 검증
PS> node -e "JSON.parse(require('fs').readFileSync(process.env.APPDATA+'/Claude/claude_desktop_config.json','utf8')); console.log('OK')"

# 4. Claude Desktop 완전 종료 후 재시작

14-4. 로그 확인

# 로그 폴더 내용 확인
PS> Get-ChildItem "$env:APPDATA\Claude\logs"

# 최근 MCP 로그 5개
PS> Get-ChildItem "$env:APPDATA\Claude\logs\mcp*.log" | Sort-Object LastWriteTime -Descending | Select-Object -First 5

# 가장 최근 로그의 끝 80줄
PS> Get-Content "$env:APPDATA\Claude\logs\mcp.log" -Tail 80

14-5. PowerShell 실행 정책 에러 (PSSecurityException / UnauthorizedAccess)

# 에러 메시지
npx : 이 시스템에서 스크립트를 실행할 수 없으므로
      C:\Program Files\nodejs\npx.ps1 파일을 로드할 수 없습니다.
    + FullyQualifiedErrorId : UnauthorizedAccess

# 즉시 해결 — 한 줄로 끝
PS> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

# 확인 프롬프트에 Y 입력 후 Enter
[Y] 예(Y)  [A] 모두 예(A)  ...  [?] 도움말 (기본값은 "N"): Y

# 다시 시도
PS> npx -y @playwright/mcp@latest --help
# → 정상 실행
🔒 보안 영향

RemoteSigned는 인터넷에서 다운로드한 스크립트는 여전히 디지털 서명을 요구합니다. 무방비 상태가 아닙니다. -Scope CurrentUser로 제한했으므로 시스템 전체 정책(LocalMachine)은 그대로 Restricted를 유지합니다.




15

운영 설정 옵션

옵션 1. 기본 추천 — 브라우저가 보이는 모드

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@latest",
        "--browser=msedge"
      ]
    }
  }
}

옵션 2. 격리 모드 — 매번 깨끗한 세션

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@latest",
        "--browser=msedge",
        "--isolated"
      ]
    }
  }
}

옵션 3. Headless 모드 — 브라우저 창 없이 실행

⚠️ 권장 사용 시점

초보자는 사용하지 말고, 모든 기본 설정에 익숙해진 다음에만 사용합니다. 화면이 안 보이면 디버깅이 어렵습니다.

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@latest",
        "--browser=msedge",
        "--headless"
      ]
    }
  }
}



16

보안 주의사항

🚨 Microsoft 공식 명시 사항

Playwright MCP는 브라우저를 실제로 조작할 수 있는 강력한 도구입니다. Microsoft 저장소는 Playwright MCP가 “security boundary가 아니다”라고 명시합니다. 즉, 자동화된 행위가 잘못 실행되어도 시스템이 차단해주지 않습니다.

JJ 환경에서 안전하게 운용하는 5가지 원칙

1
테스트 전용 계정 사용
운영 WordPress 관리자 계정 대신 테스트 전용 계정을 별도로 만들어 사용
2
실서버 위험 화면 자동 조작 금지
결제, 삭제, 배포, 권한 변경 같은 비가역적 화면은 자동화에서 제외
3
Headless 미사용
초기에는 반드시 브라우저가 보이는 모드로만 사용하여 동작을 눈으로 확인
4
Tool action 내용 확인 후 승인
Claude가 요청하는 각 tool action의 파라미터를 확인한 뒤 명시적으로 승인
5
로컬 Docker WordPress에서 선검증
새 자동화 흐름은 항상 로컬 Docker WordPress에서 먼저 검증한 뒤 운영 환경에 적용



📋 최종 실행 순서 요약

  1. Claude Desktop 설치 / 업데이트
  2. Node.js LTS Windows Installer 설치
  3. PowerShell 새로 열기
  4. node --version / npm --version / npx --version 검증
  5. npx -y @playwright/mcp@latest --help 실행 확인
  6. Claude Desktop → Settings → Developer → Edit Config
  7. claude_desktop_config.json 백업
  8. Playwright MCP 설정 JSON 추가
  9. JSON 문법 검사 통과
  10. Claude Desktop 완전 종료 후 재시작
  11. Claude Desktop에서 TodoMVC 테스트
  12. 로컬 WordPress 테스트로 확장

📚 참고 자료

위로 스크롤