본문으로 건너뛰기

Claude Code가 'error: error'만 뱉을 때 - Playwright MCP로 해결한 실전기

목차
Claude Code 제대로 쓰기 - MCP 활용편 - 이 글은 시리즈의 일부입니다.
부분 : 이 글

😅 또 만난 에러 메시지
#

지난번에 Serena MCP 설치하고 나서 신나게 Claude Code 쓰고 있었는데, 이번엔 또 다른 문제가 생겼어요.

텔레그램 API 문서 페이지를 가져오려고 했거든요. 뭐 별거 아니겠지 하고 Claude Code한테 시켰더니…

error: error

네? 😳

에러 메시지가 “error: error"라니! 이게 무슨 에러 메시지인가요 ㅋㅋㅋ

🤷 Claude Code도 모르는 에러
#

제일 웃긴 건 Claude Code 본인한테 물어봐도 원인을 모르겠다는 거예요.

“왜 안 되는 거야?”

“글쎄요… 봇 트래픽이라 차단된 걸 수도 있고…”

본인이 봇인데 본인이 차단당했다는 추측을 하네요 😂

그래서 일반 웹브라우저로 직접 접속해봤어요. https://core.telegram.org/schema/mtproto 이 페이지요.

당연히 잘 열리더라고요. 그냥 평범한 API 문서 페이지잖아요?

🔍 원인은 모르겠지만…
#

솔직히 정확한 원인은 아직도 모르겠어요.

  • User-Agent 차단일 수도 있고
  • 타임아웃일 수도 있고
  • 뭔가 헤더 설정 문제일 수도 있고
  • 아니면 진짜 봇 차단일 수도 있고

하지만 중요한 건 “해결 방법을 찾았다"는 거죠! 🎉

💡 그래서 Playwright MCP를 써봤어요
#

지난번에 검색하다가 본 Playwright MCP가 생각났어요.

이건 실제 브라우저를 띄워서 작업하는 거라서, 일반 사용자가 접속하는 것처럼 보일 거잖아요?

바로 설치해봤습니다!

설치는 간단했어요
#

claude mcp add playwright npx @playwright/mcp@latest

한 줄이면 끝! 진짜 간단하더라고요.

설치 후에는 Claude Code를 재시작해야 해요. 그냥 터미널 닫았다가 다시 claude 명령어로 실행하면 됩니다.

🎯 실전 사용 - 드디어 성공!
#

자, 이제 다시 시도해볼 시간이에요.

Claude Code한테 이렇게 얘기했어요:

Use playwright mcp to open a browser to https://core.telegram.org/schema/mtproto

중요한 건 “playwright mcp"라고 명시해줘야 한다는 거예요! 안 그러면 그냥 bash로 실행하려고 할 수 있거든요.

그랬더니…

짠! 🎉

브라우저가 뜨면서 페이지가 로딩되더니, 정상적으로 내용을 가져왔어요!

🤔 이게 맞는 방법일까?
#

솔직히 말하면, fetch로 안 되는 걸 브라우저 자동화로 해결하는 게 정석인가 싶긴 해요 😅

오버엔지니어링 아닌가?

근데 뭐 어때요. 일단 되니까! ㅋㅋㅋ

그리고 생각해보니 Playwright MCP는 이런 상황에서 쓰라고 만든 것 같더라고요:

  • 일반 fetch가 안 될 때
  • JavaScript로 렌더링되는 페이지를 가져올 때
  • 로그인이 필요한 페이지에 접근할 때
  • 브라우저 환경이 필요한 작업을 할 때

제 케이스는 첫 번째에 딱 맞네요!

💪 Playwright MCP, 언제 쓰면 좋을까?
#

이번 경험으로 배운 건, fetch가 안 되는데 원인을 모를 때는 Playwright를 써보라는 거예요.

이런 상황에서 유용해요
#

1. 에러 메시지가 불친절할 때

  • “error: error” 같은 애매한 메시지
  • 원인 파악이 어려운 경우
  • 디버깅 시간 아끼고 싶을 때

2. 봇 차단 의심될 때

  • 브라우저로는 되는데 프로그램으로는 안 될 때
  • User-Agent나 헤더 문제로 추정될 때

3. 복잡한 페이지를 가져올 때

  • JavaScript로 렌더링되는 SPA
  • 동적으로 로딩되는 콘텐츠
  • AJAX로 불러오는 데이터

사용 팁
#

  • Use playwright mcp to... 형식으로 명령어 시작
  • 처음엔 명시적으로 “playwright mcp” 언급하기
  • 브라우저 창이 뜨니까 직접 확인 가능
  • 스크린샷도 찍을 수 있어요!

🎬 마무리하며
#

Playwright MCP 덕분에 “error: error"라는 불친절한 에러 메시지와 싸우지 않아도 됐어요.

솔직히 정석적인 방법인지는 모르겠지만, 일단 되니까 좋은 거 아닐까요? 😅

브라우저 자동화라는 게 오버엔지니어링처럼 느껴질 수도 있지만, 막상 써보니까 진짜 편하더라고요. 스크린샷도 찍을 수 있고, 폼 입력이나 JavaScript 실행도 되고… 할 수 있는 게 엄청 많아요.

그리고 무엇보다 원인 모를 에러에 시간 낭비하지 않게 해줬다는 게 제일 큰 장점이에요. 디버깅 4시간 하느니 Playwright 쓰는 게 백배 나아요! 💪

여러분도 Claude Code 쓰다가 fetch가 안 되면 Playwright MCP 한 번 시도해보세요. 의외로 간단하게 해결될 수도 있어요!

혹시 비슷한 경험 있으시거나 더 좋은 해결 방법 아시면 댓글로 알려주세요! 😊

Claude Code 제대로 쓰기 - MCP 활용편 - 이 글은 시리즈의 일부입니다.
부분 : 이 글

본 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.


💬 댓글