WhatsApp MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TZ | No | Container timezone — affects log timestamps and time-based features (e.g. catch_up 'today' window). Use IANA names: America/Toronto, Europe/Paris, Asia/Tokyo. | UTC |
| DEBUG | No | When set to true, emits verbose diagnostic output to stderr. Useful when diagnosing connection or protocol issues. | false |
| STORE_PATH | No | Session + message database directory | /data/sessions |
| AUDIT_DB_PATH | No | Audit log database path | /data/audit/audit.db |
| PRESENCE_MODE | No | Online presence: available or unavailable | available |
| DISABLED_TOOLS | No | Comma-separated tool names to disable | |
| ALLOWED_CONTACTS | No | Comma-separated phone whitelist (empty = allow all) | |
| AUTH_WAIT_FOR_LINK | No | Default: after authenticate shows code/QR, wait and poll until linked (false = return immediately; recommended for most clients to avoid tool-call timeouts) | false |
| AUTO_READ_RECEIPTS | No | Auto-read incoming messages (senders see blue checkmarks immediately) | true |
| RATE_LIMIT_PER_MIN | No | Max outbound messages per minute | 60 |
| SEND_READ_RECEIPTS | No | Send read receipts to WhatsApp when mark_messages_read is called | true |
| WELCOME_GROUP_NAME | No | WhatsApp group created on first connection (empty = disable) | WhatsAppMCP |
| DATA_ENCRYPTION_KEY | No | Passphrase for AES-256-GCM field encryption. Store via `docker mcp secret set` or in .env for docker-compose. If you lose the key, encrypted data becomes unrecoverable. | |
| AUTH_LINK_TIMEOUT_SEC | No | Default max seconds to wait for link when waiting (15–600) | 120 |
| AUTH_POLL_INTERVAL_SEC | No | Default seconds between connection checks when waiting (2–60) | 5 |
| MESSAGE_RETENTION_DAYS | No | Auto-delete messages/media older than N days (0 = keep forever) | 90 |
| AUTO_CONNECT_ON_STARTUP | No | When true (default), the server automatically reconnects to WhatsApp at container startup if a valid session exists. Set to false to start in disconnected mode and connect manually. | true |
| DOWNLOAD_RATE_LIMIT_PER_MIN | No | Max media downloads per minute | 30 |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues