kakaotalk-win
Provides tools for interacting with the installed Windows KakaoTalk PC app: listing open chat windows and rooms, searching and opening existing rooms, reading messages with sender and timestamp details, reading recent messages across rooms, loading older messages, searching conversation context, checking attachments, and sending text replies to existing chats.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
kakaotalk-mcp-win32message
AI 에이전트가 Windows PC 카카오톡의 대화를 읽고, 찾고, 답장할 수 있게 해 주는 MCP 서버입니다. 컴퓨터에 설치된 공식 카카오톡 앱을 사용하여 작동합니다.
카카오와 관계없는 비공식 도구입니다. 카카오는 이용 환경과 이용 패턴 분석만으로도 보호조치를 할 수 있다고 고지합니다. 이 도구는 카카오톡 서버와 통신하는 방식이 아니며, Windows의 기본 제공 기능만으로 구성되어 있습니다. 이용제한 위험과 다른 사람의 대화를 다루는 책임은 사용하는 사람에게 있습니다.
이런 일을 맡길 수 있습니다
Claude 같은 AI 클라이언트에 연결하여 카카오톡과 관련된 업무를 지시할 수 있습니다.
"프로젝트방에서 오늘 나온 결정 사항만 정리해 줘"
"최근 1시간 동안 온 카톡을 방별로 요약해 줘"
"지난주에 '견적' 얘기가 나온 부분을 찾아서 앞뒤 대화까지 보여 줘"
"안 읽은 방이 뭐가 있는지 알려 주고, 김 대리 방에는 '자료 확인했습니다'라고 답해 줘"
"이 방에 올라온 사진에 뭐가 적혀 있는지 확인해 줘"
Related MCP server: kakao-mac-mcp
특징
공식 앱만 사용합니다. 카카오 서버나 통신 규약에 직접 접속하지 않고, 카카오톡의 DB·파일·메모리도 건드리지 않습니다. 사람이 카카오톡 창에서 하는 동작(복사, 검색, 입력, Enter)을 그 창에 보낼 뿐입니다.
화면을 뺏지 않습니다. 대화창이 다른 창 뒤에 있거나 최소화돼 있어도 읽고 보낼 수 있어서, 다른 작업을 하는 중에도 쓸 수 있습니다.
보낸 사람과 시각까지 정리해 줍니다. 메시지마다 날짜, 보낸 사람, 시각, 본문을 나눠서 돌려주고 사진·파일·이모티콘도 구분합니다.
계정 보호 장치가 켜져 있습니다. 전송 속도와 횟수를 제한하고, 같은 글을 여러 방에 뿌리지 못하게 막습니다. 새 방 만들기나 친구 추가 같은 위험한 동작은 기능 자체를 넣지 않았습니다.
빠른 시작
준비물
Windows 10 또는 11
Python 3.10 이상
로그인된 공식 카카오톡 PC 앱
MCP를 지원하는 AI 클라이언트 (Claude Code, Claude Desktop 등)
1. 설치
PowerShell에서 실행합니다. 원하는 폴더에 가상 환경을 만들고 최신 릴리스를 설치합니다.
py -3 -m venv "$env:USERPROFILE\.kakaotalk-win"
& "$env:USERPROFILE\.kakaotalk-win\Scripts\pip" install "https://github.com/Kwon-Sungeon/kakaotalk-mcp-win32message/releases/download/v0.1.2/kakaotalk_win-0.1.2-py3-none-any.whl"소스코드를 수정하려면 git 저장소를 받아 설치합니다.
git clone https://github.com/Kwon-Sungeon/kakaotalk-mcp-win32message.git
cd kakaotalk-mcp-win32message
py -3 -m venv .venv
.venv\Scripts\pip install -e .2. 상태 확인
카카오톡을 켜 둔 상태에서 실행합니다.
& "$env:USERPROFILE\.kakaotalk-win\Scripts\kakaotalk-win" statuswarnings가 비어 있으면 준비가 끝난 것입니다.
선택 사항으로 내 카카오톡 프로필 이름을 알려 주면, 보낸 메시지의 작성자가 나인지까지 확인합니다.
& "$env:USERPROFILE\.kakaotalk-win\Scripts\kakaotalk-win" config --self-name "내 프로필 이름"3. AI 클라이언트에 등록
kakaotalk-win mcp-config를 실행하면 설치 경로에 맞는 설정이 출력됩니다.
Claude Code
claude mcp add kakaotalk-win -- "C:\Users\<사용자>\.kakaotalk-win\Scripts\kakaotalk-win.exe" mcpClaude Desktop (%APPDATA%\Claude\claude_desktop_config.json)
{
"mcpServers": {
"kakaotalk-win": {
"command": "C:\\Users\\<사용자>\\.kakaotalk-win\\Scripts\\kakaotalk-win.exe",
"args": ["mcp"]
}
}
}Cursor, VS Code 등 다른 클라이언트도 같은 명령(kakaotalk-win.exe mcp)을 stdio 서버로 등록하면 됩니다.
4. 써 보기
클라이언트를 다시 시작한 뒤 "카카오톡에 열려 있는 대화창 알려 줘"라고 해 보세요.
도구
도구 | 하는 일 | 앱 상태 변경 |
| 실행·잠금·서명 상태, 전송 한도, 경고 확인 | 없음 |
| 열려 있는 대화창 목록과 초안 유무 | 없음 |
| 채팅 목록의 방 이름·미리보기·시각·안 읽은 개수 (화면 글자 인식, 여러 페이지) | 목록을 내렸다가 맨 위로 되돌림 |
| 앱의 채팅방 검색으로 방 찾기 | 검색칸을 썼다가 되돌림 |
| 정확한 이름의 기존 방 열기 | 대화창 열림 |
| 대화창 닫기 (방 나가기 아님, 초안 있으면 중단) | 대화창 닫힘 |
| 메시지 읽기 (날짜·보낸 사람·시각·본문, 페이지 지원) | 없음 |
| 500자가 넘는 메시지의 전체 본문 읽기 ('전체보기') | 전체보기 창을 열었다가 닫음 |
| 방 최대 10개를 차례로 읽기 | 필요하면 열고 닫음 |
| 최근 N분 동안 여러 방에 온 메시지를 한 번에 모으기 | 기본은 없음. |
| 대화창을 이미지로 캡처해 사진·이모티콘 확인 | 없음 |
| 위로 스크롤해 이전 대화 불러오기 | 스크롤 후 원위치 |
| 불러온 대화에서 검색하고 앞뒤 맥락 함께 반환 | 없음 |
| 기존 방에 텍스트 한 건 전송 | 메시지 전송 |
| 전송 결과 다시 확인 (다시 보내지 않음) | 없음 |
인수와 결과 형식은 각 도구 설명과 docs/windows.md에 있습니다.
작동 원리
AI 클라이언트 ── MCP(stdio) ──▶ kakaotalk-win ── 창 메시지 ──▶ 카카오톡 PC (공식 앱)
(Claude 등) (내 PC에서 실행) │
▲ │ 앱이 스스로 복사
└──────── 클립보드 텍스트 ◀────────┘대화창, 메시지 목록, 입력창이 각각 별도의 창으로 나뉘어 있어서, kakaotalk-win은 그 창을 찾아 필요한 동작을 직접 보냅니다.
읽기: 메시지 목록에 Ctrl+A, Ctrl+C를 보내면 카카오톡이 대화를
[보낸 사람] [오후 3:05] 본문형식으로 클립보드에 복사합니다. 이 텍스트를 메시지 단위로 나눕니다. 방 하나에 0.1초가 채 걸리지 않습니다. 다 읽은 뒤에는 목록 맨 아래 빈 곳에 클릭 메시지를 보내 전체 선택 표시를 풉니다.방 목록: 목록 창은 글자를 내주지 않아서 창을 캡처한 뒤 Windows에 들어 있는 OCR로 읽습니다. 목록을 한 화면씩 내려 가며 읽고, 끝나면 맨 위로 되돌립니다. 안 읽은 개수 배지는 빨간 원을 흰 바탕의 검은 숫자로 바꾸고 2배로 키워서 따로 읽습니다. 시스템 배율이 150%보다 낮은 PC에서는 글자가 작아서, 회색 글자를 진하게 바꾸고 2배로 키워 인식합니다. 방을 열 때는 OCR 결과와 상관없이 앱의 검색으로 열고, 열린 창의 제목이 요청한 이름과 정확히 같은지 확인합니다.
최근 메시지 모으기: 방 목록의 시각으로 지정한 시간 안에 대화가 있었던 방을 고르고, 열려 있는 대화창만 읽어서 그 시각 이후 메시지만 돌려줍니다. 닫힌 방은 열면 읽음 처리되기 때문에 기본으로는 열지 않고 목록의 미리보기와 안 읽은 개수만 알려 줍니다. 이름이 숫자만 다른 방(예: 1팀과 2팀)은 서로 다른 방으로 구분합니다.
긴 메시지: 카카오톡은 500자가 넘는 메시지를 앞 500자만 보여 줍니다. 메시지 아래 '전체보기' 위치에 클릭 메시지를 보내 열리는 창에서 전체 본문을 복사하고, 그 창을 바로 닫습니다. 마우스 커서는 움직이지 않습니다.
전송: 입력창에 글을 넣고, 다시 읽어서 똑같이 들어갔는지 확인한 뒤 Enter를 한 번만 보냅니다. 그다음 대화를 다시 읽어 새 메시지가 올라오고 입력창이 비었는지 확인합니다. 확인하지 못하면 다시 보내지 않고
outcome_unknown으로 알립니다.찾는 방식: 창은 카카오톡 내부 이름(
ChatRoomListView_…등)으로 찾기 때문에 한국어·영어 UI에서 똑같이 동작합니다.
자세한 구조는 docs/windows.md에 있습니다.
계정 보호 장치
카카오 약관과 운영정책에서 이용제한 사유로 명시한 조항을 바탕으로 구성되어 있습니다. 관련 조항은 docs/windows.md에서 확인하실 수 있습니다.
장치 | 기본값 |
전송 간격 | 10초 이상 |
전송 횟수 | 시간당 20건, 하루 100건, 한 방에 시간당 10건 |
한 시간에 보낼 수 있는 방 | 10개 |
같은 글 반복 | 30자를 넘거나 링크가 든 글은 24시간 동안 다른 방에 못 보냄 |
대상 | 대화 기록이 있는 기존 방만 |
방 열기 | 분당 6회 |
한도는 설정으로 더 엄격하게만 바꿀 수 있고 기본값보다 높일 수는 없습니다. 새 방 만들기, 친구 추가, 초대, 오픈채팅 참여·개설, 여러 방 동시 발송, 예약 발송은 기능이 없습니다.
대화방에 보호조치나 이용제한 안내가 보이거나, 확인되지 않은 전송이 두 번 이어지면 모든 전송을 멈춥니다. 이 안전 정지는 사람이 카카오톡 화면을 확인한 뒤 터미널에서 직접 풀어야 합니다. AI 도구로는 풀 수 없습니다.
kakaotalk-win reset-stop전송 전 확인창은 기본으로 꺼져 있습니다. 이때는 AI 클라이언트가 도구를 쓸 때마다 묻는 승인 창이 사람의 확인을 대신합니다. 보낼 때마다 받는 방과 본문을 직접 확인하고 싶다면 확인창을 켜 두세요.
kakaotalk-win config --confirm dialog설정
kakaotalk-win config # 현재 설정과 실제 적용 한도
kakaotalk-win config --self-name "내 프로필 이름"
kakaotalk-win config --limit per_hour=10 --limit per_day=30
kakaotalk-win config --confirm dialog # 전송 전 확인창 켜기환경 변수 | 용도 |
| 상태 파일 위치 (기본 |
| 내 프로필 이름 |
|
|
| 빈 입력창 안내 문구 추가 ( |
상태 파일에는 전송 한도 기록과 전송 결과 기록만 남습니다. 메시지 본문은 해시로만 저장합니다.
명령줄
MCP 없이 명령줄에서도 같은 기능을 쓸 수 있습니다.
kakaotalk-win windows
kakaotalk-win read --window-title "정확한 방 이름" --limit 50
kakaotalk-win call read_many --args-file C:\path\args.json
kakaotalk-win call send_message --args-file C:\path\request.jsoncall은 Python API(kakaotalk_win.operations.KakaoTalkWin)의 메서드 이름과 인수를 그대로 받습니다. 보낼 글은 명령줄에 직접 쓰지 말고 UTF-8 JSON 파일로 넘기세요.
자주 묻는 질문
카카오톡 창을 화면에 띄워 둬야 하나요?
아니요. 카카오톡이 실행돼 있고 읽을 대화창이 열려 있기만 하면 됩니다. 창이 가려져 있거나 최소화돼 있어도 됩니다. 닫힌 방은 kakaotalk_win_open으로 먼저 엽니다.
계정이 정지될 수 있나요? 가능성을 0으로 만들 수는 없습니다. 공식 앱 창에 메시지를 보내는 방식만으로 제한됐다는 보고는 찾지 못했습니다. 그래도 카카오는 이용 패턴을 분석해 보호조치를 합니다. 그래서 사람이 평소에 쓰는 속도와 방식을 넘지 않도록 한도를 걸어 두었습니다.
대화 내용은 어디로 가나요? kakaotalk-win은 대화를 내 PC 밖으로 보내지 않고 저장하지도 않습니다. 다만 AI 클라이언트는 도구 결과를 AI 모델에 보내므로, 읽은 대화는 사용하는 AI 서비스에 전달됩니다. 다른 사람의 대화를 다룰 때는 이 점을 고려하세요.
전체 대화 기록을 읽을 수 있나요?
대화창에 불러온 메시지까지만 읽습니다. load_more로 더 불러올 수 있지만, 처음까지 다 읽었다고 보장하지는 않습니다. 오래된 대화 전체가 필요하면 카카오톡의 공식 '대화 내용 내보내기'를 쓰는 편이 정확합니다.
사진이나 파일도 보낼 수 있나요?
아니요. 텍스트 전송만 지원합니다. 받은 사진은 read_attachment로 대화창을 캡처해서 확인할 수 있습니다.
chats_tab_not_visible이 나와요.
카카오톡 메인 창에서 채팅 탭을 한 번 눌러 둔 뒤 다시 시도하세요. 방 목록 기능은 채팅 탭이 열려 있어야 합니다.
이런 용도에는 맞지 않습니다
대량 발송이나 마케팅 메시지: 의도적으로 막아 두었고, 그런 사용은 이용제한 사유입니다.
서버에서 24시간 도는 봇: 실제 PC에서 로그인된 카카오톡이 필요합니다. 가상 머신이나 원격 데스크톱 환경은 카카오가 비정상 이용 환경으로 볼 수 있으니 피하세요. 원격 데스크톱 세션이면
status가 경고합니다.대화 백업이나 기록 수집: 다른 사람의 개인정보를 저장하는 일이라 기능을 넣지 않았습니다.
개발
.venv\Scripts\python -m unittest discover -s tests -v단위 테스트는 가짜 카카오톡 창으로 전송 절차를 검사하며 실제 카카오톡은 건드리지 않습니다. GitHub에 코드를 올릴 때마다 GitHub Actions가 Windows에서 같은 테스트를 돌립니다.
src/kakaotalk_win/ 구현 (Win32 호출은 ctypes만 사용)
win32.py Win32 API 바인딩
ui.py 카카오톡 창 구조 지도
clipboard.py 클립보드 저장·복원
parser.py 복사된 대화 텍스트 해석
capture.py 창 캡처, Windows OCR
operations.py 기능별 동작
sender.py 전송 절차와 결과 확인
safety.py 한도, 안전 정지, 상태 파일
mcp_server.py MCP 도구
cli.py kakaotalk-win 명령
docs/windows.md 상세 문서 (구조, 전송 절차, 이용제한 대응 근거)
skills/kakaotalk-win/ 에이전트 스킬확인한 환경은 Windows 11, 카카오톡 PC 26.9.2(한국어 UI)입니다. 카카오톡이 업데이트되면 창 구조나 복사 형식이 바뀔 수 있으니, 동작이 이상하면 버전과 함께 이슈로 알려 주세요.
라이선스
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Read, search and reply to your WhatsApp chats from your AI, using your own number.
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
Mac & Windows: let ChatGPT, Claude & Cursor use your email, calendar, iMessage, Teams, files.
Your own AI reads, searches and drafts in your mailbox, on your Windows computer.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceControls KakaoTalk PC via Win32 API, enabling message sending, reading, and chat room management through MCP clients like Claude Desktop.7MIT
- FlicenseNot gradedqualityCmaintenanceEnables reading messages from explicitly permitted macOS KakaoTalk chat rooms and sending replies through a two-step prepare/commit approval flow via the accessibility API. Designed fail-closed, with sending and automation disabled by default.-
- AlicenseAqualityBmaintenanceEnables AI agents to read KakaoTalk chats from the local macOS database, fetch attachments, and send gated messages with user approval.63MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only access to Windows KakaoTalk PC for listing and opening chat rooms, reading recent and new messages, extracting links and images, and monitoring keywords through MCP clients, with send functions blocked by default.1MIT