Skip to main content
Glama
billyfranklim1

mcp-evolution

mcp-evolution

npm version license CI

인스턴스 고정 기능을 갖춘 Evolution API (WhatsApp)용 TypeScript MCP 서버입니다.

아키텍처

이 서버는 Model Context Protocol을 구현합니다:

  • 전송(Transport): stdio — MCP 호스트(Claude Desktop, Claude Code 등)가 이 프로세스를 생성하고 stdin/stdout을 통해 JSON-RPC로 통신합니다.

  • 서버: 공식 TypeScript SDK의 고수준 McpServer 클래스를 사용하여 기능 협상 및 세션 수명 주기를 자동으로 처리합니다.

  • 도구(Tools): Zod로 검증된 입력 스키마를 사용하여 registerTool()로 등록된 50개의 도구 — SDK가 핸들러 실행 전에 타입을 강제합니다.

세 가지 연결 매개변수(API URL, API 키, 인스턴스 이름)는 시작 시 환경 변수를 통해 고정됩니다. AI 호출자는 대화 도중에 인스턴스를 전환할 수 없습니다.

Related MCP server: mcp-evolution-api

도구

메시지

도구

설명

send_text

일반 텍스트 메시지 전송

send_media

이미지, 비디오, 오디오 또는 문서 전송

send_audio

WhatsApp 오디오(PTT 음성 메모) 전송

send_sticker

스티커(webp) 전송

send_location

위치 핀 전송

send_contact

하나 이상의 연락처(vCard) 공유

send_reaction

이모지로 메시지에 반응

send_poll

설문조사 메시지 전송

send_list

대화형 목록/메뉴 메시지 전송

send_button

대화형 버튼 메시지 전송

send_status

WhatsApp 상태(스토리) 업데이트 게시

채팅

도구

설명

find_chats

Prisma 스타일의 where 절로 필터링하여 채팅 찾기

find_contacts

필터링하여 연락처 찾기

find_messages

선택적 제한을 사용하여 remoteJid로 메시지 찾기

get_chat_history

연락처 또는 그룹 JID의 메시지 기록 가져오기

mark_as_read

하나 이상의 메시지를 읽음으로 표시

archive_chat

채팅 보관 또는 보관 취소

delete_message

모든 사람에 대해 메시지 삭제

fetch_profile_picture

연락처의 프로필 사진 URL 가져오기

download_media

메시지에서 미디어를 base64로 다운로드

send_presence

상태 업데이트(입력 중, 녹음 중 등) 전송

check_number

전화번호에 WhatsApp 계정이 있는지 확인

프로필

도구

설명

fetch_business_profile

연락처의 WhatsApp 비즈니스 프로필 가져오기

update_profile_name

인스턴스의 표시 이름 업데이트

update_profile_status

인스턴스의 정보/상태 텍스트 업데이트

update_profile_picture

인스턴스의 프로필 사진 업데이트

remove_profile_picture

인스턴스의 프로필 사진 제거

fetch_privacy

현재 개인정보 설정 가져오기

update_privacy

개인정보 설정 업데이트

update_block_status

연락처 차단 또는 차단 해제

그룹

도구

설명

list_groups

고정된 인스턴스의 모든 WhatsApp 그룹 나열

get_group_info

JID로 특정 그룹의 상세 정보 가져오기

create_group

새 WhatsApp 그룹 생성

update_group_subject

그룹 이름 업데이트

update_group_description

그룹 설명 업데이트

update_group_picture

그룹 프로필 사진 업데이트

fetch_invite_code

그룹의 초대 코드/링크 가져오기

revoke_invite_code

그룹의 초대 코드를 취소하고 재생성

accept_invite

코드로 그룹 초대 수락

send_group_invite

특정 연락처에 그룹 초대 링크 전송

update_participants

그룹 참가자 추가, 제거, 승격 또는 강등

update_group_setting

그룹 설정 업데이트(공지 모드, 잠금)

leave_group

그룹 나가기

find_group_by_invite

참여하지 않고 초대 코드로 그룹 정보 가져오기

인스턴스

도구

설명

connection_state

인스턴스의 현재 연결 상태 가져오기

restart_instance

인스턴스 재시작(로그아웃 없이 재연결)

logout_instance

인스턴스 로그아웃(세션 삭제)

get_settings

현재 인스턴스 설정 가져오기

set_settings

인스턴스 설정 업데이트

웹훅

도구

설명

find_webhook

현재 웹훅 구성 가져오기

set_webhook

웹훅 구성

라벨

도구

설명

find_labels

모든 라벨 나열(WhatsApp 비즈니스 필요)

handle_label

채팅에서 라벨 추가 또는 제거

npx를 통한 설치 및 실행

EVOLUTION_API_URL=http://localhost:8080 \
EVOLUTION_API_KEY=your-key \
EVOLUTION_INSTANCE=your-instance \
npx mcp-evolution

구성

변수

필수

설명

EVOLUTION_API_URL

