#  'AI 카톡 비서' 만들려다 실패한 경험담

# 카카오톡으로 최신 AI 뉴스를 전달해주는 'AI 카톡 비서'를 만들려다 실패했어요..! 

**아쉬워라 ㅠㅠ 실패한 원인은 찾은 것 같아요!**

**성공담으로 다시 찾아올게요 :)**

## 사용한 AI : N8N, MCP, Claude

### N8N이란?

N8n은 자동화 워크플로우 플랫폼.

셀프호스팅(무료) 혹은 클라우드 서비스(월 20유로)에 가입해서 이용할 수 있음.

중요한 건 mcp를 이용하는 것.

### MCP란?

mcp는 자율 에이전트들이 각 도구를 사용할 수 있는 약속된 프로토콜.

n8n 1.88버전부터 mcp서버를 만들 수 있게 업데이트 됨.

이 말은, 노코드로 mcp서버를 만들 수 있고, 이 mcp 서버를 다른 곳에서 이용할 수 있다는 것.

우리가 만들 mcp 서버는

- mcp 서버1 : 수집 서버 역할. 데이터베이스는 google spread sheet 사용

- mcp 서버2 : 카카오톡으로 전송하는 역할.

### Claude란?

mcp 서버를 이용하는 mcp 클라이언트로 역할. 

데스크탑 버전으로 설치돼있어야 되고 sonet 3.7모델 사용. 

목표/도구/규칙을 프롬프트로 전달하면, agent가 자율적으로 운영할 것.

## AI 카톡 비서가 해주는 일

ai 뉴스를 수집&요약해서, 카카오톡으로 자동 전송

## 준비사항

1. claude desktop 설치

2. [n8n](https://n8n.io/) 클라우드 / self host v1.88.0 설치

    1. 저는 클라우드 14일 무료 체험 시작으로 시작(~이것이 문제였던가..!)~

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/003938_0h2bAwu2AIRJ5AUJLw?q=80&s=1280x180&t=outside&f=webp)

3. 카카오톡 개발자 사이트에서 > 어플리케이션(앱) 생성 > 설정 필요

4. gcp(구글 클라우드 플랫폼) 가입 > 계정 만들기 > 프로젝트 만들기 > google sheets API 설정

## 방법

1. google spread sheet 준비 > TargetSite 시트 > 수집하고자하는 사이트 목록 URL 추가

    1. 예제 뉴스 링크 : [https://tldr.tech](https://tldr.tech) - AI뉴스를 간추려서 매일매일 가입한 메일로 알려주는 뉴스레터 사이트 

**→ 이 뉴스를 한국어로 번역하여 카카오톡으로 전송받고 싶은 것**

![Image](https://upload.cafenono.com/image/slashpagePost/20250522/230005_JcKaBiol2bGASfEHPS?q=80&s=1280x180&t=outside&f=webp)

b. Article 시트에는 관련 정보를 어떤 형식으로 불러올지 정의하는 시트 : Title, Summary, Link, Relevant Score, Popularity Score, Practical Score - 3가지 score를 넣은 이유는 가장 관련있고, 화제성 높고, 실용적인 내용만 간추리기 위해서.

![Image](https://upload.cafenono.com/image/slashpagePost/20250522/230304_x1fWSgWbdpzI0wnmPB?q=80&s=1280x180&t=outside&f=webp)

1. n8n으로 이동 > 왼쪽 help 클릭 > about n8n에서 1.88.0 버전 이상인지 확인

2. 우측 + 눌러 검색 > `mcp`  치고 `mcp server trigger` 선택 → trigger가 서버 역할 하게 됨

    1. production url 사용

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/004429_sN7EXMiambG0lusbwI?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/004508_eb2quJ5FCuDf92tc1L?q=80&s=1280x180&t=outside&f=webp)

b. 제목 `MCP AI News Server`  로 변경

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/004635_GInUTz9r1ijiurV1Aw?q=80&s=1280x180&t=outside&f=webp)

3. 왼쪽 상단 `back to canvas` 누르면 tools라고 `+`  버튼 나오면 클릭해서, `google sheets tool` 검색하여 연결

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/004816_pOwFQlmiG8AJGFJrLX?q=80&s=1280x180&t=outside&f=webp)

4. 이름을 `Read Toolly News Google Sheets`  로 변경하고, tool description도 `set manually` 로 바꾸고, description에는 한글로 작성해도 문제없음. Operation은 `get row(s)` 로, Document는 아까 만든 google sheet를 연결해줘야하는데 처음에는 `add your credential`  눌러서 인증을 해줘야 됨. sheet까지 아까 만든 `targetsite` 로 지정하면 하나의 tool이 추가됨

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/005350_cCL0C1eNv7gsLcyj6I?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/005544_NqmXqMZ9eqg1vaJdbz?q=80&s=1280x180&t=outside&f=webp)

1. 이제 데이터를 저장하는 tool을 추가해줌. 마찬가지로 google sheets를 불러와서 제목을 `Append Row Toolly AI News Google Sheets`로 바꾸고, Operation에 `Append row` 로 변경해주고, Document는 아까랑 똑같이 설정해주고 Sheet는 Article로 지정해준다. 그럼 Values to Send에 빈칸이 생기는데, 나중에 AI가 채워줄 자리이기 때문에 옆에 반짝이 아이콘을 눌러 나중에 AI가 채워줄 자리임을 알려줌. 그리고 description에 자세히 적어주면 됨.

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/010736_t70cUJUNkDmNLBkEb5?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/010751_QNGH4zQFsYylSq6oi1?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/010806_5jajcVKvXUolgRAHk8?q=80&s=1280x180&t=outside&f=webp)

