whatsapp-mcp-stream

communication MCP Server

A WhatsApp MCP server built around Streamable HTTP transport, using Baileys for WhatsApp connectivity, with a web admin UI and bidirectional media flow (upload + download).

Install Ready
communicationcommunication
3 views4 stars4 forksv1.0.0MIT

Why This Matters

Discovered via unknown and last synced 3mo ago.

Install Ready
Source
unknown
Stars
4
Last synced
3mo ago
Install
Instructions detected

Install

1. Install the package

npm install whatsapp-mcp-stream
49
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (49)

WA_RESYNC_RECONNECT_DELAY_MS

`15000`

WA_MESSAGE_INDEX_MAX

`20000`

get_last_interaction

Get the most recent message for a JID.

WA_DISCONNECT_RECOVERY_DELAY_MS

`30000`

MCP_HTTP_ENABLE_JSON_RESPONSE

`1`

DB_PATH

`<SESSION_DIR>/store.sqlite`

logout

Logout from WhatsApp and clear the current session.

WA_SYNC_RECOVERY_COOLDOWN_MS

`300000`

Tool

Description

ping

Health check tool.

WA_INITIALIZE_TIMEOUT_MS

`120000`

get_group_info

Get group metadata and participants by group JID.

find_members_not_in_contacts

Find group members missing from contacts.

get_direct_chat_by_contact_number

Resolve a direct chat JID by phone number.

WA_SYNC_SOFT_RECOVERY_LIMIT

`2`

WA_AUTO_DOWNLOAD_CONCURRENCY

`3`

WA_AUTO_DOWNLOAD_QUEUE_MAX

`200`

list_groups

List group chats only.

search_messages

Search messages by text (optionally scoped to a chat).

WA_EVENT_STREAM

`0`

get_contact_by_id

Get contact details by JID.

analyze_group_overlaps

Find members that appear across multiple groups.

search_contacts

Search contacts by name or phone number.

get_message_by_id

Get a specific message by ID (`jid:id`).

get_profile_pic

Get profile picture URL for a JID.

find_members_without_direct_chat

Find group members with no direct chat.

get_qr_code

Get the latest WhatsApp QR code as an image for authentication.

run_group_audit

Run combined group audit as one routine operation.

Variable

Default

WA_SYNC_RECOVERY_WINDOW_MS

`900000`

WA_MESSAGE_KEY_INDEX_MAX

`20000`

check_auth_status

Check if the WhatsApp client is authenticated and ready.

list_chats

List chats with metadata and optional last message.

resolve_contact

Resolve a contact by name or phone number (best matches).

get_chat_by_contact

Resolve a contact by name or phone number and return chat metadata.

get_message_context

Get recent messages around a specific message.

download_media

Download media from a message.

get_chat_by_id

Get chat metadata by JID.

list_messages

Get messages from a specific chat.

send_message

Send a text message to a person or group. Supports optional `idempotency_key`.

send_media

Send media (image/video/document/audio). Accepts `media_path`, `media_url`, or `media_content` (base64). Supports optional `idempotency_key`.

WA_EVENT_STREAM_PATH

`/app/logs/wa-events.log`

WA_DISCONNECT_RECOVERY_RESTART_CODES

`428`

WA_EVENT_LOG

`0`

WA_READINESS_GRACE_MS

`180000`

WA_RESYNC_RECONNECT

`1`

WA_SEND_DEDUP_WINDOW_MS

`45000`

WA_IDEMPOTENCY_TTL_MS

`86400000`

stage_media

Save a file to the server's media directory and return its local path. Use the returned `saved_path` in `send_media` (`media_path`) — avoids base64 when the source is a URL (server downloads directly), or allows sending the same file to multiple recipients without re-uploading.