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.
Kakao Bot MCP Server
Model Context Protocol (MCP) server implementation that integrates the Kakao Developers API to connect an AI Agent to the Kakao Official Account.
MCP Server 구현체로, 카카오 Developers API를 AI Agent에 통합하는 예시입니다.
Note
This repository is NOT officially provided or maintained by Kakao. It may not include complete functionality or comprehensive support. 카카오의 경우 대부분의 API가 사업자등록이 포함된 비즈니스 애플리케이션 단위로 권한을 관리하고 있으므로, 개인이 사용하기엔 제한적입니다.
참고문서: https://developers.kakao.com/docs/latest/ko/kakaotalk-message/rest-api
예시
claude desktop으로 MCP tool 실행
'나에게 메시지 전달' 결과
Tools
All tools require the __email_address__
input to identify the user's credentials.
- 작성시점 기준, '나에게 보내기 - 기본 템플릿' API만 지원됩니다.
- 참고문서: https://developers.kakao.com/docs/latest/ko/kakaotalk-message/rest-api#default-template-msg-me
- send_text_template_to_me
- Description: Sends a Kakao Talk text message to me.
- Inputs:
__email_address__
(string, required): The email address associated with the Kakao account.text
(string, required, max 200 characters): The text content of the message.link
(object, required): An object defining the link associated with the text.web_url
(string, optional, uri format)mobile_web_url
(string, optional, uri format)
button_title
(string, optional): The title of the button.
- send_feed_template_to_me
- Description: Sends a Kakao Talk feed message to me.
- Inputs:
__email_address__
(string, required)content
(object, required): The main content block of the feed message.title
(string, required)description
(string, required)image_url
(string, required, uri format)image_width
(integer, optional)image_height
(integer, optional)link
(object, required) - defines the link for the contentweb_url
(string, optional, uri format)mobile_web_url
(string, optional, uri format)android_execution_params
(string, optional)ios_execution_params
(string, optional)
item_content
(object, optional): Additional item content for the feed. (See API documentation for nested structure)social
(object, optional): Social information like likes, comments, etc. (See API documentation for nested structure)buttons
(array of objects, optional): Buttons to include with the message. (Each object requirestitle
andlink
)
- send_list_template_to_me
- Description: Sends a Kakao Talk list message to me.
- Inputs:
__email_address__
(string, required)header_title
(string, required): The title displayed at the top of the list.contents
(array of objects, required): A list of content items. Each item requires:title
(string, required)description
(string, required)image_url
(string, required, uri format)image_width
(integer, optional)image_height
(integer, optional)link
(object, required) - defines the link for the list itemweb_url
(string, optional, uri format)mobile_web_url
(string, optional, uri format)android_execution_params
(string, optional)ios_execution_params
(string, optional)
header_link
(object, optional): A link for the header area. (See API documentation for nested structure)buttons
(array of objects, optional): Buttons to include with the message. (Each object requirestitle
andlink
)
- send_location_template_to_me
- Description: Sends a Kakao Talk location message to me.
- Inputs:
__email_address__
(string, required)content
(object, required): The main content block for the location message.title
(string, required)description
(string, required)image_url
(string, required, uri format)image_width
(integer, optional)image_height
(integer, optional)link
(object, required) - defines the link for the contentweb_url
(string, optional, uri format)mobile_web_url
(string, optional, uri format)android_execution_params
(string, optional)ios_execution_params
(string, optional)
address
(string, required): The address of the location.buttons
(array of objects, optional): Buttons to include with the message. (Each object requirestitle
andlink
)address_title
(string, optional): A title for the address.
- send_calendar_template_to_me
- Description: Sends a Kakao Talk calendar message to me.
- Inputs:
__email_address__
(string, required)content
(object, required): The main content block for the calendar message.title
(string, required)description
(string, required)link
(object, required) - defines the link for the contentweb_url
(string, optional, uri format)mobile_web_url
(string, optional, uri format)android_execution_params
(string, optional)ios_execution_params
(string, optional)
image_url
(string, optional, uri format)
id_type
(string, required, enum: "event"): The type of calendar item.id
(string, required): The ID of the calendar item.buttons
(array of objects, optional): Buttons to include with the message. (Each object requirestitle
andlink
)
- send_commerce_template_to_me
- Description: Sends a Kakao Talk commerce message to me.
- Inputs:
__email_address__
(string, required)content
(object, required): The main content block for the commerce message.title
(string, required)image_url
(string, required, uri format)image_width
(integer, optional)image_height
(integer, optional)link
(object, required) - defines the link for the contentweb_url
(string, optional, uri format)mobile_web_url
(string, optional, uri format)android_execution_params
(string, optional)ios_execution_params
(string, optional)
commerce
(object, required): Commerce-specific information.regular_price
(integer, required)discount_price
(integer, optional)discount_rate
(integer, optional, 0-100)
buttons
(array of objects, optional): Buttons to include with the message. (Each object requirestitle
andlink
)
installation
requirements: Python 3.13+
카카오 계정 필요
Step 1. developers.kakao.com 에서 카카오 애플리케이션 생성
카카오 신규 애플리케이션 생성 방법은 quick start문서를 참고합니다.
"내 애플리케이션 > 앱 설정 > 플랫폼" 의 Web에서 사이트 도메인으로 http://localhost:8000 등록
비즈 앱 등록. 사업자번호가 없어도 "개인 개발자 비즈 앱" 등록이 가능하다.
카카오 로그인을 활성화한다.
- 제품 설정 > 카카오 로그인 > 동의항목에서 '닉네임', '카카오계정(이메일)', '카카오톡 메시지 전송' 을 활성화한다.
- OpenID 활성화한다.
Step 2. 로컬환경 설정
로컬에 uv가 설치되어 있어야 한다.
정상적으로 동작하려면 두 개의 파일이 필요하다. .accounts.json
, .kauth.json
프로젝트 root 경로에 아래 파일을 생성한다.
.accounts.json
- email: 카카오 계정 이메일주소.
- account_type: personal 고정.
- extra_info: MCP server에 전달할 추가정보.
.kauth.json
- client_id: 카카오 애플리케이션에서 제공하는 REST_API key
- client_secret: 카카오 애플리케이션에서 발급받을 수 있는 client_secret. 임의의 문자열을 넣어도 동작함
- 나머지 필드는 고정.
claude desktop 설정
동작 방식
LLM이 MCP Tool을 실행하면
- 프로젝트 root 경로에
.oauth2.<카카오메일주소>.json
파일이 있는지 확인한다.- 파일이 없을 경우, 웹 브라우저에 카카오 OAuth2 서버에 로그인 화면을 띄운다. (https://accounts.kakao.com/login?continue=...)
- 파일이 있을 경우, 토큰이 만료되지 않았는지 확인한다. 만료되었다면, refresh token으로 재발급받는다. refresh token도 만료되었을 경우, tool에서 로그인할 수 있는 url 주소를 리턴한다.
- 로그인에 성공하면, 프로젝트 root 경로에
.oauth2.<카카오메일주소>.json
이름으로 access_token 정보를 저장한다.
MCP tool은 json 파일의 access token을 사용하는 구조.
This server cannot be installed
An implementation of the Model Context Protocol that connects AI agents to Kakao Official Accounts, allowing users to send various message templates through the Kakao Developers 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