kakaotalk-mcp
Controls KakaoTalk PC via Win32 API, enabling message sending, reading, and chat room management through MCP clients like Claude Desktop.
README
KakaoTalk MCP Server
카카오톡 PC를 Win32 API로 제어하는 MCP (Model Context Protocol) 서버입니다.
Claude Desktop, Claude Code 등 MCP 클라이언트에서 카카오톡 메시지를 보내고, 읽고, 채팅방을 관리할 수 있습니다.
주요 기능
기본 도구
| 도구 | 설명 |
|---|---|
kakao_health_check |
카카오톡 PC 실행 상태 확인 |
kakao_list_open_rooms |
열려있는 채팅방 목록 조회 |
kakao_open_room |
채팅방 검색 및 열기 |
kakao_send_message |
채팅방에 메시지 전송 |
kakao_send_bulk |
여러 채팅방에 동일 메시지 일괄 전송 |
kakao_send_mention |
@멘션과 함께 메시지 전송 |
kakao_read_messages |
채팅방 메시지 읽기 |
kakao_extract_links |
채팅방에서 공유된 URL 추출 |
kakao_send_image |
채팅방에 이미지 파일 전송 |
kakao_download_images |
카카오톡 캐시에서 최근 이미지 다운로드 |
모니터링 도구
| 도구 | 설명 |
|---|---|
kakao_start_monitor |
채팅방 키워드 모니터링 시작 |
kakao_stop_monitor |
모니터링 중지 |
kakao_get_monitor_events |
감지된 키워드 이벤트 조회 |
요구사항
- Windows 10/11 (Win32 API 기반이므로 Windows 전용)
- 카카오톡 PC 설치 및 로그인 상태
- Python 3.10 이상
설치
uvx (권장)
별도 설치 없이 바로 실행:
uvx kakaotalk-mcp
pip
pip install kakaotalk-mcp
소스에서 설치
git clone https://github.com/kronenz/kakaotalk-mcp.git
cd kakaotalk-mcp
pip install -e .
설정
Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json 파일에 추가:
uvx 사용 시:
{
"mcpServers": {
"kakao": {
"command": "uvx",
"args": ["kakaotalk-mcp"]
}
}
}
pip 설치 후:
{
"mcpServers": {
"kakao": {
"command": "kakaotalk-mcp"
}
}
}
소스에서 직접 실행:
{
"mcpServers": {
"kakao": {
"command": "python",
"args": ["C:/경로/kakaotalk-mcp/src/kakao_mcp/server.py"],
"env": {
"PYTHONPATH": "C:/경로/kakaotalk-mcp/src"
}
}
}
}
Claude Code
Claude Code 설정에서 MCP 서버 추가:
claude mcp add kakao -- uvx kakaotalk-mcp
또는 .claude/settings.json에 직접 추가:
{
"mcpServers": {
"kakao": {
"command": "uvx",
"args": ["kakaotalk-mcp"]
}
}
}
사용 예시
Claude에게 자연어로 요청하면 됩니다:
- "카카오톡 실행 중인지 확인해줘"
- "열린 채팅방 목록 보여줘"
- "홍길동 채팅방 열어줘"
- "홍길동에게 '회의 10분 후에 시작합니다' 보내줘"
- "홍길동에게 @멘션으로 '확인 부탁드립니다' 보내줘"
- "홍길동 채팅방 최근 대화 읽어줘"
- "홍길동 채팅방에서 공유된 링크 추출해줘"
- "이 이미지를 홍길동에게 보내줘: C:\Users\사용자\Pictures\photo.jpg"
- "최근 카카오톡 이미지 다운로드해줘"
- "홍길동, 김철수, 이영희에게 '내일 회의 참석 부탁드립니다' 보내줘"
- "공학자들 채팅방에서 '회의', '점심' 키워드를 모니터링하고 감지되면 답장해줘"
- "모니터링 중지해줘"
제한사항 및 주의사항
- Windows 전용: Win32 API를 사용하므로 macOS/Linux에서는 동작하지 않습니다.
- 포그라운드 필요: 메시지 읽기(
kakao_read_messages), 채팅방 열기(kakao_open_room), 멘션 전송(kakao_send_mention) 시 카카오톡 창이 잠시 최전면으로 올라옵니다. - 멘션(@) 기능:
kakao_send_mention은 키보드 시뮬레이션으로 @멘션 팝업을 활성화합니다. 한글 2벌식 자판 입력을 사용하므로 시스템 키보드 레이아웃이 한글이어야 합니다. - 클립보드 사용: 메시지 읽기/전송 시 시스템 클립보드를 사용합니다. 작업 중 클립보드 내용이 변경될 수 있습니다.
- 채팅방 이름 정확히 입력:
kakao_send_message,kakao_read_messages는 채팅방 창 제목이 정확히 일치해야 합니다. 먼저kakao_list_open_rooms로 정확한 이름을 확인하세요. - 이미지 전송:
kakao_send_image는 파일을 클립보드에 복사한 후 Ctrl+V로 붙여넣는 방식입니다. 전송 확인 다이얼로그가 자동으로 처리됩니다. JPG, PNG, GIF, BMP, WebP 형식을 지원합니다. - 이미지 다운로드: 카카오톡 로컬 캐시에서 가져오며, 채팅방별 구분 없이 최근 캐시된 이미지가 다운로드됩니다.
- 모니터링 기능:
kakao_start_monitor는 백그라운드에서 채팅방을 주기적으로 폴링합니다. 폴링 시마다 카카오톡 창이 잠시 최전면으로 올라오며, 최소 폴링 간격은 3초입니다.
로드맵
v0.2.0 — 서버 사이드 자동 응답 (예정)
클라이언트 폴링 방식의 토큰 비효율 문제를 해결하기 위해, MCP 서버 내부에서 채팅 감지 + AI 답장 생성 + 전송을 처리하는 기능을 추가할 예정입니다.
| 도구 | 설명 |
|---|---|
kakao_start_auto_reply |
AI 자동 응답 모니터링 시작 (서버 사이드) |
kakao_stop_auto_reply |
자동 응답 중지 |
kakao_get_auto_reply_log |
자동 응답 이력 조회 |
핵심 개선:
- 새 메시지 감지는 서버 내부 hash 비교로 처리 (토큰 0)
- AI 답장이 필요할 때만 Claude API를 최소 컨텍스트(최근 10개 메시지)로 호출
- 클라이언트 폴링 대비 토큰 ~99% 절감
프로젝트 구조
kakaotalk-mcp/
├── pyproject.toml
├── README.md
├── CHANGELOG.md
├── LICENSE
├── requirements.txt
├── src/
│ └── kakao_mcp/
│ ├── __init__.py
│ ├── __main__.py # python -m kakao_mcp 지원
│ ├── server.py # MCP 서버 + 13개 도구 정의
│ ├── controller.py # Win32 API 래퍼
│ ├── parser.py # 클립보드 텍스트 파싱
│ └── config.py # 상수 및 설정
└── tests/
├── test_parser.py # 파서 단위 테스트
└── test_controller.py # 컨트롤러 mock 테스트
라이선스
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.