Mcp Whatsapp

communication MCP Server

Single-binary Go MCP server that wraps whatsmeow to expose a personal WhatsApp account as 42 MCP tools (messaging, groups, polls, media, privacy).

Verified
communicationcommunication
6 views8 stars7 forksMIT

Why This Matters

Discovered via github-topic:mcp-server and last synced 1mo ago.

Verified
Source
github-topic:mcp-server
Stars
8
Last synced
1mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
54
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (54)

Tool

Purpose

send_message

Send a text message to a phone number or JID

whatsapp_logout

Desconecta e apaga sessão local (próxima execução exige QR)

URI

Conteúdo

send_document_reminder

Template formatado de lembrete de documento

get_message_status

Status de entrega de uma msg enviada na sessão atual

send_billing_alert

Template formatado de cobrança/boleto

Format

Valid?

5511999998888

✅ Brazil (DDD 11)

Category

Tools

14155552671

✅ USA (415)

011999998888

❌ Use country code

send_media_message

Anexo (image/document/audio/video) até 15MB

list_chats

List chats with last-message preview; sort by activity or name

send_file

Send image/video/document/raw audio with optional caption; `view_once: bool` marks image/video/audio submessages as view-once (ignored for documents)

send_reply

Text reply that quotes a prior message

set_group_name

Change the group subject

send_audio_message

Send a voice note (auto-converts via ffmpeg if not `.ogg` Opus); supports `view_once: bool`

edit_message

Edit a previously-sent message

set_group_topic

Change the group description; empty string clears it

send_presence

Set own availability (`available` or `unavailable`) — distinct from per-chat `send_typing`

get_message_context

Before/after window around a specific message

send_contact_card

Send a contact card; synthesises a vCard 3.0 from `name` + `phone`, or pass a raw `vcard` to skip synthesis

create_group

Create a group with a name and initial participants

join_group_with_link

Join a group via a `chat.whatsapp.com` URL or bare invite code

mark_chat_read

Ack the most recent incoming messages in a chat to clear the unread badge

get_group_info

Full group metadata (participants, settings, invite config)

block_contact

Block a contact by phone number or JID

download_media

Download persisted media to a local path

leave_group

Leave a group

is_on_whatsapp

Batch-check which phone numbers are registered on WhatsApp

request_sync

Ask WhatsApp to backfill history for a chat

mark_read

Mark specific message IDs as read

list_groups

List all groups the user is a member of

get_blocklist

Return the current blocklist

get_status

Report whether the bridge is connected and which account it's paired as

get_chat

Chat metadata by JID

get_poll_results

Return the tally for a poll we have cached (includes 0-vote options)

get_group_invite_link

Get the invite link; `reset: true` revokes the previous link first

set_status_message

Update the profile "About" text; empty string clears it

send_reaction

React to a message (empty emoji clears an existing reaction)

update_group_participants

Add / remove / promote / demote participants (`action: add\

unblock_contact

Unblock a contact

list_messages

Query + filter messages; returns formatted text with context windows

send_poll

Send a poll with a question and 2+ options; `selectable_count` controls how many options a voter may pick. Generates the 32-byte `MessageSecret` required for votes to decrypt

delete_message

Revoke (delete for everyone) a message

set_group_announce

Toggle announce-only mode (only admins can send)

get_privacy_settings

Current privacy settings as JSON

send_typing

Set per-chat composing / recording presence

set_group_locked

Toggle locked mode (only admins can edit group metadata)

set_privacy_setting

Change one privacy setting by `name` + `value` (strict enum validation; invalid combinations are rejected)

search_contacts

Substring search across cached contact names and phone numbers

send_poll_vote

Cast a vote on a previously-seen poll; `options` must match option names exactly

pairing_status

Report the device-pairing state as a structured `setup_state` envelope (`ready` / `awaiting_qr` + `qr_payload` / `error`) for programmatic supervisors that surface the linking QR