Skip to main content
Glama

WhatsApp Web MCP

by fyimail

왓츠앱 웹 MCP

모델 컨텍스트 프로토콜(MCP)�� 사용하여 WhatsApp 웹과 AI 모델을 연결하는 강력한 브리지입니다. 이 프로젝트는 Claude와 같은 AI 모델이 표준화된 인터페이스를 통해 WhatsApp과 상호 작용할 수 있도록 지원하여 WhatsApp 상호 작용을 프로그래밍 방식으로 쉽게 자동화하고 향상시킬 수 있도록 합니다.

개요

WhatsApp Web MCP는 다음을 통해 WhatsApp Web과 AI 모델 간의 원활한 통합을 제공합니다.

  • MCP(Model Context Protocol)를 통한 표준화된 인터페이스 생성
  • WhatsApp 기능에 대한 MCP 서버 액세스 제공
  • SSE 또는 명령 모드를 통해 유연한 배포 옵션 제공
  • 직접 WhatsApp 클라이언트 통합과 API 기반 연결을 모두 지원합니다.

부인 성명

중요 : 이 도구는 테스트 목적으로만 사용되며 실제 운영 환경에서는 사용하면 안 됩니다.

WhatsApp 웹 프로젝트의 면책 조항:

이 프로젝트는 WhatsApp 또는 그 자회사나 계열사와 제휴, 제휴, 승인, 보증 또는 어떤 방식으로든 공식적으로 연결되어 있지 않습니다. 공식 WhatsApp 웹사이트는 whatsapp.com에서 확인하실 수 있습니다. "WhatsApp" 및 관련 이름, 상표, 엠블럼, 이미지는 해당 소유자의 등록 상표입니다. 또한, 이 방법을 사용하더라도 차단되지 않을 것이라는 보장은 없습니다. WhatsApp은 플랫폼에서 봇이나 비공식 클라이언트를 허용하지 않으므로 완전히 안전하다고 할 수는 없습니다.

설치

  1. 저장소를 복제합니다.지엑스피1
  2. 전역적으로 설치하거나 npx와 함께 사용:
    # Install globally npm install -g . # Or use with npx directly npx .
  3. Docker로 빌드:
    docker build . -t wweb-mcp:latest

구성

명령줄 옵션

옵션별명설명선택기본
--mode-m실행 모드mcp , whatsapp-apimcp
--mcp-mode-cMCP 연결 모드standalone , apistandalone
--transport-tMCP 전송 모드sse , commandsse
--sse-port-pSSE 서버용 포트-3002
--api-port-WhatsApp API 서버용 포트-3001
--auth-data-path-a인증 데이터를 저장하는 경로-.wwebjs_auth
--auth-strategy-s인증 전략local , nonelocal
--api-base-url-bAPI 모드를 사용할 때 MCP에 대한 API 기반 URL-http://localhost:3001/api
--api-key-kAPI 모드를 사용할 때 WhatsApp Web REST API에 대한 API 키-''

API 키 인증

API 모드에서 실행할 경우 WhatsApp API 서버는 API 키를 사용한 인증을 요구합니다. API 키는 WhatsApp API 서버를 시작할 때 자동으로 생성되며 로그에 표시됩니다.

WhatsApp API key: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

MCP 서버를 WhatsApp API 서버에 연결하려면 --api-key 또는 -k 옵션을 사용하여 이 API 키를 제공해야 합니다.

npx wweb-mcp --mode mcp --mcp-mode api --api-base-url http://localhost:3001/api --api-key 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

API 키는 인증 데이터 디렉토리( --auth-data-path 로 지정)에 저장되며 WhatsApp API 서버를 다시 시작할 때까지 유지됩니다.

인증 방법

로컬 인증(권장)
  • QR 코드를 한 번 스캔하세요
  • 세션 간에 자격 증명이 유지됩니다.
  • 장기 작동 시 더욱 안정적임
인증 없음
  • 기본 방법
  • 시작할 때마다 QR 코드 스캔이 필요합니다.
  • 테스트 및 개발에 적합

용법

실행 모드

WhatsApp API 서버

REST 엔드포인트를 통해 WhatsApp 기능을 노출하는 독립형 WhatsApp API 서버를 실행합니다.

npx wweb-mcp --mode whatsapp-api --api-port 3001
MCP 서버(독립형)

