kmsg CLI

An unofficial CLI and MCP server for KakaoTalk on macOS: the agent reads chats and sends messages through the app interface

  • 281 ★ on the repository
  • Last commit
  • MIT
CLI

Broad access

Why this level

  • Reads your personal and work chats and sends messages and images in your name
  • Requires macOS Accessibility access, meaning control of other apps' windows
  • Automation may lead to an account restriction under the service's rules, and the author places responsibility on the user
All reasons and checks

channprj/kmsg

Install

Manual install

brew install channprj/tap/kmsg

The main program. Update with `kmsg update`. After installing run `kmsg status` and grant Accessibility access.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Reads your personal and work chats and sends messages and images in your name
  • Requires macOS Accessibility access, meaning control of other apps' windows
  • Automation may lead to an account restriction under the service's rules, and the author places responsibility on the user

This is third-party code. Review the repository files before installing.

What it does

kmsg controls the KakaoTalk app on a Mac through the macOS Accessibility API rather than the private LOCO protocol. The Swift program finds the chat list, message area and input box in the window and interacts with them as a user would. Where keyboard and mouse input is needed, it is simulated with `CGEvent`. Commands print structured JSON to `stdout` and trace logs to `stderr`. `kmsg chats` lists conversations and assigns each a local `chat_id`, `kmsg read` returns recent messages, `kmsg watch` follows new ones, and `kmsg send` and `send-image` send text and images. `send` has a `--dry-run` mode. The `kmsg mcp-server` command starts an MCP server over stdio with tools for reading, sending text and sending images. The repository also ships a `kmsg` skill for Claude Code and Codex. It fixes the working order: find the conversation in JSON, read by a stable `chat_id`, show the recipient and text in dry-run before sending, and send only on an explicit request. The project's README is in Korean with an English version alongside.

Who it is for. For Mac users with KakaoTalk who want to read chats and reply from scripts and AI agents, mainly in Korean-speaking settings.

Good fit when

  • The agent should summarize the latest 20 messages of a work chat by a stable conversation id
  • You need to follow new messages with `kmsg watch` and pass them to OpenClaw or another script
  • You need an MCP server for KakaoTalk so the agent can read conversations and send text and images
  • You want to check who gets what with `--dry-run` before a real send
  • You want to install the skill with a single `npx skills add` command for Claude Code and Codex

Not a fit when

  • You have no Mac with macOS 13 or newer and the KakaoTalk app for macOS: it does not work on Windows, Linux, Android or iOS
  • You cannot grant the program Accessibility access: without it the program cannot see the window
  • You need to run on a server without a graphical session: control goes through the KakaoTalk app window
  • You need a guarantee that the account will not be restricted: the author leaves compliance with the service's rules to the user

Example request

/kmsg Summarize the last 10 messages from the "출시 준비" chat

Limitations

You need macOS 13 or newer, the installed KakaoTalk for macOS and Accessibility permission for the `kmsg` binary itself. `kmsg status` asks for the permission and checks whether you are signed in.

The project is unofficial and unaffiliated with Kakao Corp. The author warns that responsibility for account restrictions, malfunctions and data loss lies with the user, and that the service's terms and company security policy must be followed. The KakaoTalk interface changes and some element paths may stop working; a self-healing path cache covers this.

`send-image` has no dry-run mode, so the skill requires both a clear recipient and an explicit request to send. The main README is in Korean.

How to disable. Remove the program with `brew uninstall kmsg`, delete `kmsg` from the client's MCP settings and revoke its permission in the Accessibility section of System Settings. The skill is removed from the agent's skills directory.

FAQ

How do I install kmsg for Claude Code?

First install the program with `brew install channprj/tap/kmsg`. Then run `npx skills add channprj/kmsg --skill kmsg --agent claude-code codex -g -y`. In Claude Code the skill is called as `/kmsg`, in Codex as `$kmsg`. If the skill is not visible, restart the agent session.

Why does kmsg work through the interface and not the KakaoTalk protocol?

The author chose macOS Accessibility because the program then connects to no KakaoTalk servers and does not use the private LOCO protocol. The price is a dependency on how the window looks: if the interface changes, some paths have to be found again.

Can I check a message before sending it?

For text, yes: `kmsg send "chat name" "text" --dry-run` shows what would go to whom. `send-image` has no such mode.

Which tools does the MCP server provide?

The `kmsg mcp-server` command starts MCP over stdio with tools for reading, sending text and sending images. For OpenClaw the repository has an example, `docs/openclaw.mcp.example.json`.

What do I need for kmsg to work?

A Mac with macOS 13 or newer, KakaoTalk for macOS and Accessibility permission for the `kmsg` binary. The first `kmsg status` asks for the permission and launches KakaoTalk if needed.

Discussion

No questions or reviews yet.

CLI tools

A macOS CLI and MCP server: screenshots, accessibility-based UI inspection and app control via clicks and typing

MCP serverBroad access5.4KRepository stars

A Swift MCP server that lets an agent drive any macOS app: click, type and read the interface tree

MCP serverBroad access355Repository stars

Open Computer Use

open-computer-use

An open MCP server for desktop control: the agent reads app state and clicks, types and scrolls on macOS, Linux and Windows

MCP serverBroad access2.8KRepository stars

An MCP server in a single Go binary: more than 75 local tools for files, shell, browser, calendar and scheduled tasks

MCP serverBroad access409Repository stars

An MCP channel that passes WeChat messages into a Claude Code session and sends the agent's replies back to the same chat

MCP serverBroad access312Repository stars
Needs a VPN

A Discord MCP with over 200 typed tools: the agent handles messages, roles and moderation, builds a server from a plan, and writes default to preview mode

MCP serverBroad access185Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
kmsg (this entry)no281
WhatsApp MCP Servernonot required6,758an MCP server for personal WhatsApp rather than KakaoTalk on macOS
Claude Code WeChat ChannelnoOAuth312relays WeChat messages into a Claude Code session and back

README in short

The Korean README opens with a disclaimer about the project's unofficial status and a description of the AX-based architecture. It follows with a demo, user reviews, features, requirements, Homebrew install, a quick start, skill installation and an FAQ.

README badge

Report a problem

Foxx AIkmsg
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.