{"repo":"channprj/kmsg","free":true,"listed":false,"github":"https://github.com/channprj/kmsg","clone":"git clone https://github.com/channprj/kmsg.git","description":"Unofficial KakaoTalk CLI and native MCP server for macOS — read, watch, and send messages via Accessibility automation.","language":"Swift","stars":251,"topics":["automation","cli","kakaotalk","unofficial","accessibility","ai-agent","kakao","kakaotalk-bot","macos","mcp"],"license":"MIT","category":"cli-tools","readme_excerpt":"kmsg — macOS용 카카오톡 CLI 및 MCP 서버 프로젝트 홈페이지 · English kmsg 는 macOS용 비공식 카카오톡 CLI이자 네이티브 MCP 서버입니다. macOS 손쉬운 사용 API로 메시지를 읽고, 감시하고, 전송하며 로컬 자동화와 AI 에이전트를 위한 구조화된 출력을 제공합니다. Disclaimer : kmsg 는 Kakao Corp. 의 공식 도구가 아닙니다. 사용자는 본인 계정/환경에서 관련 법규, 서비스 약관, 회사 보안 정책을 준수할 책임이 있습니다. 이 도구 사용으로 발생할 수 있는 계정 제한, 오작동, 데이터 손실, 기타 손해에 대한 책임은 사용자에게 있습니다. LOCO Protocol 이 아닌 AX 를 사용한 이유와 계정 제재 가능성에 대한 제 개인적인 판단은 왜 KakaoTalk 의 LOCO Protocol 을 사용하지 않나요? 항목을 참고해 주세요. AX(Accessibility API)를 핵심으로 개발 kmsg 는 macOS의 공식 Accessibility API, 즉 AX를 핵심 자동화 계층으로 사용해 개발되었습니다. Swift에서 ApplicationServices 와 AXUIElement 를 직접 호출해 사용자가 보는 KakaoTalk 창, 채팅 목록, 메시지 영역, 입력창을 탐색하고 제어합니다. 키보드와 마우스 입력이 필요한 동작은 CGEvent 를 사용합니다. - UIElement 는 AX 속성 조회, 계층 탐색, 값 설정, 액션 실행을 Swift 인터페이스로 감쌉니다. - AXActionRunner 는 AX 액션과 CGEvent 기반 입력을 실행합니다. - AXPathCache 는 자주 쓰는 UI 경로를 캐시하고, KakaoTalk UI가 바뀌어 경로가 유효하지 않으면 다시 탐색할 수 있게 합니다. 이 구조는 kmsg 자체가 KakaoTalk 서버나 비공개 LOCO 프로토콜에 직접 연결하지 않고, 사용자가 실제로 조작하는 앱 UI를 통해 동작한다는 뜻입니다. 따라서 설치한 kmsg 바이너리에 macOS 손쉬운 사용 권한이 필요하며, KakaoTalk UI 구조가 바뀌면 일부 탐색 경로가 영향을 받을 수 있습니다. 자세한 설계 배경과 제약은 아키텍처 문서를 참고하세요. 데모 https://github.com/user-attachments/assets/c620b2e3-7106-40fa-86d1-ed847e3b1a6f 실사용 후기 Builder Josh: 헤르메스 에이전트 5개로 뉴스 큐레이션부터 주식 매매까지 자동화한 방법 전부 공개합니다 (AI 엔지니어 샘 호트만님) — 17:00부터 재생 샘 호트만: 나만의 Hermes 시스템 구축 방법 (문제정의부터 구축까지, 해외 AI 인사이트 발굴하기) 주요 기능 - 채팅 목록을 조회하고 재사용 가능한 로컬 chat id 를 생성합니다. - 최근 메시지를 읽거나 새 메시지를 실시간으로 감시합니다. - 화면에 표시되는 KakaoTalk UI를 제어해 텍스트와 이미지를 전송합니다. - 구조화된 JSON을 stdout 으로 출력하고 AX 추적 로그는 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/channprj","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/channprj/kmsg/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}