KakaoTalk Message

io.github.groove79Published by GitHub account groove79v0.2.0Updated Oct 29, 2026

KakaoTalk message MCP: send to self/friends, friends list, OAuth auto-refresh. 카카오톡 메시지 MCP.

Overview

AI-generated overview

Sends KakaoTalk messages to your own chat or to linked friends and lists those friends, using the Kakao Developers message API.

What you can do
  • Check the connected Kakao account and its granted scopes
  • Send a text or feed-card message to your own KakaoTalk chat room
  • List friends who have also connected the app, with their uuids
  • Send a message to up to five of those friends, with per-recipient success or failure
When to use it
Useful when you want an assistant to push reports, alerts or approval links to your phone through KakaoTalk without installing an app, or to message a small set of friends who have linked the same Kakao app.
Requirements
Runs locally via npx (Node.js). Needs a Kakao Developers app with Kakao Login enabled, a registered Web platform domain and a redirect URI, plus the KAKAO_REST_API_KEY secret. A one-time browser login stores a refreshable token file, or KAKAO_REFRESH_TOKEN can be supplied instead. KAKAO_CLIENT_SECRET is needed if client secret is enabled; friend features need the friends scope and the friends-list permission. Optional OKAGENT_API_KEY for phone approval.
Before you install
Requires Kakao app secrets (KAKAO_REST_API_KEY, optionally KAKAO_CLIENT_SECRET and KAKAO_REFRESH_TOKEN) and stores OAuth tokens on disk. Two tools send messages, which reach real people; KMCP_WRITE_MODE=direct disables the confirmation step. Friend messaging requires recipients to have connected the app and is subject to daily per-sender limits. Message text and links are sent to Kakao.

Installation

In SourceWeft

  1. Open KakaoTalk Message in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@appmonster/mcp-kakao

MCP server for KakaoTalk messages via the Kakao Developers message API: an agent can send a message to the connected account's own chat (나와의 채팅) or to friends who also linked the app, and list those friends. Writes can be gated by human approval (OK Agent).

카카오톡 메시지 MCP 서버 — 나에게 보내기 / 친구에게 보내기 / 친구 목록. 앱 설치 없이 사장님 폰에 알림을 넣는 가장 짧은 길.

알림톡(비즈메시지)은 카카오 공식 딜러사 계약이 필요한 별도 채널입니다. 이 패키지는 개인/소규모 사업자가 바로 쓸 수 있는 Kakao Developers 메시지 API만 다룹니다. 알림톡은 로드맵.

Tools

ToolAccessWhat it does
kakao_meread연결된 계정·동의 항목 확인 (연결 점검용)
kakao_send_to_mewrite나와의 채팅방으로 텍스트/피드 카드 전송 (링크·버튼 포함)
kakao_list_friendsread앱을 연결한 친구 목록 (uuid)
kakao_send_to_friendswrite친구 uuid 최대 5명에게 전송, 건별 성공/실패

Setup (5분, 1회)

  1. https://developers.kakao.com → 내 애플리케이션 → 앱 추가. 앱 키 > REST API 키 복사.
  2. 플랫폼 > Web: 메시지 링크로 쓸 도메인 등록 (예: https://okagent.kr).
  3. 카카오 로그인 > 활성화 ON, Redirect URI에 http://localhost:8788/callback 추가.
  4. 카카오 로그인 > 동의항목: 카카오톡 메시지 전송 (talk_message) 을 "선택 동의"로 설정. 친구 기능까지 쓰려면 카카오톡 소셜 > 친구 목록 권한 신청 + friends 동의항목.
  5. 브라우저 로그인 1회:
bash
KAKAO_REST_API_KEY=… npx @appmonster/mcp-kakao auth

토큰은 ~/.config/kmcp/kakao/<app>.json에 저장되고 자동 갱신됩니다 (refresh ≈ 2개월).

  1. MCP client config:
json
{  "mcpServers": {    "kakao": {      "command": "npx",      "args": ["-y", "@appmonster/mcp-kakao"],      "env": { "KAKAO_REST_API_KEY": "…" }    }  }}

컨테이너 등 파일 저장이 어려우면 KAKAO_REFRESH_TOKEN을 env로 넘기면 됩니다. 앱에서 Client Secret을 켰다면 KAKAO_CLIENT_SECRET도.

Human approval for sends (optional)

json
"OKAGENT_API_KEY": "ok_…"

Without it, write tools still never run blind: the first call returns a preview and a confirm_token, and the agent re-calls only after you agree in the chat. With an OK Agent key (free, 200/month) the request goes to your phone instead — approve on KakaoTalk, with a log. KMCP_WRITE_MODE=direct turns the check off for scripts you fully trust.

Message spec

text (≤200자) 만 주면 텍스트 메시지, title 또는 imageUrl을 주면 피드 카드. url은 앱의 Web 플랫폼에 등록된 도메인이어야 버튼이 열립니다. 버튼은 최대 2개.

Limits

  • 나에게 보내기는 검수 없이 바로 동작. 친구에게 보내기는 상대도 앱을 연결했어야 하며 일일 발송 한도가 있습니다 (에러 -532).
  • 에러 코드 힌트: -3 기능 미활성, -401 토큰 만료(auth 재실행), -402 동의항목 부족.

Development

bash
pnpm --filter @appmonster/mcp-kakao test

Source: packages/kakao/README.md at commit 53af4ba

Tools

4

kakao_me

Show which Kakao account is connected (id, nickname) and the granted scopes — a quick connectivity check. 연결된 카카오 계정과 동의 항목을 확인합니다. Use first when a send fails with a scope/token error. Needs nothing.

Takes no parameters.

kakao_send_to_me

Send a KakaoTalk message to the connected account itself (나에게 보내기) — arrives in the '나와의 채팅' room. Text or a feed card with a link. 연결된 카카오 계정의 나와의 채팅방으로 메시지를 보냅니다. Use to notify the owner (reports, alerts, approval links) without any app install. Needs text; optional title/url.

ParametersurltextrequiredtitlebuttonsimageUrlbuttonTitleconfirm_token

kakao_list_friends

List KakaoTalk friends who also connected this app (uuid, nickname, profile thumbnail). Only those can receive kakao_send_to_friends. 앱에 연결된 카카오톡 친구 목록을 조회합니다. Use to find receiver uuids. Needs the app's 카카오톡 소셜 > 친구 목록 permission and the `friends` scope.

Parameterslimitorderoffset

kakao_send_to_friends

Send a KakaoTalk message to up to 5 friends by uuid (친구에게 보내기). Recipients must have the app connected too; partial failures are reported per uuid. 친구 uuid로 메시지를 보냅니다. Use after kakao_list_friends. Needs receiverUuids (≤5) and text. Daily per-sender limits apply.

ParametersurltextrequiredtitlebuttonsimageUrlbuttonTitleconfirm_tokenreceiverUuidsrequired

Version history

2
  1. v0.2.0LatestOct 23, 2026
  2. v0.1.0Oct 21, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts