😅 또 만난 에러 메시지#
지난번에 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 한 번 시도해보세요. 의외로 간단하게 해결될 수도 있어요!
혹시 비슷한 경험 있으시거나 더 좋은 해결 방법 아시면 댓글로 알려주세요! 😊