Skip to main content
Glama
HardikCoder45

WhatsApp MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WHATSAPP_ALLOWLISTNoComma-separated WhatsApp JIDs used as an allowlist. Required for `send_message` and `send_media`; read tools remain available with an empty allowlist.
WHATSAPP_SENDING_ENABLEDNoSet to `true` to explicitly enable the outbound send tools (`send_message` and `send_media`). Disabled by default.
WHATSAPP_OUTBOUND_MEDIA_DIRSNoDirectories that outbound media files must resolve to. Default: `./outbox`../outbox
WHATSAPP_MAX_OUTBOUND_MEDIA_BYTESNoMaximum allowed size for outbound media in bytes. Default: 64 MiB (67108864).67108864

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
connection_statusB

Show local pairing and connection state. QR is written to the configured local file.

list_chatsC

List chats visible in this local session cache.

search_messagesB

Search locally cached message text. This never sends messages.

read_messagesB

Read recent locally cached messages from one allowlisted chat.

download_mediaB

Download media from a locally cached allowlisted message to the configured local directory.

fetch_all_chatsB

List ALL chats visible in the local session cache (not capped by the default list).

fetch_message_historyA

Pull older messages for an allowlisted chat using Baileys fetchMessageHistory. Use beforeMessageId to page backward.

send_messageB

Send a text message to an allowlisted chat. Requires WHATSAPP_SENDING_ENABLED=true.

send_mediaA

Send an image, video, audio, document, or sticker from a regular file inside WHATSAPP_OUTBOUND_MEDIA_DIRS to an allowlisted chat. Requires WHATSAPP_SENDING_ENABLED=true.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target distinct operations, but list_chats vs fetch_all_chats and read_messages vs fetch_message_history have overlapping purposes. Their descriptions clarify the differences (default-capped vs all chats, recent vs older history), so misselection is possible but manageable.

Naming Consistency4/5

Nearly all tools follow a consistent snake_case verb_noun pattern: list_chats, search_messages, read_messages, send_message, etc. Minor deviations are fetch_all_chats vs list_chats for similar listing actions and connection_status lacking a clear verb.

Tool Count5/5

Nine tools is well-scoped for a local WhatsApp MCP server. Each tool covers a distinct capability such as connection status, chat listing, message reading/searching, media handling, and sending.

Completeness4/5

The server covers core messaging workflows: connection state, chat discovery, message reading/searching/history, media download, and guarded sending. Some gaps remain, such as contact/group metadata, message reactions, or chat creation, but the essential read/send surface is present.

Maintenance

ActivityMaintained
ResponsivenessNo issues