KakaoTalk Local MCP
Provides tools for interacting with a local KakaoTalk PC app, allowing access to user-approved chat rooms, reading recent messages, observing new message events, handling schedule candidates, and sending replies through an explicit approval flow.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@KakaoTalk Local MCPCheck my allowed KakaoTalk chats for new messages and summarize them."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
KakaoTalk Local MCP
An unofficial, local-first bridge that connects the Windows KakaoTalk PC app to local MCP clients. It only handles chat rooms that the user has explicitly allowed, and message sending and automatic replies are disabled by default.
[!WARNING] This project is not affiliated with Kakao Corp. and is not an official Kakao product. Features may stop working depending on KakaoTalk updates. Before using it, please review the KakaoTalk terms of service and applicable laws yourself.
Key Features
Only accesses chat rooms on the allowlist.
To the outside, exposes the opaque
room_idchosen by the user instead of the actual room title.Stores the current state as a baseline on first observation so past conversations are not replayed as new messages.
Blocks identical messages and duplicate operations using fingerprint and idempotency state.
Sending replies follows the sequence
prepare → 사용자 승인 → commit → readback.send_enabledandauto_reply_enableddefault tofalse.Can optionally filter schedule candidates locally and pass them to a separate schedule management agent.
The optional backend watcher processes only a small number of explicitly selected rooms and does not save raw keys or plaintext databases as files.
Does not call AI models while idle.
Related MCP server: KatokMcp
Safety Boundaries
This project does not provide the following:
Extraction of KakaoTalk account passwords, sessions, or authentication credentials
Implementation of private network protocols
Unlimited collection of all chat rooms
Export of entire conversations
Saving raw DB keys or plaintext DBs
Bulk message sending
Automatic replies without approval
Do not expose the local MCP server directly to the internet or a public network. We recommend that you do not upload actual configuration, state DBs, logs, or chat captures to a Git repository or a cloud sync folder.
Requirements
Windows 10 or Windows 11
A logged-in KakaoTalk PC app
Python 3.11 or later
PowerShell
An MCP client that can run stdio MCP servers
Installation
In PowerShell, clone the repository and run the installation script.
git clone https://github.com/Bum-Boo/kakaotalk-local-mcp.git
cd kakaotalk-local-mcp
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install-windows.ps1The installation script creates a project-specific .venv and copies a safe example configuration only when config.json does not exist.
Basic Configuration
config.json is not included in the public repository. Start with both sending and schedule automation turned off.
{
"adapter": "win32",
"send_enabled": false,
"auto_reply_enabled": false,
"schedule_automation_enabled": false,
"backend_collector": null,
"rooms": []
}Registering a Chat Room
Open exactly one target chat room in a separate window, then run the command below to register it without displaying the room title in the console.
.\.venv\Scripts\hermes-kakao-mcp.exe --config .\config.json adopt-open-room --room-id self-testIf there is not exactly one open chat room, the settings are not changed. room_id is a local alias used for MCP and does not have to match the actual chat room title.
After applying the settings, verify with the following command.
.\.venv\Scripts\hermes-kakao-mcp.exe --config .\config.json validate-config
.\scripts\doctor.cmdMCP Client Connection
In the stdio server settings of your MCP client, register the following executable. Replace it with your actual repository path.
{
"mcpServers": {
"kakaotalk-local": {
"command": "C:\\Windows\\System32\\cmd.exe",
"args": [
"/d",
"/s",
"/c",
"C:\\path\\to\\kakaotalk-local-mcp\\scripts\\run-mcp.cmd"
]
}
}
}After connecting, first call only kakao_health to check the local bridge status and confirm that sending is disabled.
Provided Tools
Tool | Description |
| Checks running status and approved source aliases without reading messages. |
| Returns only allowed opaque room IDs. |
| Reads limited recent messages and fingerprints from an allowed room. |
| Creates a baseline or generates new message events. |
| Retrieves new events stored locally. |
| Retrieves schedule candidates awaiting analysis. |
| Looks up a single candidate by opaque candidate ID. |
| Records the processing status of a candidate. |
| Prepares a one-time send approval bound to the current fingerprint. |
| Sends the approved draft exactly once and re-checks the result. |
| Checks the current status of prepared operations. |
Sending Messages
Even when actual sending is needed, follow this order.
Check the latest fingerprint with
kakao_read_room.Show the user the draft to be sent.
Prepare a one-time operation with
kakao_prepare_reply.The user explicitly approves in the current turn.
Call
kakao_commit_replyexactly once.If newer messages have appeared or the readback result is unclear, do not retry automatically.
If send_enabled is false in the configuration, nothing is sent at the commit stage.
Optional Watcher
The regular UI watcher can be run as follows.
.\.venv\Scripts\hermes-kakao-watch.exe --once
.\.venv\Scripts\hermes-kakao-watch.exeUse the optional backend watcher only when separately approved room IDs and the current KakaoTalk version are configured.
{
"backend_collector": {
"enabled": true,
"mode": "ram_only_v2",
"room_ids": ["approved-room-one"],
"max_batch_rows": 200,
"bootstrap_retry_seconds": 30,
"expected_client_version": "현재 검증한 버전"
}
}If the KakaoTalk version differs from the configured value, the backend watcher stops before accessing data.
Development and Verification
uv sync --extra dev
uv run ruff check .
uv run pytest
uv run python tests\smoke_mcp.pyGitHub Actions also checks the combinations of Windows and Ubuntu with Python 3.11 and 3.12.
Please Credit the Creator
When you publicly share writing, videos, demos, research, or derivative projects that use this project, we would appreciate it if you would mention the creator and the repository together as shown below.
Made with KakaoTalk Local MCP by @Bum-Boo
Please keep the copyright and license notices required by the MIT License. The public attribution requested above is not intended to add legal conditions; it is simply a request so that the people who made the project and the original repository can be found.
Inspiring Projects
This project was inspired by the ideas and prior work of the following open source projects. We thank the creators for sharing their excellent work.
kronenz/kakaotalk-mcp — Win32 window discovery and MCP connection approach
johklo/moltbot — Baseline, message fingerprints, and re-verification before sending
channprj/kmsg — Local aliases, limited state management, and fail-closed design
is-theo/kakao-cli-win — Starting point for research into the Windows v2 SQLCipher structure
The revisions consulted and license information are recorded in THIRD_PARTY_NOTICES.md. This does not mean that the code of the above projects is bundled as-is or that official support is provided.
Privacy, Security, and License
Privacy handling boundaries:
PRIVACY.mdVulnerability reporting and threat model:
SECURITY.mdThird-party notices:
THIRD_PARTY_NOTICES.mdLicense: MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Your own WhatsApp as an MCP server: read, search and send from any MCP client.
MCP server for Sendbird — chat users, channels, members, and messages from your AI client.
Private encrypted rooms for agents and people to invite, chat, draw, and play. Local and hosted MCP.
Remote MCP server to read and manage your Atako AI agents, messages, files, and integrations.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceControls KakaoTalk PC via Win32 API, enabling message sending, reading, and chat room management through MCP clients like Claude Desktop.5MIT
- AlicenseNot gradedqualityCmaintenanceKatokMCP lets AI assistants (Claude, OpenClaw, etc.) control KakaoTalk — Korea's #1 messaging app with 50M+ users. Read chats, send messages, list rooms, and manage members through the MCP protocol. Install: npm install -g @katok-mcp/mcp-server && katok-mcp setup Language: TypeScript | Platform: All (macOS/Windows/Linux) | Scope: LocalMIT
- AlicenseNot gradedqualityAmaintenanceEnables ChatGPT to access approved local Windows folders, run commands, control the desktop, and manage session history through a permission-bounded MCP server.3,258MIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Kakao Channel business chats via MCP tools for checking login status, unread counts, listing chats, reading messages, marking as read, and optionally sending messages when enabled.MIT