테마
Scene E · MCP 연동
💡 이 실습에서 사용하는 MCP(Model Context Protocol)의 개념과 원리는 기능 카탈로그 · MCP에서 자세히 볼 수 있습니다.
목표
Playwright MCP를 설정하여 실행 중인 To-Do 앱의 핵심 사용자 흐름을 자율 E2E 테스트합니다. 선택 과정에서는 Fetch MCP로 외부 웹 자료를 조회하고 코드 개선 아이디어를 얻습니다.
사전 준비
- 할 일 앱 프로젝트(vibe-todo 또는 spec-todo)가 열린 상태
- 인터넷 연결 필요
- Node.js 설치 완료
빠른 필수 경로
앱의 핵심 흐름을 E2E로 확인하려면 아래 순서만 진행하세요.
- 0단계에서 개발 서버를 실행하고 실제 로컬 URL을 확인합니다.
- 5단계에서 Playwright MCP를 설정합니다.
- 6단계에서 추가·완료·필터·새로고침을 테스트합니다.
- 7단계에서 결과와 스크린샷을 검토합니다.
1~4단계의 Fetch MCP와 마지막 Skills·Powers 섹션은 외부 정보 탐색과 확장 기능을 위한 선택 심화 과정입니다.
해볼 것
0단계: 개발 서버 실행
먼저 Kiro 터미널을 열고 Node.js와 npm이 설치되어 있는지 확인합니다:
bash
node --version
npm --versionTo-Do 앱이 index.html, css/, js/로 구성된 순수 정적 프로젝트라면 프로젝트 루트에서 다음 명령을 실행합니다:
bash
npx serve .터미널에 표시되는 로컬 URL(예: http://localhost:3000)을 브라우저에서 열어 앱이 보이는지 확인합니다.
앱이 Vite 기반이라면 프로젝트 루트에서 다음 명령을 차례로 실행합니다:
bash
npm install
npm run dev이 경우에도 터미널에 표시되는 로컬 URL(예: http://localhost:5173)을 브라우저에서 확인합니다. 포트는 환경에 따라 달라질 수 있으므로, 이후 단계에서는 예시 포트가 아니라 터미널에 실제로 출력된 URL을 사용하세요. 서버를 중지할 때는 터미널에서 Ctrl+C를 누릅니다.
1단계: (선택) Fetch MCP 설정
Fetch MCP 서버 실행에는 uvx가 필요합니다. Playwright 빠른 경로만 진행한다면 설치하지 않아도 됩니다.
bash
brew install uv
uvx --versionbash
curl -LsSf https://astral.sh/uv/install.sh | sh
uvx --versionKiro 패널에서 MCP Servers 섹션 → 버튼을 클릭하여 설정 파일을 생성합니다.
또는 아래 프롬프트를 사용:
MCP 서버 설정 프롬프트
text
웹 콘텐츠에 접근할 수 있는 Fetch MCP 서버를 설정해주세요.
설정 요구사항:
- 서버명: fetch
- 웹 페이지 내용 가져오기 기능
- 자동 승인 설정
설정 파일 위치: .kiro/settings/mcp.json생성된 파일 확인 (.kiro/settings/mcp.json):
json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"],
"disabled": false,
"autoApprove": ["fetch"]
}
}
}2단계: (선택) MCP 활용 — 웹 정보 검색
Fetch MCP 서버를 사용해서 다음 정보를 가져와주세요:
https://developer.mozilla.org/en-US/docs/Web/API/localStorage
로컬 스토리지 사용법에 대한 최신 정보를 요약해주세요.3단계: (선택) MCP 활용 — 코드 개선 제안
현재 우리 할 일 앱의 로컬 스토리지 구현을 개선할 수 있는 방법을 웹에서 찾아서 제안해주세요.
참고할 사이트:
- MDN Web Docs
- JavaScript.info
- 관련 기술 블로그4단계: (선택) MCP 활용 — 최신 트렌드
최신 웹 개발 트렌드 중 할 일 앱에 적용할 수 있는 새로운 기술이나 패턴이 있는지 조사해주세요.
특히:
- 프론트엔드 프레임워크
- CSS 새로운 기능
- 웹 API 활용5단계: Playwright MCP 서버 설정
1~4단계를 건너뛴 경우 .kiro/settings/mcp.json을 다음과 같이 만듭니다.
json
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"],
"disabled": false,
"autoApprove": []
}
}
}Fetch MCP도 설정했다면 기존 fetch 항목을 지우지 말고, 같은 mcpServers 객체에 위 playwright 항목을 나란히 추가합니다.
저장 후 Kiro 패널의 MCP Servers에서 playwright가 green 상태인지 확인합니다. 첫 실행은 브라우저 바이너리 다운로드 때문에 30–60초가 걸릴 수 있습니다.
6단계: 핵심 사용자 흐름 자율 테스트
0단계에서 개발 서버가 표시한 실제 URL로 아래 http://localhost:5173을 바꿔 입력합니다.
Playwright MCP 자율 E2E 프롬프트
text
Playwright MCP로 http://localhost:5173 의 To-Do 앱을 자율 테스트해주세요.
1. 새 할 일을 추가하고 목록 표시를 확인
2. 완료 상태로 변경하고 진행률 반영을 확인
3. 상태 필터가 올바르게 동작하는지 확인
4. 페이지를 새로고침하고 localStorage 데이터가 유지되는지 확인
5. 각 단계의 스크린샷과 성공·실패 결과를 요약
코드는 수정하지 말고, 실패 시 재현 단계와 예상 원인을 보고해주세요.Kiro가 navigate → click → fill → screenshot 호출을 순차 실행하는지 관찰합니다. 도구 승인이 표시되면 작업 범위를 확인한 뒤 승인하세요.
7단계: 결과 검토와 후속 작업
- 각 단계의 성공·실패 판정과 스크린샷이 일치하는지 확인
- 실패 항목의 재현 단계가 명확한지 확인
- 수정이 필요하면 별도 세션에서 코드를 변경한 뒤 같은 프롬프트로 재검증
💡 개발 검증과 CI/CD의 역할
MCP 기반 테스트는 기능 개발 중 빠른 검증과 탐색에 적합합니다. 프로덕션 CI/CD 회귀 테스트에는 정식 Playwright 테스트 파일을 유지하세요. 탐색 결과를 기반으로 Kiro에게 테스트 파일 생성을 요청할 수 있습니다.
기대 결과
- Playwright MCP 서버 설정 완료
- Kiro가 브라우저에서 To-Do 핵심 흐름을 실행하고 스크린샷 증거를 남김
- (선택) Fetch MCP를 설정했다면 웹 콘텐츠 조회와 외부 정보 기반 제안까지 확인
- `.kiro/settings/mcp.json`에 Playwright 서버 설정필수
- Playwright MCP 서버 green 상태 확인필수
- 추가·완료·필터·새로고침 흐름의 스크린샷 확인필수
- Fetch MCP 서버와 웹 콘텐츠 조회 확인선택
- 외부 정보 기반 코드 개선 제안 수신선택
🎯 심화 도전
- Fetch 외에 GitHub MCP 서버 또는 Filesystem MCP 서버를 하나 더 연결해보세요. 여러 서버를 동시에 활성화하면 Kiro가 웹 검색과 로컬 파일 참조를 병행할 수 있습니다.
(선택) Skills·Powers 맛보기
공식 Kiro 워크샵은 MCP와 함께 Agent Skills와 Powers를 독립 실습으로 다룹니다. MCP가 "외부 도구 연결"이라면, Skills·Powers는 "작업 워크플로와 컨텍스트를 패키지로 재사용"하는 수단입니다. 이 핸드북에서는 개념 체험만 간단히 안내하고, 상세는 기능 카탈로그로 연결합니다.
- Agent Skills — 반복 작업을 캡슐화한 이식 가능한 워크플로. 작업 내용이 Skill의 설명과 맞으면 온디맨드로 활성화됩니다. 예: 프런트엔드 디자인 가이드, 테스트 작성 규약.
- Powers — 컨텍스트와 MCP 도구를 하나로 묶은 번들. 개방형 Agent Plugin 포맷을 지원해 로컬 경로나 GitHub URL에서 설치할 수 있습니다(예: 배포·데이터·인프라용 Power).
(선택) Skill 활용 예시
text
현재 To-Do 앱의 UI를 개선하고 싶어요. 사용 가능한 프런트엔드 디자인 관련 Skill이 있으면 적용해서 카드 레이아웃과 접근성을 다듬어주세요.Skills·Powers의 저장 위치, 지원 app, 선택 기준은 Context Engineering에서 정리합니다. Powers 설치·사용은 IDE·Web과 CLI V3에서 가능합니다.
🚨 문제 해결
- MCP 연결 안 됨: 인터넷 연결 확인 → Kiro 재시작 → mcp.json 문법(JSON) 확인.
- (Fetch 선택 시) uvx 명령어 없음:
brew install uv또는curl -LsSf https://astral.sh/uv/install.sh | sh실행. - (Fetch 선택 시) 권한 오류: uvx 설치 경로가 PATH에 포함되었는지 확인. 터미널 재시작.
- (Fetch 선택 시) fetch 실패: 대상 URL이 접근 가능한지 브라우저에서 직접 확인.
- Playwright가 시작되지 않음:
node --version과npx --version확인 → MCP 서버 재시작. - 브라우저가 앱에 접속하지 못함: 개발 서버가 실행 중인지 확인하고 프롬프트의 포트를 실제 포트로 변경.
- 도구 호출이 반복 승인됨: 정상적인 안전 장치입니다. 쓰기 동작을 자동 승인하기 전에 범위를 검토하세요.