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 "Install 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: kakaotalk-mcp
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI tools to read and send messages through LINE Desktop via MCP, supporting manual or automatic sending without official LINE API tokens.73108MIT
- AlicenseNot gradedqualityCmaintenanceControls KakaoTalk PC via Win32 API, enabling message sending, reading, and chat room management through MCP clients like Claude Desktop.5MIT
- AlicenseNot gradedqualityAmaintenanceKatokMCP 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
- AlicenseCqualityCmaintenanceA local MCP server for the Windows version of Sky: Children of the Light that enables AI clients to read validated game windows, perform local OCR, and send limited game keystrokes or chat text when explicitly permitted.8MIT
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Read-only MCP server for Robinhood Chain token discovery, research, and due diligence via GMGN.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bum-Boo/kakaotalk-local-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server