Evolution API의 기본 URL (예: http://localhost:8080)

EVOLUTION_API_KEY

Evolution API 구성의 전역 API 키

EVOLUTION_INSTANCE

Evolution API에서 생성된 인스턴스 이름

로컬 개발을 위해 .env.example.env로 복사하세요.

Claude Desktop / Claude Code와 함께 사용

~/.claude/claude_desktop_config.json 또는 프로젝트 .mcp.json에 추가하세요:

{
  "mcpServers": {
    "whatsapp": {
      "command": "npx",
      "args": ["mcp-evolution"],
      "env": {
        "EVOLUTION_API_URL": "http://localhost:8080",
        "EVOLUTION_API_KEY": "your-evolution-api-key",
        "EVOLUTION_INSTANCE": "your-instance-name"
      }
    }
  }
}

또는 로컬 체크아웃에서 실행 중인 경우 빌드된 바이너리를 직접 가리키세요:

{
  "mcpServers": {
    "whatsapp": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-evolution/dist/index.js"],
      "env": {
        "EVOLUTION_API_URL": "http://localhost:8080",
        "EVOLUTION_API_KEY": "your-evolution-api-key",
        "EVOLUTION_INSTANCE": "your-instance-name"
      }
    }
  }
}

개발

# Install dependencies
npm install

# Run in dev mode (no build step)
npm run dev

# Build TypeScript → dist/
npm run build

# Run tests
npm test

# Start from built output
npm start

래핑된 Evolution API 엔드포인트

도구

메서드

경로

send_text

POST

/message/sendText/{instance}

send_media

POST

/message/sendMedia/{instance}

send_audio

POST

/message/sendWhatsAppAudio/{instance}

send_sticker

POST

/message/sendSticker/{instance}

send_location

POST

/message/sendLocation/{instance}

send_contact

POST

/message/sendContact/{instance}

send_reaction

POST

/message/sendReaction/{instance}

send_poll

POST

/message/sendPoll/{instance}

send_list

POST

/message/sendList/{instance}

send_button

POST

/message/sendButtons/{instance}

send_status

POST

/message/sendStatus/{instance}

find_chats

POST

/chat/findChats/{instance}

find_contacts

POST

/chat/findContacts/{instance}

find_messages / get_chat_history

POST

/chat/findMessages/{instance}

mark_as_read

POST

/chat/markMessageAsRead/{instance}

archive_chat

POST

/chat/archiveChat/{instance}

delete_message

DELETE

/chat/deleteMessageForEveryone/{instance}

fetch_profile_picture

POST

/chat/fetchProfilePictureUrl/{instance}

download_media

POST

/chat/getBase64FromMediaMessage/{instance}

send_presence

POST

/chat/sendPresence/{instance}

check_number

POST

/chat/whatsappNumbers/{instance}

fetch_business_profile

POST

/chat/fetchBusinessProfile/{instance}

update_profile_name

POST

/chat/updateProfileName/{instance}

update_profile_status

POST

/chat/updateProfileStatus/{instance}

update_profile_picture

POST

/chat/updateProfilePicture/{instance}

remove_profile_picture

DELETE

/chat/removeProfilePicture/{instance}

fetch_privacy

GET

/chat/fetchPrivacySettings/{instance}

update_privacy

POST

/chat/updatePrivacySettings/{instance}

update_block_status

POST

/chat/updateBlockStatus/{instance}

list_groups

GET

/group/fetchAllGroups/{instance}

get_group_info

GET

/group/findGroupInfos/{instance}

create_group

POST

/group/create/{instance}

update_group_subject

POST

/group/updateGroupSubject/{instance}?groupJid=

update_group_description

POST

/group/updateGroupDescription/{instance}?groupJid=

update_group_picture

POST

/group/updateGroupPicture/{instance}?groupJid=

fetch_invite_code

GET

/group/inviteCode/{instance}?groupJid=

revoke_invite_code

POST

/group/revokeInviteCode/{instance}?groupJid=

accept_invite

GET

/group/acceptInviteCode/{instance}?inviteCode=

send_group_invite

POST

/group/sendInvite/{instance}

update_participants

POST

/group/updateParticipant/{instance}?groupJid=

update_group_setting

POST

/group/updateSetting/{instance}?groupJid=

leave_group

DELETE

/group/leaveGroup/{instance}?groupJid=

find_group_by_invite

GET

/group/inviteInfo/{instance}?inviteCode=

connection_state

GET

/instance/connectionState/{instance}

restart_instance

POST

/instance/restart/{instance}

logout_instance

DELETE

/instance/logout/{instance}

get_settings

GET

/settings/find/{instance}

set_settings

POST

/settings/set/{instance}

find_webhook

GET

/webhook/find/{instance}

set_webhook

POST

/webhook/set/{instance}

find_labels

GET

/label/findLabels/{instance}

handle_label

POST

/label/handleLabel/{instance}

Evolution API v2가 필요합니다.

라이선스

MIT — LICENSE를 참조하세요.

면책 조항

커뮤니티 소프트웨어이며, Evolution API 또는 WhatsApp 엔티티와 관련이 없습니다.

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for sending and receiving WhatsApp messages through Evolution API, enabling management of instances, messages, and chats directly from Claude Code.
  • F
    license
    A
    quality
    D
    maintenance
    MCP server that wraps the Evolution API (WhatsApp) as semantic tools for LLM agents, enabling messaging, chat management, group operations, and instance control via natural language.
    32
  • A
    license
    C
    quality
    C
    maintenance
    Exposes the full WhatsApp API via Evolution API, enabling message sending, chat history, group management, and more through MCP tools.
    70
    MIT

View all related MCP servers

Related MCP Connectors

  • Official MCP server for OmniDimension. Drive voice agents, dispatch calls, and run bulk campaigns.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server for Vonage API documentation, code snippets, tutorials, and troubleshooting.

View all MCP Connectors

Latest Blog Posts

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/billyfranklim1/mcp-evolution'

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