KakaoTalk Local MCP
KakaoTalk Local MCP
Windows 카카오톡 PC 앱을 로컬 MCP 클라이언트와 연결하는 비공식·로컬 우선 브리지입니다. 사용자가 직접 허용한 채팅방만 다루며, 메시지 전송과 자동 답장은 기본적으로 비활성화되어 있습니다.
이 프로젝트는 Kakao Corp.와 관계가 없으며 Kakao의 공식 제품이 아닙니다. 카카오톡 업데이트에 따라 기능이 중단될 수 있습니다. 사용 전 카카오톡 이용약관과 관련 법률을 직접 확인해 주세요.
주요 특징
허용 목록에 등록한 채팅방만 접근합니다.
외부에는 실제 방 제목 대신 사용자가 정한 불투명
room_id를 노출합니다.최초 관찰 시 현재 상태를 기준선으로 저장하여 과거 대화를 신규 메시지로 재생하지 않습니다.
동일 메시지와 중복 작업을 fingerprint 및 idempotency 상태로 차단합니다.
답장 전송은
prepare → 사용자 승인 → commit → readback순서를 따릅니다.send_enabled와auto_reply_enabled의 기본값은false입니다.선택적으로 일정 후보를 로컬에서 선별하여 별도 일정 관리 에이전트에 전달할 수 있습니다.
선택적 backend watcher는 명시적으로 고른 소수의 방만 처리하며, raw key와 평문 데이터베이스를 파일로 저장하지 않습니다.
유휴 상태에서는 AI 모델을 호출하지 않습니다.
Related MCP server: kakaotalk-mcp
안전 경계
이 프로젝트는 다음 기능을 제공하지 않습니다.
카카오톡 계정 비밀번호·세션·인증정보 추출
비공개 네트워크 프로토콜 구현
무제한 전체 채팅방 수집
전체 대화 내보내기
raw DB key 또는 평문 DB 저장
일괄 메시지 전송
승인 없는 자동 답장
로컬 MCP 서버를 인터넷이나 공용 네트워크에 직접 노출하지 마세요. 실제 설정, 상태 DB, 로그와 채팅 캡처는 Git 저장소 또는 클라우드 동기화 폴더에 올리지 않는 것을 권장합니다.
필요 환경
Windows 10 또는 Windows 11
로그인된 카카오톡 PC 앱
Python 3.11 이상
PowerShell
stdio MCP 서버를 실행할 수 있는 MCP 클라이언트
설치
PowerShell에서 저장소를 받은 뒤 설치 스크립트를 실행해 주세요.
git clone https://github.com/Bum-Boo/kakaotalk-local-mcp.git
cd kakaotalk-local-mcp
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install-windows.ps1설치 스크립트는 프로젝트 전용 .venv를 만들고, config.json이 없을 때만 안전한 예제 설정을 복사합니다.
기본 설정
config.json은 공개 저장소에 포함되지 않습니다. 처음에는 전송과 일정 자동화를 모두 끈 상태로 시작해 주세요.
{
"adapter": "win32",
"send_enabled": false,
"auto_reply_enabled": false,
"schedule_automation_enabled": false,
"backend_collector": null,
"rooms": []
}채팅방 등록
대상 채팅방을 별도 창으로 하나만 연 다음 아래 명령을 실행하면 방 제목을 콘솔에 표시하지 않고 등록할 수 있습니다.
.\.venv\Scripts\hermes-kakao-mcp.exe --config .\config.json adopt-open-room --room-id self-test열린 채팅방이 정확히 하나가 아니면 설정을 바꾸지 않습니다. room_id는 MCP에서 사용할 로컬 별칭이며 실제 채팅방 제목과 달라도 됩니다.
설정 적용 후 다음 명령으로 검사해 주세요.
.\.venv\Scripts\hermes-kakao-mcp.exe --config .\config.json validate-config
.\scripts\doctor.cmdMCP 클라이언트 연결
MCP 클라이언트의 stdio 서버 설정에서 다음 실행 파일을 등록해 주세요. 실제 저장소 경로로 바꿔야 합니다.
{
"mcpServers": {
"kakaotalk-local": {
"command": "C:\\Windows\\System32\\cmd.exe",
"args": [
"/d",
"/s",
"/c",
"C:\\path\\to\\kakaotalk-local-mcp\\scripts\\run-mcp.cmd"
]
}
}
}연결 후 먼저 kakao_health만 호출하여 로컬 브리지 상태와 전송 비활성 여부를 확인해 주세요.
제공 도구
도구 | 설명 |
| 메시지를 읽지 않고 실행 상태와 승인된 출처 별칭을 확인합니다. |
| 허용된 불투명 방 ID만 반환합니다. |
| 허용된 방의 제한된 최근 메시지와 fingerprint를 읽습니다. |
| 기준선을 만들거나 신규 메시지 이벤트를 생성합니다. |
| 로컬에 저장된 신규 이벤트를 가져옵니다. |
| 분석 대기 중인 일정 후보를 가져옵니다. |
| 불투명 candidate ID로 후보 하나를 조회합니다. |
| 후보의 처리 상태를 기록합니다. |
| 현재 fingerprint에 묶인 일회용 전송 승인을 준비합니다. |
| 승인된 초안을 한 번만 전송하고 결과를 다시 확인합니다. |
| 준비된 작업의 현재 상태를 확인합니다. |
메시지 전송
실제 전송이 필요한 경우에도 다음 순서를 지켜 주세요.
kakao_read_room으로 최신 fingerprint를 확인합니다.보낼 초안을 사용자에게 보여 줍니다.
kakao_prepare_reply로 일회용 작업을 준비합니다.사용자가 현재 턴에서 명시적으로 승인합니다.
kakao_commit_reply를 한 번만 호출합니다.더 최신 메시지가 생겼거나 readback 결과가 불명확하면 자동 재시도하지 않습니다.
설정의 send_enabled가 false이면 commit 단계에서 전송하지 않습니다.
선택적 watcher
일반 UI watcher는 다음과 같이 실행할 수 있습니다.
.\.venv\Scripts\hermes-kakao-watch.exe --once
.\.venv\Scripts\hermes-kakao-watch.exe선택적 backend watcher는 별도로 승인한 방 ID와 현재 카카오톡 버전을 설정한 경우에만 사용해 주세요.
{
"backend_collector": {
"enabled": true,
"mode": "ram_only_v2",
"room_ids": ["approved-room-one"],
"max_batch_rows": 200,
"bootstrap_retry_seconds": 30,
"expected_client_version": "현재 검증한 버전"
}
}카카오톡 버전이 설정값과 다르면 backend watcher는 데이터 접근 전에 중단합니다.
개발 및 검증
uv sync --extra dev
uv run ruff check .
uv run pytest
uv run python tests\smoke_mcp.pyGitHub Actions에서도 Windows와 Ubuntu, Python 3.11과 3.12 조합을 검사합니다.
제작자 표기 부탁드립니다
이 프로젝트를 사용한 글, 영상, 데모, 연구 또는 파생 프로젝트를 공개하실 때 아래처럼 제작자와 저장소를 함께 언급해 주시면 감사하겠습니다.
Made with KakaoTalk Local MCP by @Bum-Boo
MIT 라이선스가 요구하는 저작권·라이선스 고지는 반드시 유지해 주세요. 위 문구를 통한 공개 언급은 법적 조건을 추가하려는 것이 아니라, 프로젝트를 만든 사람과 원본 저장소를 찾을 수 있도록 부탁드리는 것입니다.
영감을 주신 프로젝트
다음 오픈소스 프로젝트의 아이디어와 선행 작업에서 영감을 받았습니다. 좋은 작업을 공개해 주신 제작자분들께 감사드립니다.
kronenz/kakaotalk-mcp — Win32 창 탐색과 MCP 연결 방식
johklo/moltbot — 기준선, 메시지 fingerprint와 전송 전 재검증
channprj/kmsg — 로컬 별칭, 제한된 상태 관리와 fail-closed 설계
is-theo/kakao-cli-win — Windows v2 SQLCipher 구조 연구의 출발점
참고한 revision과 라이선스 정보는 THIRD_PARTY_NOTICES.md에 기록되어 있습니다. 위 프로젝트의 코드를 그대로 번들하거나 공식 지원을 받는다는 의미는 아닙니다.
개인정보·보안·라이선스
개인정보 처리 경계:
PRIVACY.md취약점 신고와 위협 모델:
SECURITY.md제3자 고지:
THIRD_PARTY_NOTICES.md라이선스: 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