WhatsApp MCP 서버
개요
WhatsApp MCP(Model Context Protocol) 서버는 macOS에서 WhatsApp 데스크톱 애플리케이션과 프로그래밍 방식으로 상호 작용할 수 있도록 하는 Node.js 애플리케이션입니다. AppleScript 자동화를 사용하여 WhatsApp UI와 직접 상호 작용하지 않고도 메시지를 보내고 WhatsApp 상태를 확인할 수 있는 간단한 인터페이스를 제공합니다.
특징
1. 연락처에 메시지 보내기
WhatsApp 연락처 목록에 있는 특정 연락처로 문자 메시지를 보내세요.
- 메시지는 연결된 WhatsApp 데스크톱 애플리케이션을 통해 전달됩니다.
- 줄 바꿈을 포함한 메시지의 적절한 형식을 지원합니다.
- AppleScript를 사용하여 WhatsApp 데스크톱 인터페이스를 자동화합니다.
2. WhatsApp 상태 확인(WIP)
현재 WhatsApp 애플리케이션이 실행 중인지 확인하세요.
- WhatsApp의 현재 실행 상태를 반환합니다.
- 메시지를 보낼 때 오류를 방지하는 데 도움이 됩니다.
3. 최근 연락처 목록(WIP)
WhatsApp의 개인정보 보호로 인해 이 기능은 제한된 기능을 제공합니다.
- WhatsApp의 개인정보 보호 제한 사항에 대해 사용자에게 알립니다.
- 메시지 전송을 위해 정확한 연락처 이름이 필요합니다.
기술 구현
~로 구축됨
- @modelcontextprotocol/sdk - MCP 서버 및 stdio 전송
- Zod - 스키마 검증
- Node.js 내장 모듈(child_process, util, fs)
- macOS 자동화를 위한 AppleScript
건축학
- 표준화된 도구 통신을 위해 MCP(Model Context Protocol)를 사용합니다.
- 통신을 위해 stdio 전송을 사용합니다.
- WhatsApp 데스크톱 애플리케이션과 상호 작용하기 위해 AppleScript 명령을 실행합니다.
- 디버깅을 위한 포괄적인 오류 로깅을 구현합니다.
요구 사항
- macOS 운영 체제
- WhatsApp 데스크톱 애플리케이션 설치됨
- Node.js v14.0.0 이상
- 인터넷 연결
설치
지엑스피1
용법
서버 시작
Claude와 통합
Claude가 WhatsApp MCP 서버를 사용할 수 있도록 하려면 다음 단계를 따르세요.
- MCP 서버 설정
- 위에 설명된 대로 WhatsApp MCP 서버를 설치하고 구성하세요.
- 로컬 컴퓨터에서 서버가 제대로 실행되고 있는지 확인하세요.
- MCP 도구로 Claude Desktop 구성
- WhatsApp MCP 도구를 포함하도록
claude_desktop_config.json
파일을 수정하세요. - 이 파일은 일반적으로 Claude Desktop 애플리케이션 구성 디렉토리에 있습니다.
- WhatsApp MCP 도구를 등록하려면 다음 구성을 추가하세요.
- WhatsApp MCP 도구를 포함하도록
- 통합 테스트
- Claude와 테스트 대화를 만들어 보세요
- Claude에게 테스트 연락처로 WhatsApp 메시지를 보내도록 요청하세요.
- WhatsApp 데스크톱 앱을 통해 메시지가 성공적으로 전송되었는지 확인하세요.
사용 가능한 MCP 도구
1. 왓츠앱 메시지 보내기
지정된 WhatsApp 연락처로 메시지를 보냅니다.
매개변수:
contactName
: WhatsApp에 표시되는 연락처의 전체 이름message
: 보낼 메시지의 내용
사용 예(MCP 클라이언트를 통해):
2. 왓츠앱 상태 확인
현재 WhatsApp 애플리케이션이 실행 중인지 확인합니다.
매개변수가 필요하지 않습니다.
사용 예(MCP 클라이언트를 통해):
3. 최근 연락처 목록
연락처 목록에 대한 WhatsApp의 개인정보 보호 제한에 대한 정보를 제공합니다.
매개변수가 필요하지 않습니다.
사용 예(MCP 클라이언트를 통해):
구현 세부 사항
AppleScript 자동화
서버는 AppleScript를 사용하여 WhatsApp 데스크톱 애플리케이션을 자동화합니다.
- WhatsApp 애플리케이션을 활성화합니다
- 키보드 단축키를 사용하여 인터페이스를 탐색합니다.
- 이름으로 연락처 검색
- 아래쪽 화살표 탐색을 사용하여 연락처를 선택합니다.
- 메시지를 입력하고 보냅니다
오류 처리
포괄적인 오류 처리 및 로깅:
- 콘솔 오류 출력
~/Library/Logs/whatsapp-mcp/
의 파일 기반 로깅- AppleScript 실행 오류의 우아한 처리
- 프로세스 수준 예외 처리
Claude와 함께 WhatsApp MCP 도구 사용하기
Claude와 WhatsApp MCP 도구를 통합하면 자연어를 사용하여 Claude에게 다음 작업을 지시할 수 있습니다.
메시지 보내기
예시 프롬프트:
- "존에게 WhatsApp 메시지를 보내서 회의에 10분 늦을 거라고 말해줘"
- "다음 텍스트를 WhatsApp으로 Sarah에게 보내세요: 요청하신 문서입니다"
- "엄마에게 왓츠앱으로 '생일 축하해!'를 보내세요"
WhatsApp 상태 확인
예시 프롬프트:
- "내 컴퓨터에서 WhatsApp이 실행되고 있나요?"
- "WhatsApp이 활성화되어 있는지 확인하세요"
- "메시지를 보내기 전에 WhatsApp 상태를 확인하세요"
연락처 정보 받기
예시 프롬프트:
- "최근 WhatsApp 연락처 목록을 알려주시겠어요?"
- "최근 WhatsApp에서 누구에게 메시지를 보냈는지 보여줘"
클로드는 귀하의 요청에 따라 적절한 MCP 도구를 사용하고 결과에 대한 피드백을 제공합니다.
제한 사항
- AppleScript 종속성으로 인해 macOS에서만 작동합니다.
- WhatsApp 데스크톱 애플리케이션을 설치해야 합니다.
- WhatsApp UI 변경으로 인해 연락처 선택에 영향을 미칠 수 있습니다.
- 개인정보 보호로 인해 WhatsApp 연락처 목록에 대한 액세스가 제한됨
- 로컬 MCP 도구에 액세스하려면 Claude를 적절하게 구성해야 합니다.
보안 고려 사항
- 서버는 귀하의 개인 WhatsApp 계정과 상호 작용합니다.
- 메시지는 귀하의 계정에서 전송되며 귀하가 보낸 것으로 표시됩니다.
- 신뢰할 수 있는 환경에서만 사용하세요
특허
MIT
부인 성명
이 프로젝트는 WhatsApp Inc. 또는 Meta Platforms, Inc.와 제휴 관계가 없습니다. 사용자의 재량에 따라 WhatsApp의 서비스 약관을 준수하여 사용하세요.
local-only server
The server can only run on the client's local machine because it depends on local resources.
macOS에서 WhatsApp 데스크톱과 프로그래밍 방식으로 상호작용할 수 있는 Node.js 애플리케이션으로, 사용자는 직접적인 UI 상호작용 없이 AppleScript 자동화를 통해 메시지를 보내고 WhatsApp 상태를 확인할 수 있습니다.
Related MCP Servers
- AsecurityAlicenseAqualityA Python server that enables language models like Claude to interact with WhatsApp Business API through GreenAPI, supporting features like sending messages and managing groups.Last updated -54PythonMIT License
- -securityAlicense-qualityA bridge that connects WhatsApp Web to AI models using the Model Context Protocol, enabling Claude and other AI systems to interact with WhatsApp through a standardized interface.Last updated -194TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Claude to interact with WhatsApp through the Evolution API, allowing for message sending, contact management, group operations, and WhatsApp instance administration.Last updated -110TypeScriptMIT License
- -securityAlicense-qualityA Node.js application that connects WhatsApp Web with AI models through the Model Context Protocol, enabling automated messaging, contact management, and group chat functionality through AI-driven workflows.Last updated -1918TypeScriptMIT License