WhatsApp Web에 직접 연결되는 MCP 서버를 실행합니다.

npx wweb-mcp --mode mcp --mcp-mode standalone --transport sse --sse-port 3002
MCP 서버(API 클라이언트)

WhatsApp API 서버에 연결하는 MCP 서버를 실행합니다.

# First, start the WhatsApp API server and note the API key from the logs npx wweb-mcp --mode whatsapp-api --api-port 3001 # Then, start the MCP server with the API key npx wweb-mcp --mode mcp --mcp-mode api --api-base-url http://localhost:3001/api --api-key YOUR_API_KEY --transport sse --sse-port 3002

사용 가능한 도구

도구설명매개변수
get_statusWhatsApp 클라이언트 연결 상태 확인없음
send_messageWhatsApp 연락처로 메시지 보내기number : message 를 보낼 전화번호 : 보낼 텍스트 내용
search_contacts이름이나 번호로 연락처 검색query : 연락처를 찾기 위한 검색어
get_messages특정 채팅에서 메시지 검색number : 메시지를 받을 전화번호 limit (선택사항): 검색할 메시지 수
get_chats모든 WhatsApp 채팅 목록 받기없음
create_group새로운 WhatsApp 그룹을 만드세요name : 그룹 participants 이름 : 추가할 전화번호 배열
add_participants_to_group기존 그룹에 참가자 추가groupId : 그룹 participants 의 ID : 추가할 전화번호 배열
get_group_messages그룹에서 메시지 검색groupId : 그룹 limit 의 ID(선택 사항): 검색할 메시지 수
send_group_message그룹에 메시지 보내기groupId : 그룹 message 의 ID : 보낼 텍스트 콘텐츠
search_groups이름, 설명 또는 회원 이름으로 그룹 검색query : 그룹을 찾기 위한 검색어
get_group_by_id특정 그룹에 대한 자세한 정보를 얻으세요groupId : 가져올 그룹의 ID

사용 가능한 리소스

리소스 URI설명
whatsapp://contacts모든 WhatsApp 연락처 목록
whatsapp://messages/{number}특정 채팅의 메시지
whatsapp://chats모든 WhatsApp 채팅 목록
whatsapp://groups모든 WhatsApp 그룹 목록
whatsapp://groups/search이름, 설명 또는 회원 이름으로 그룹 검색
whatsapp://groups/{groupId}/messages특정 그룹의 메시지

REST API 엔드포인트

연락처 및 메시지
엔드포인트방법설명매개변수
/api/status얻다WhatsApp 연결 상태 가져오기없음
/api/contacts얻다모든 연락처 가져오기없음
/api/contacts/search얻다연락처 검색query : 검색어
/api/chats얻다모든 채팅 받기없음
/api/messages/{number}얻다채팅에서 메시지 받기limit (쿼리): 메시지 수
/api/send우편메시지 보내기number : 수신자 message : 메시지 내용
그룹 관리
엔드포인트방법설명매개변수
/api/groups얻다모든 그룹 가져오기없음
/api/groups/search얻다그룹 검색query : 검색어
/api/groups/create우편새 그룹을 만듭니다name : 그룹 이름 participants : 숫자 배열
/api/groups/{groupId}얻다특정 그룹에 대한 자세한 정보를 얻으세요없음
/api/groups/{groupId}/messages얻다그룹으로부터 메시지 받기limit (쿼리): 메시지 수
/api/groups/{groupId}/participants/add우편그룹에 멤버 추가participants : 숫자 배열
/api/groups/send우편그룹에 메시지 보내기groupId : 그룹 ID message : 메시지 내용

AI 통합

Claude 데스크톱 통합
옵션 1: NPX 사용
  1. WhatsApp API 서버 시작:
    npx wweb-mcp -m whatsapp-api -s local
  2. WhatsApp 모바일 앱으로 QR 코드를 스캔하세요
  3. 로그에 표시된 API 키를 확인하세요.
    WhatsApp API key: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
  4. Claude Desktop 구성에 다음을 추가하세요.
    { "mcpServers": { "whatsapp": { "command": "npx", "args": [ "wweb-mcp", "-m", "mcp", "-s", "local", "-c", "api", "-t", "command", "--api-base-url", "http://localhost:3001/api", "--api-key", "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" ] } } }
