📝 요약
- n8n MCP를 연결하면 Claude Code가 n8n 워크플로우를 직접 만들어준다 — n8n UI를 배울 필요 없음 - 텔레그램 메시지 24개(필터링 후)가 자동 분류되어 스프레드시트에 쫙 들어간 순간이 하이라이트 - 에러가 연달아 나도 스크린샷 찍어서 AI에게 보여주면 해결된다 (OAuth 에러, 크레딧 부족, 시트명 오류 등) - Docker를 처음 써본 비개발자가 하루 만에 자동화 파이프라인을 구축했다 - 이 경험으로 다른 자동화도 n8n으로 만들 수 있겠다는 자신감이 생김
🛠️ 사용한 도구
- **도구명**: Claude Code (CLI) - **모델**: Claude Opus 4.6 - **자동화**: n8n (Docker), n8n MCP - **기타**: Google Sheets, Google Cloud Console, Vercel
🔧 작업 과정
1. Docker에 n8n 설치
Docker라는 걸 처음 써봤다. "격리된 컨테이너 안에 프로그램을 설치하는 것"이라고 설명을 들었는데, 솔직히 완전히 이해하진 못했다. 그냥 Claude Code가 시키는 대로 했다.
Docker Desktop을 다운받고, 터미널에서 한 줄 명령어를 실행했더니 n8n이 설치됐다. `http://localhost:5678`에 접속하니 n8n 화면이 떴다. 여기까지는 순조로웠다.
--
2. n8n MCP 연결 — Claude Code가 n8n을 직접 조작하게 만들기
이번 작업에서 가장 인상적이었던 부분이다. n8n MCP를 연결하면 Claude Code가 n8n에 직접 접속해서 워크플로우를 만들어준다. 내가 n8n UI에서 노드를 하나하나 드래그할 필요가 없다.
--
3. 크리덴셜 등록 — 에러의 연속, 하지만 스크린샷이면 충분
워크플로우를 만들기 전에 n8n에서 외부 서비스 인증을 먼저 해야 했다. Google Sheets, Anthropic(Claude API) 두 가지. 여기서 에러가 연달아 터졌다.
Google Sheets OAuth:
Google Cloud Console에서 프로젝트를 만들고, API를 활성화하고, OAuth 클라이언트를 생성해야 했다. 안내대로 했는데 "403 access_denied" 에러가 떴다.
스크린샷을 찍어서 보여줬더니 "앱 게시 버튼을 안 눌렀네요"라고 바로 원인을 짚어줬다. 버튼 하나 눌러서 해결.
Anthropic API:
키를 넣었는데 "Couldn't connect with these settings" 에러. 이것도 스크린샷을 보여줬더니, Claude Code가 직접 API를 테스트해보고 "크레딧이 부족합니다"라고 알려줬다. 충전 후 해결.
교훈: 에러가 나면 당황하지 말고 스크린샷을 찍어서 AI에게 보여주면 된다.
--
4. 워크플로우 생성 — 6개 노드, Claude Code가 직접 만들어줌
크리덴셜이 준비되자 본격적으로 워크플로우를 만들었다. 내가 한 건 이 한 마디뿐이었다
``` 텔레그램 메시지를 classify.py에 맞게 분류하는 워크플로우 만들어줘 ```
Claude Code가 n8n MCP를 통해 6개 노드를 자동으로 생성했다:
1. **Schedule** — 3시간마다 자동 실행
2. **HTTP Request** — 텔레그램 채널 웹페이지에서 메시지 가져오기
3. **Code** — HTML에서 메시지 텍스트만 추출
4. **Anthropic** — Claude API로 메시지 분류 (Macro/Theme/Stock/Breaking/Filter)
5. **Code** — 분류 결과에서 노이즈(Filter) 제거
6. **Google Sheets** — 결과를 스프레드시트에 저장
각 노드가 뭘 하는지 이해가 안 가서 물어봤더니, 기존 classify.py의 어떤 부분에 해당하는지 1:1로 대응시켜 서 설명해줘서 바로 이해됐다.
--
5. 테스트 — 24개 메시지가 분류되어 스프레드시트에
"Execute Workflow" 버튼을 누르고 기다렸다. 처음에는 Prompt 필드가 비어있어서 에러가 났고, System Message(분류 규칙)도 추가해야 했다. 시트 이름이 "Sheet1"이 아니라 "시트1"이어서 또 에러. 하나씩 고치다 보니 결국 성공했다. 텔레그램 채널에서 24개 메시지를 가져와서 → 19개를 분류하고 (5개는 노이즈로 제거) → Google Sheets에 저장됐다. 스프레드시트를 열어보니 BREAKING, MACRO, THEME, STOCK 카테고리에 서브토픽(지정학, 반도체_메모리, 데이터센터_전력인프라 등)과 한줄 요약까지 깔끔하게 들어가 있었다. 이 순간이 가장 뿌듯했다.
--
6. Vercel 대시보드 연동 — 가짜 데이터가 진짜가 되는 순간
마지막으로, 스프레드시트의 데이터를 Vercel에 배포된 대시보드에 연결했다.
``` 이걸 나의 vercel로 배포한 대시보드와 연결하고 싶은데 ```
Claude Code가 GitHub 레포를 클론해서, Google Sheets에서 데이터를 읽어오는 API를 만들고, 기존 Mock 데이터를 실제 데이터로 교체하고, GitHub에 푸시했다. Vercel이 자동 배포. 중간에 Git 이메일이 안 맞아서 배포가 Blocked되는 문제도 있었지만, 이메일 설정을 수정해서 해결.
🚀 앞으로의 계획
- Daily Story, Weekly Wrap 메뉴도 같은 방식으로 n8n 워크플로우 추가 - 텔레그램 분류기의 프롬프트를 더 깎아서 분류 퀄리티 향상 - 텔레그램 Bot 알림 연결
📋 재사용 가능한 프롬프트
### 프롬프트 1: n8n 자동화 파이프라인 요청 > n8n MCP가 연결되어 있어. [데이터 소스]에서 [수집 간격]마다 데이터를 가져와서, Claude API로 [분류/요약 규칙]에 따라 처리하고, [저장소]에 저장하는 워크플로우를 만들어줘.
### 프롬프트 2: 에러 해결 요청 > [도구 이름]에서 이런 에러가 났어. [스크린샷 첨부] 원인이 뭐고 어떻게 해결해?
### 프롬프트 3: 노드/개념 이해 요청 > 지금 만든 워크플로우의 각 노드가 뭘 하는지 설명해줘. 기존에 만든 [참고 파일]과 1:1 비교해서.