2. `call n8n workflow toll`을 눌러 서브 워크 플로우 툴을 추가해준다. 서브 워크 플로우 툴이란, 워크플로우끼리 불러올 수 있는 툴. `Get_WebPage_Content_Tool` 이라 이름을 변경하고, Description을 아래와 같이 추가해준 뒤, workflow에 `Get_Website_Simple_Markdown` 을 연결해준다. 

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/012218_33H8UJP9DHC2sIzlgu?q=80&s=1280x180&t=outside&f=webp)

    1. 연결하면 Workflow Inputs 창이 뜨는데, 이 창도 AI가 채워주는 부분이라 옆의 반짝 아이콘을 눌러준다.

    2. `Get_Website_Simple_Markdown` 은 다른 워크플로우를 불러오는 것이므로 미리 만들어주거나, `Create a Sub-Workflow in 'Personal' +` 를 눌러 새로운 워크플로우를 만들어준다.

        1. 새로운 워크플로우는 [깃헙 문서](https://github.com/dandacompany/n8n-workflows/blob/main/mcp_server/Get_Website_Simple_Markdown.json)로 들어가서 아래 빨간 버튼을 눌러 json파일을 복사한 뒤, 새로운 워크플로우에 붙여넣기를 하면 알아서 워크플로우가 완성된다. 새로 만들어진 워크플로우 이름은 `Get_Website_Simple_Markdown` 으로 변경해주고 원래 워크플로우로 돌아와 연결해준다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/012759_1uiii6AWxgqiKrMSp8?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/012929_hKYiynYBro4Vt4CymU?q=80&s=1280x180&t=outside&f=webp)

3. 이렇게 하면 `MCP AI News Server` 라는 본 워크플로우에 `Call n8n Workflow Tool` 을 통해 `Get_Website_Simple_Markdown`  이라는 다른 워크플로우가 툴처럼 추가된 것

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/014112_ZnhVY8xpOAFhAOJihk?q=80&s=1280x180&t=outside&f=webp)

4. 이제 카카오로 메시지를 전송하는 서버를 하나 더 만든다. MCP 검색해서 mcp server trigger를 선택해준다.

서버 이름은 `MCP kakaotalk server` 로 바꾸고 또 tool을 추가하는데 미리 만들어놓은 워크플로우를 또 `Call n8n Workflow Tool` 을 통해 불러온다. 아까 7번에서 했던 거랑 똑같은 방식으로 `Send_me_message` 라는 워크플로우를 추가해준다. (`kakaotalk_send_me` [복사 링크](https://github.com/dandacompany/n8n-workflows/blob/main/mcp_server/Kakaotalk_Send_me.json))

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/014835_jKohb1q6M5QXynUcY0?q=80&s=1280x180&t=outside&f=webp)

5. MCP 서버 2개 완성. 테스크 워크플로우 2개를 만든 것.

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/015129_jzuw6Mf2pUQDc89yxI?q=80&s=1280x180&t=outside&f=webp)

1. 이제, 대화형으로 워크플로우가 작동할 수 있도록 클로드로 이동.

    1. 클로드 > 설정 > 개발자 > 설정 편집 클릭 > claude_desktop_config.json 파일 열기

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/015405_E0f4VOUO1NYkprDPKm?q=80&s=1280x180&t=outside&f=webp)

b. claude_desktop_config.json 파일 수정 → 수정 후 저장만 해주면 claude에 mcp서버가 설치되는 것

- 여기서 url 주소는 아까 3-a에서 말했던 production url 주소를 가져오면 됨

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/020438_dQildBWPosQvdO5DpA?q=80&s=1280x180&t=outside&f=webp)

- 여기까지 mcp_scrap_news 서버 하나를 추가한 것. 이제 mcp_send_kakao_message 서버 추가를 위해 위에 코드 똑같이 복사해서 이름과 url 주사만 바꿔주면 됨

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/020603_3U1vtBkcPZCTUTBWUg?q=80&s=1280x180&t=outside&f=webp)

2. claude에 저장된 mcp를 재가동하려면 재실행 해야됨

    1. 재실행하기 전에 꼭 n8n 상단에 토클을 àctive` 해줘야됨

![Image](https://upload.cafenono.com/image/slashpagePost/20250523/020828_gSBKGKBNGRlj8Oxmuu?q=80&s=1280x180&t=outside&f=webp)

3. claude를 재가동하면, 도구 아이콘에 4라고 떠야하는데..** 저는 여기서 실패했습니다!! 4가 뜨지 않았어요ㅠㅠ**

![Image](https://upload.cafenono.com/image/slashpagePost/20250524/165935_5dPDYUewQ5SkEav4Q9?q=80&s=1280x180&t=outside&f=webp)

⇒ 예상되는 원인은 로그 파일을 살펴본 결과, 서버측에서 접속을 종료시키는 현상이 발생했습니다. 이는

1. n8n 클라우드의 버전 문제(1.79.3 버전)거나

2. 셀프 호스팅이 아니라, n8n 클라우드를 사용했기 때문이라 예측할 수 있었습니다.

셀프 호스팅으로 성공해서 돌아올게요!!

튜토리얼 제공 및 이슈 트래킹해주신 '단테'님께 감사드립니다 :) 

- dante labs 콘텐츠 링크 : [https://www.youtube.com/watch?v=XNQvED-iKUg](https://www.youtube.com/watch?v=XNQvED-iKUg)

For the site tree, see the [root Markdown](https://slashpage.com/toolly.md).