옵션 2: Docker 사용
  1. Docker에서 WhatsApp API 서버 시작:
    docker run -i -p 3001:3001 -v wweb-mcp:/wwebjs_auth --rm wweb-mcp:latest -m whatsapp-api -s local -a /wwebjs_auth
  2. WhatsApp 모바일 앱으로 QR 코드를 스캔하세요
  3. 로그에 표시된 API 키를 확인하세요.
    WhatsApp API key: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
  4. Claude Desktop 구성에 다음을 추가하세요.
    { "mcpServers": { "whatsapp": { "command": "docker", "args": [ "run", "-i", "--rm", "wweb-mcp:latest", "-m", "mcp", "-s", "local", "-c", "api", "-t", "command", "--api-base-url", "http://host.docker.internal:3001/api", "--api-key", "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" ] } } }
  5. Claude Desktop을 다시 시작하세요
  6. WhatsApp 기능은 Claude의 인터페이스를 통해 사용할 수 있습니다.

건축학

이 프로젝트는 관심사를 명확하게 분리하여 구성됩니다.

구성 요소

  1. WhatsAppService : WhatsApp과 상호 작용하기 위한 핵심 비즈니스 로직
  2. WhatsAppApiClient : WhatsApp API에 연결하기 위한 클라이언트
  3. API 라우터 : REST API를 위한 Express 경로
  4. MCP 서버 : 모델 컨텍스트 프로토콜 구현

배포 옵션

  1. WhatsApp API 서버 : 독립형 REST API 서버
  2. MCP 서버(독립형) : WhatsApp 웹에 직접 연결
  3. MCP 서버(API 클라이언트) : WhatsApp API 서버에 연결

이 아키텍처는 다음을 포함한 유연한 배포 시나리오를 허용합니다.

  • 다른 컴퓨터에서 API 서버와 MCP 서버 실행
  • 기존 API 서버에 대한 클라이언트로 MCP 서버 사용
  • 단순성을 위해 모든 것을 단일 머신에서 실행

개발

프로젝트 구조

src/ ├── whatsapp-client.ts # WhatsApp Web client implementation ├── whatsapp-service.ts # Core business logic ├── whatsapp-api-client.ts # Client for the WhatsApp API ├── api.ts # REST API router ├── mcp-server.ts # MCP protocol implementation └── main.ts # Application entry point

소스에서 빌드

npm run build

테스트

이 프로젝트에서는 단위 테스트를 위해 Jest를 사용합니다. 테스트를 실행하려면 다음을 수행하세요.

# Run all tests npm test # Run tests in watch mode during development npm run test:watch # Generate test coverage report npm run test:coverage

린팅 및 포맷팅

이 프로젝트에서는 코드 품질과 형식을 위해 ESLint와 Prettier를 사용합니다.

# Run linter npm run lint # Fix linting issues automatically npm run lint:fix # Format code with Prettier npm run format # Validate code (lint + test) npm run validate

린팅 구성은 TypeScript 모범 사례를 적용하고 프로젝트 전체에서 일관된 코드 스타일을 유지합니다.

문제 해결

Claude Desktop 통합 문제

  • Claude에서 wweb-mcp를 명령 독립 실행형 모드로 시작할 수 없습니다. Claude가 두 개 이상의 프로세스를 여러 번 열고, 각 wweb-mcp가 동일한 WhatsApp 인증을 공유할 수 없는 퍼펫티어 세션을 열어야 하기 때문입니다. 이러한 제한으로 인해 Claude와의 원활한 통합을 위해 앱을 MCP 모드와 API 모드로 분리했습니다.

곧 출시될 기능

  • 수신 메시지 및 기타 WhatsApp 이벤트에 대한 웹훅을 만듭니다.
  • 미디어 파일(이미지, 오디오, 문서) 전송 지원
  • 그룹 채팅 관리 기능
  • 연락처 관리(연락처 추가/삭제)
  • 일반적인 시나리오에 대한 메시지 템플릿
  • 향상된 오류 처리 및 복구

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 변경 사항을 커밋하세요
  4. 지점으로 푸시하세요
  5. 풀 리퀘스트 만들기

귀하의 PR을 확인하십시오:

  • 기존 코드 스타일을 따릅니다
  • 적절한 테스트가 포함되어 있습니다
  • 필요에 따라 문서를 업데이트합니다.
  • 변경 사항을 자세히 설명합니다.

