Сервер MCP Kakao Bot
Реализация сервера Model Context Protocol (MCP) , которая интегрирует API разработчиков Kakao для подключения AI-агента к официальному аккаунту Kakao.
Сервер MCP доступен, API для разработчиков и агент AI, который можно использовать.
Этот репозиторий официально НЕ предоставляется и не поддерживается Kakao. Оно может не включать полную функциональность или всестороннюю поддержку. Используйте API-интерфейс, чтобы получить доступ к соответствующему API-интерфейсу. Если вы хотите, чтобы это произошло, вы можете сделать это.
Дополнительная информация: https://developers.kakao.com/docs/latest/ko/kakaotalk-message/rest-api
Related MCP server: SupaUI MCP Server
예시
Claude Desktop — инструмент MCP
'나에게 메시지 전달' 결과
Инструменты
Все инструменты требуют ввода __email_address__ для идентификации учетных данных пользователя.
В этом случае API может быть изменен.
Дополнительная информация: https://developers.kakao.com/docs/latest/ko/kakaotalk-message/rest-api#default-template-msg-me
отправить_текстовый_шаблон_мне
Описание: Отправляет мне текстовое сообщение Kakao Talk.
Входные данные:
__email_address__(строка, обязательно): адрес электронной почты, связанный с учетной записью Kakao.text(строка, обязательно, максимум 200 символов): Текстовое содержимое сообщения.link(объект, обязательно): объект, определяющий ссылку, связанную с текстом.web_url(строка, необязательно, формат URI)mobile_web_url(строка, необязательно, формат URI)
button_title(строка, необязательно): заголовок кнопки.
отправить_шаблон_канала_мне
Описание: Отправляет мне сообщение из ленты Kakao Talk.
Входные данные:
__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)
отправить_шаблон_списка_мне
Описание: Отправляет мне сообщение из списка Kakao Talk.
Входные данные:
__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)
отправить_шаблон_местоположения_мне
Описание: Отправляет мне сообщение о местоположении Kakao Talk.
Входные данные:
__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(строка, необязательно): заголовок адреса.
отправить_шаблон_календаря_мне
Описание: Отправляет мне сообщение календаря Kakao Talk.
Входные данные:
__email_address__(строка, обязательно)content(объект, обязательный): Основной блок контента для сообщения календаря.title(строка, обязательно)description(строка, обязательно)link(объект, обязательный) - определяет ссылку на контентweb_url(строка, необязательно, формат URI)mobile_web_url(строка, необязательно, формат URI)android_execution_params(строка, необязательно)ios_execution_params(строка, необязательно)
image_url(строка, необязательно, формат URI)
id_type(string, required, enum: "event"): Тип элемента календаря.id(строка, обязательно): идентификатор элемента календаря.buttons(массив объектов, необязательно): кнопки, которые следует включить в сообщение. (Каждый объект требуетtitleиlink)
отправить_шаблон_коммерции_мне
Описание: Отправляет мне коммерческое сообщение Kakao Talk.
Входные данные:
__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+
카카오 계정 필요
Шаг 1. Посетите сайтdevelopers.kakao.com.
Воспользуйтесь кратким руководством по быстрому началу работы .

"내 애플리케이션 > 앱 설정 > 플랫폼" в веб-интерфейсе, например http://localhost:8000 등록

비즈 앱 등록. 사업자번호가 없어도 "개인 개발자 비즈 앱" 등록이 가능하다.

카카오 로그인을 활성화한다.

제품 설정 > 카카오 로그인 > 동의항목에서 '닉네임', '카카오계정(이메일)', '카카오톡 메시지 전송' 을 활성화한다.
Открытие OpenID.
Шаг 2. 로컬환경 설정
로컬에 uv가 설치되어 있어야 한다.
정상적으로 동작하려면 두 개의 파일이 필요하다. .accounts.json , .kauth.json обеспечивает корневой доступ к данным.
.accounts.json
электронная почта: 카카오 계정 이메일주소.
account_type: личный.
extra_info: Сервер MCP находится в рабочем состоянии.
.kauth.json
client_id: 카카오 애플리케이션에서 제공하는 REST_API key
client_secret: Чтобы открыть client_secret. 임의의 문자열을 넣어도 동작함
나머지 필드는 고정.
Клод десктоп 설정
동작 방식
LLM и MCP Tool — это инструмент
Корневой файл 경로에
.oauth2.<카카오메일주소>.json파일이 있는지 확인한다.Если вы хотите использовать OAuth2, вы можете использовать его для проверки подлинности. ( https://accounts.kakao.com/login?continue= ...)
Если вы хотите, чтобы это произошло, вы можете сделать это в любой момент. Затем обновите токен. обновить токен 도 만료되었을 경우, инструмент 에서 로그인할 수 있는 url 주소를 리턴한다.
В случае необходимости, root 경로에
.oauth2.<카카오메일주소>.json이름으로 access_token 정보를 저장한다.
Инструмент MCP — это токен доступа в формате json, который можно использовать.