KakaoTalk MCP 服务器

一个通过Win32 API控制KakaoTalk PC的MCP服务器,支持发送和接收消息、管理聊天室等功能。

  • by kronenz
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 kronenz/kakaotalk-mcp

使用说明

KakaoTalk MCP服务器

使用Win32 API控制KakaoTalk PC MCP(模型上下文协议) 服务器。

您可以在Claude Desktop、Claude Code等MCP客户端上发送、阅读和管理聊天室。

主要功能

基本工具

工具 说明
kakao_health_check 确认KakaoTalk 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 从KakaoTalk缓存下载最新图像

监视工具

工具 说明
kakao_start_monitor 开始监控聊天室关键字
kakao_stop_monitor 停止监视
kakao_get_monitor_events 查看检测到的关键字事件

要求

  • Windows 10/11 (基于Win32 API,仅限Windows)
  • KakaoTalk PC 安装和登录状态
  • Python 3.10 异常

安装

uvx(建议)

无需单独安装即可运行:

uvx kakaotalk-mcp

点

pip install kakaotalk-mcp

从源安装

git clone https://github.com/kronenz/kakaotalk-mcp.git
cd kakaotalk-mcp
pip install -e .

设置

克劳德桌面版

%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设置中添加MCP服务器:

claude mcp add kakao -- uvx kakaotalk-mcp

或 .claude/settings.json直接添加到:

{
  "mcpServers": {
    "kakao": {
      "command": "uvx",
      "args": ["kakaotalk-mcp"]
    }
  }
}

使用示例

用自然语言要求Claude:

  • “请确认KakaoTalk是否在运行”
  • “给我看看开放的聊天室列表”
  • “请打开洪吉童的聊天室”
  • “发给洪吉童‘会议10分钟后开始’”
  • “请向洪吉童发送@Mention‘请确认’”
  • “读一下洪吉童聊天室最近的对话”
  • “帮我提取洪吉童聊天室共享的链接”
  • “把这个图片发给洪吉童:C:\Users\Users\Pictures\photo.jpg”
  • “下载最近的KakaoTalk图片”
  • “请给洪吉童、金哲秀、李英姬发‘明天请参加会议’。”
  • “工程师们在群里监控‘会议’、‘午餐’关键词,如果检测到了请回复”
  • “请停止监控”

限制和注意事项

  • 仅Windows:由于使用Win32 API,因此在MacOS/Linux上不起作用。
  • 需要前台:读取消息(kakao_read_messages),打开聊天室(kakao_open_room),发送评论(kakao_send_mention)时KakaoTalk窗口暂时显示在最前面。
  • Mention(@)功能: kakao_send_mention通过键盘模拟激活@Mention弹出窗口。使用韩文两套键盘输入,因此系统键盘布局必须为韩文。
  • 使用剪贴板:读取/发送消息时使用系统剪贴板。操作期间剪贴板内容可能会发生更改。
  • 请输入正确的聊天室名称: kakao_send_message, kakao_read_messages必须与聊天室窗口标题完全匹配。首先 kakao_list_open_rooms请用确认正确的名字。
  • 图像传输: kakao_send_image将文件复制到剪贴板,然后用Ctrl+V粘贴。将自动处理传输确认对话框。支持JPG、PNG、GIF、BMP和WebP格式。
  • 下载图像:从KakaoTalk本地缓存获取,不分聊天室下载最近缓存的图像。
  • 监控功能: kakao_start_monitor定期轮询后台的聊天室。每轮询一次,KakaoTalk窗口会暂时显示在最前面,轮询间隔最小为3秒。

路线图

v0.2.0-服务器端自动响应(预定)

为了解决客户端轮询方式的令牌效率低下问题,我们将在MCP服务器内部添加聊天检测+AI回复生成+处理传输的功能。

工具 说明
kakao_start_auto_reply 开始AI自动响应监控(服务器端)
kakao_stop_auto_reply 停止自动响应
kakao_get_auto_reply_log 自动查看响应历史记录

关键改进:

  • 将新消息检测作为服务器内部hash比较处理(令牌0)
  • 只有在需要AI回复时,才通过最少上下文(最近10条消息)调用Claude API
  • 客户端轮询对比 代币减少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 테스트

许可证

MIT许可证