종속성

왓츠앱 웹.js

이 프로젝트는 WhatsApp 웹 브라우저 앱을 통해 연결되는 WhatsApp 웹용 비공식 JavaScript 클라이언트 라이브러리인 whatsapp-web.js를 사용합니다. 자세한 내용은 whatsapp-web.js GitHub 저장소를 참조하세요.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

벌채 반출

WhatsApp Web MCP에는 Winston으로 구축된 강력한 로깅 시스템이 포함되어 있습니다. 로깅 시스템은 다음과 같은 기능을 제공합니다.

  • 다양한 로그 수준(오류, 경고, 정보, http, 디버그)
  • 색상이 지정된 로그가 포함된 콘솔 출력
  • API 엔드포인트에 대한 HTTP 요청/응답 로깅
  • 구조화된 오류 처리
  • 환경 인식 로그 수준(개발 대 생산)
  • MCP 명령 모드에서 실행할 때 모든 로그가 stderr로 전송됩니다.

로그 수준

이 애플리케이션은 자세한 정도에 따라 다음과 같은 로그 수준을 지원합니다.

  1. 오류 - 응용 프로그램이 작동하지 못하게 하는 심각한 오류
  2. 경고 - 애플리케이션을 중지시키지는 않지만 주의가 필요한 경고
  3. info - 애플리케이션 상태 및 이벤트에 대한 일반 정보
  4. http - HTTP 요청/응답 로깅
  5. 디버그 - 자세한 디버깅 정보

로그 수준 구성

--log-level 또는 -l 플래그를 사용하여 애플리케이션을 시작할 때 로그 수준을 구성할 수 있습니다.

npm start -- --log-level=debug

또는 글로벌 설치를 사용하는 경우:

wweb-mcp --log-level=debug

명령 모드 로깅

MCP 명령 모드( --mode mcp --transport command )에서 실행할 경우 모든 로그는 stderr로 전송됩니다. 이는 stdout을 데이터 출력에 사용하고 stderr을 로깅 및 진단에 사용하는 명령줄 도구에 중요합니다. 이를 통해 stdout을 통한 MCP 프로토콜 통신이 로그 메시지에 의해 방해받지 않도록 할 수 있습니다.

테스트 환경

테스트 환경( NODE_ENV=test 또는 Jest로 실행하는 경우)에서 로거는 테스트 환경에 적합하도록 자동으로 동작을 조정합니다.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

모델 컨텍스트 프로토콜을 사용하여 WhatsApp Web을 AI 모델에 연결하는 브리지로, Claude와 다른 AI 시스템이 표준화된 인터페이스를 통해 WhatsApp과 상호 작용할 수 있도록 합니다.

  1. 개요
    1. 부인 성명
      1. 설치
        1. 구성
          1. 명령줄 옵션
          2. API 키 인증
          3. 인증 방법
        2. 용법
          1. 실행 모드
          2. 사용 가능한 도구
          3. 사용 가능한 리소스
          4. REST API 엔드포인트
          5. AI 통합
        3. 건축학
          1. 구성 요소
          2. 배포 옵션
        4. 개발
          1. 프로젝트 구조
          2. 소스에서 빌드
          3. 테스트
          4. 린팅 및 포맷팅
        5. 문제 해결
          1. Claude Desktop 통합 문제
        6. 곧 출시될 기능
          1. 기여하다
            1. 종속성
              1. 왓츠앱 웹.js
            2. 특허
              1. 벌채 반출
                1. 로그 수준
                2. 로그 수준 구성
                3. 명령 모드 로깅
                4. 테스트 환경

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                Enables AI models to interact with messages from various messaging platforms (Mobile, Mail, WhatsApp, LinkedIn, Slack, Twitter, Telegram, Instagram, Messenger) through a standardized interface.
                Last updated -
                3
                8
                Python
                MIT License
                • Linux
              • A
                security
                A
                license
                A
                quality
                A 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 -
                5
                4
                Python
                MIT License
              • -
                security
                A
                license
                -
                quality
                A 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 -
                1
                10
                TypeScript
                MIT License
                • Apple
              • -
                security
                A
                license
                -
                quality
                A 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 -
                19
                18
                TypeScript
                MIT License

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/fyimail/whatsapp-mcp2'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server