Integrations
Integrates with Kakao Developers API to send various types of messages to a Kakao account, including text templates, feed templates, list templates, location templates, calendar templates, and commerce templates.
Enables sending different types of messages through KakaoTalk, including text, feed, list, location, calendar, and commerce templates with customizable content, buttons, and links.
카카오봇 MCP 서버
AI 에이전트를 카카오 공식 계정에 연결하기 위해 카카오 개발자 API를 통합하는 MCP(Model Context Protocol) 서버 구현입니다.
MCP 서버 구현체, 카카오 개발자 API를 AI Agent에 통합하는 예시입니다.
이 저장소는 Kakao에서 공식적으로 제공하거나 유지 관리하지 않습니다. 완전한 기능이나 포괄적인 지원이 포함되지 않을 수도 있습니다. 카카오의 대부분의 경우 API가 등록되어 있는 것은 비즈니스맨 단위로 권한을 관리하고 있음, 개인이 사용하기엔 제한적입니다.
참고문서: https://developers.kakao.com/docs/latest/ko/kakaotalk-message/rest-api
예시
claude Desktop으로 MCP 도구 실행
'나에게 전달' 결과
도구
모든 도구에는 사용자 자격 증명을 식별하기 위해 __email_address__
입력이 필요합니다.
- 작성시점 기준, '나에게 자체 - 기본적으로' API만을 지원합니다.
- 참고문서: https://developers.kakao.com/docs/latest/ko/kakaotalk-message/rest-api#default-template-msg-me
- 나에게_텍스트_템플릿_보내기
- 설명: 나에게 카카오톡 문자 메시지를 보냅니다.
- 입력:
__email_address__
(문자열, 필수): Kakao 계정과 연결된 이메일 주소입니다.text
(문자열, 필수, 최대 200자): 메시지의 텍스트 내용입니다.link
(객체, 필수): 텍스트와 관련된 링크를 정의하는 객체입니다.web_url
(문자열, 선택 사항, uri 형식)mobile_web_url
(문자열, 선택 사항, uri 형식)
button_title
(문자열, 선택 사항): 버튼의 제목입니다.
- 나에게 피드 템플릿을 보내주세요
- 설명: 나에게 카카오톡 피드 메시지를 보냅니다.
- 입력:
__email_address__
(문자열, 필수)content
(객체, 필수): 피드 메시지의 주요 콘텐츠 블록입니다.title
(문자열, 필수)description
(문자열, 필수)image_url
(문자열, 필수, uri 형식)image_width
(정수, 선택 사항)image_height
(정수, 선택 사항)link
(객체, 필수) - 콘텐츠에 대한 링크를 정의합니다.web_url
(문자열, 선택 사항, uri 형식)mobile_web_url
(문자열, 선택 사항, uri 형식)android_execution_params
(문자열, 선택 사항)ios_execution_params
(문자열, 선택 사항)
item_content
(객체, 선택 사항): 피드에 대한 추가 항목 콘텐츠입니다. (중첩 구조에 대한 API 문서 참조)social
(객체, 선택 사항): 좋아요, 댓글 등과 같은 소셜 정보(중첩 구조에 대한 API 문서 참조)buttons
(객체 배열, 선택 사항): 메시지에 포함할 버튼입니다. (각 객체에는title
과link
필요합니다.)
- 나에게_목록_템플릿_보내기
- 설명: 나에게 카카오톡 목록 메시지를 보냅니다.
- 입력:
__email_address__
(문자열, 필수)header_title
(문자열, 필수): 목록 맨 위에 표시되는 제목입니다.contents
(객체 배열, 필수): 콘텐츠 항목 목록입니다. 각 항목에는 다음이 필요합니다.title
(문자열, 필수)description
(문자열, 필수)image_url
(문자열, 필수, uri 형식)image_width
(정수, 선택 사항)image_height
(정수, 선택 사항)link
(객체, 필수) - 목록 항목에 대한 링크를 정의합니다.web_url
(문자열, 선택 사항, uri 형식)mobile_web_url
(문자열, 선택 사항, uri 형식)android_execution_params
(문자열, 선택 사항)ios_execution_params
(문자열, 선택 사항)
header_link
(객체, 선택 사항): 헤더 영역에 대한 링크입니다. (중첩 구조에 대한 내용은 API 문서를 참조하세요.)buttons
(객체 배열, 선택 사항): 메시지에 포함할 버튼입니다. (각 객체에는title
과link
필요합니다.)
- 나에게_위치_템플릿_보내기
- 설명: 나에게 카카오톡 위치 메시지를 보냅니다.
- 입력:
__email_address__
(문자열, 필수)content
(객체, 필수): 위치 메시지의 주요 콘텐츠 블록입니다.title
(문자열, 필수)description
(문자열, 필수)image_url
(문자열, 필수, uri 형식)image_width
(정수, 선택 사항)image_height
(정수, 선택 사항)link
(객체, 필수) - 콘텐츠에 대한 링크를 정의합니다.web_url
(문자열, 선택 사항, uri 형식)mobile_web_url
(문자열, 선택 사항, uri 형식)android_execution_params
(문자열, 선택 사항)ios_execution_params
(문자열, 선택 사항)
address
(문자열, 필수): 위치의 주소입니다.buttons
(객체 배열, 선택 사항): 메시지에 포함할 버튼입니다. (각 객체에는title
과link
필요합니다.)address_title
(문자열, 선택 사항): 주소의 제목입니다.
- 캘린더 템플릿을 나에게 보내주세요
- 설명: 나에게 카카오톡 일정 메시지를 보냅니다.
- 입력:
__email_address__
(문자열, 필수)content
(객체, 필수): 캘린더 메시지의 주요 콘텐츠 블록입니다.title
(문자열, 필수)description
(문자열, 필수)link
(객체, 필수) - 콘텐츠에 대한 링크를 정의합니다.web_url
(문자열, 선택 사항, uri 형식)mobile_web_url
(문자열, 선택 사항, uri 형식)android_execution_params
(문자열, 선택 사항)ios_execution_params
(문자열, 선택 사항)
image_url
(문자열, 선택 사항, uri 형식)
id_type
(문자열, 필수, 열거형: "이벤트"): 캘린더 항목의 유형입니다.id
(문자열, 필수): 캘린더 항목의 ID입니다.buttons
(객체 배열, 선택 사항): 메시지에 포함할 버튼입니다. (각 객체에는title
과link
필요합니다.)
- 나에게_상거래_템플릿_보내기
- 설명: 나에게 카카오톡 커머스 메시지를 보냅니다.
- 입력:
__email_address__
(문자열, 필수)content
(객체, 필수): 상거래 메시지의 주요 콘텐츠 블록입니다.title
(문자열, 필수)image_url
(문자열, 필수, uri 형식)image_width
(정수, 선택 사항)image_height
(정수, 선택 사항)link
(객체, 필수) - 콘텐츠에 대한 링크를 정의합니다.web_url
(문자열, 선택 사항, uri 형식)mobile_web_url
(문자열, 선택 사항, uri 형식)android_execution_params
(문자열, 선택 사항)ios_execution_params
(문자열, 선택 사항)
commerce
(객체, 필수): 상거래 관련 정보입니다.regular_price
(정수, 필수)discount_price
(정수, 선택 사항)discount_rate
(정수, 선택 사항, 0-100)
buttons
(객체 배열, 선택 사항): 메시지에 포함할 버튼입니다. (각 객체에는title
과link
필요합니다.)
설치
요구 사항: Python 3.13+
카카오 계정이 필요합니다
Step 1.developers.kakao.com에서 안드로이드 창작 제작
카카오의 새로운 생성 방법은 빠른 시작 문서를 참고합니다.
"내 기능 > 앱 설정 > 플랫폼"의 웹에서 사이트로 http://localhost:8000 등록됨
비즈 앱 등록. 사용자 번호가 없어도 "개인 개발자 비즈 앱" 등록이 가능합니다.
카카오 로그인을 활성화한다.
- 제품 설정 > 카카오 로그인 > 동의에서 '닉네임', '카카오계정(이메일)', '카카오톡 전송메시지'를 활성화합니다.
- 오픈아이디를 활성화한다.
Step 2. 현장환경 설정
위치에 uv가 설치되어야 합니다.
지엑스피1
용도에 맞게 두 가지 파일이 필요합니다. .accounts.json
, .kauth.json
프로젝트 루트 경로에 하위 파일을 생성합니다.
.계정.json
- 이메일: 카카오 계정 이메일 주소.
- account_type: 개인 고정.
- extra_info: MCP 서버에 추가 정보.
.kauth.json
- client_id: 안드로이드에서 제공하는 REST_API 키
- client_secret: 안드로이드에서 발급받을 수 있는 client_secret. 당신의 문자열을 연결도 동작함
- 나머지 필드는 고정되어 있습니다.
claude 데스크탑 설정
동작 방식
LLM이 MCP 도구를 실행하면
- 프로젝트 루트 루트에
.oauth2.<카카오메일주소>.json
파일이 있는지 확인합니다.- 파일이 있는 경우, 웹 브라우저에 카카오 OAuth2 서버에 로그인이 표시됩니다. ( https://accounts.kakao.com/login?continue= ...)
- 파일이 있는 경우에는 제외되지 않아야 합니다. 종료되면, 새로고침 토큰으로 재발급받는다. 새로 고침 토큰이 존재하는 경우, 도구에서 로그인할 수 있는 URL 주소를 반환합니다.
- 로그인에 성공하면, 프로젝트 루트에
.oauth2.<카카오메일주소>.json
이름으로 access_token 정보를 저장합니다.
MCP 도구는 json 파일의 액세스 토큰을 사용하는 구조입니다.
This server cannot be installed
AI 에이전트를 카카오 공식 계정에 연결하는 모델 컨텍스트 프로토콜(Model Context Protocol)의 구현으로, 사용자는 카카오 개발자 API를 통해 다양한 메시지 템플릿을 전송할 수 있습니다.
Related MCP Servers
- -securityAlicense-qualityEnables AI models to publish and consume messages from Apache Kafka topics through a standardized interface, making it easy to integrate Kafka messaging with LLM and agent applications.Last updated -10PythonApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.Last updated -874TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that allows AI agents like Claude to interact with the Aligo SMS API to send text messages and retrieve related information.Last updated -JavaScriptMIT License
- -securityAlicense-qualityAn implementation of the Model Context Protocol that provides AI models with standardized access to Kaltura's media management capabilities including uploading, retrieving metadata, searching, and managing categories and permissions.Last updated -1PythonMIT License