Claude Desktop + Playwright MCP
윈도우 11 설치 런북
Node.js도 깔려 있지 않고 PowerShell도 처음 여는 사용자를 기준으로, Claude Desktop이 브라우저를 자동 조작할 수 있게 만드는 전 과정을 단계별로 안내합니다.
Claude Desktop이 MCP 프로토콜로 Microsoft Playwright MCP 서버를 호출하고, 그 서버가 Edge/Chrome 브라우저를 자동 조작하도록 만든다.
Claude Desktop
↓ MCP 설정
npx로 @playwright/mcp 실행
↓
Microsoft Playwright MCP 서버
↓
Edge/Chrome 브라우저 자동 조작
📑 목차
Claude Desktop 설치 확인
1-1. 설치 여부 확인

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

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 환경변수가 새 창에서만 반영되기 때문입니다.
PowerShell 열기
- Windows 키 누름
powershell입력- “Windows PowerShell” 클릭
- 시작 버튼 우클릭
- “터미널” 또는 “Windows Terminal”
- 창이 열리면 준비 완료

Node.js / npm / npx 설치 검증
4-0. PowerShell 실행 정책 사전 확인 (필수)
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
두 가지 우회 방법이 있습니다.
npx.cmd를 명시적으로 호출 (PowerShell이 .ps1 대신 .cmd 실행)단, Step 8의 Claude 설정에서도
"command": "npx" → "command": "npx.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 환경 구축은 완료입니다. 다음 단계로 진행하세요.
Playwright MCP 사전 실행 테스트
PS> npx -y @playwright/mcp@latest --help
패키지를 다운로드하느라 1~2분 정도 걸릴 수 있습니다. 정상 출력에는 --browser, --headless, --isolated 같은 옵션 설명이 포함되어야 합니다.

Claude Desktop 설정 파일 열기
방법 A. Claude Desktop UI에서 열기 (권장)
# Claude Desktop UI 메뉴 경로 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"
기존 설정 백업
# 설정 파일 경로를 변수에 저장 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 형식으로 생성됩니다.
Playwright MCP 서버 등록
{ "mcpServers": { "playwright": { "command": "npx", "args": [ "-y", "@playwright/mcp@latest", "--browser=msedge" ] } } }
각 옵션의 의미
기존 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" ] } } }
- 중괄호
{ }와 대괄호[ ]짝이 맞아야 함 - 항목 사이에는 쉼표 필요
- 마지막 항목 뒤에는 쉼표 금지 (가장 흔한 에러)
- Windows 경로는
\대신\\(이중 백슬래시) 사용
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 숫자가 문제 위치입니다.
Claude Desktop 완전 종료 후 재시작
창만 X로 닫으면 안 됩니다. Claude Desktop은 트레이에 상주하므로, 반드시 완전 종료해야 새 설정이 로드됩니다.
완전 종료 방법 두 가지

Claude Desktop에서 연결 확인
# Claude Desktop 입력창에 그대로 붙여넣기 Use Playwright to navigate to https://demo.playwright.dev/todomvc and add a todo item named "JJ MCP test".
정상이라면 다음과 같이 동작합니다
- Edge 브라우저가 자동으로 열림
- Claude가 TodoMVC 페이지로 이동
- Todo 입력창을 자동으로 찾음
- “JJ MCP test”를 자동으로 입력

로컬 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-1. node가 인식되지 않을 때
# 에러 메시지 예시 'node' is not recognized as an internal or external command
- Node.js 설치가 정상적으로 끝났는지 확인
- 현재 열려 있는 PowerShell 창을 모두 닫기
- 새 PowerShell을 다시 열기 (PATH 환경변수 새로 로드)
node --version재실행- 그래도 안 되면 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를 유지합니다.
운영 설정 옵션
옵션 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" ] } } }
보안 주의사항
Playwright MCP는 브라우저를 실제로 조작할 수 있는 강력한 도구입니다. Microsoft 저장소는 Playwright MCP가 “security boundary가 아니다”라고 명시합니다. 즉, 자동화된 행위가 잘못 실행되어도 시스템이 차단해주지 않습니다.
JJ 환경에서 안전하게 운용하는 5가지 원칙
📋 최종 실행 순서 요약
- Claude Desktop 설치 / 업데이트
- Node.js LTS Windows Installer 설치
- PowerShell 새로 열기
node --version/npm --version/npx --version검증npx -y @playwright/mcp@latest --help실행 확인- Claude Desktop → Settings → Developer → Edit Config
claude_desktop_config.json백업- Playwright MCP 설정 JSON 추가
- JSON 문법 검사 통과
- Claude Desktop 완전 종료 후 재시작
- Claude Desktop에서 TodoMVC 테스트
- 로컬 WordPress 테스트로 확장
