whatsapp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GREENAPI_API_URL | No | Personal instance host, e.g. https://7105.api.greenapi.com. Default https://api.green-api.com | https://api.green-api.com |
| WHATSAPP_READONLY | No | Set to true to not register sending tools at all | |
| GREENAPI_MEDIA_URL | No | Default https://media.green-api.com; used only when sending a local file | https://media.green-api.com |
| GREENAPI_ID_INSTANCE | Yes | idInstance from GREEN-API console | |
| GREENAPI_API_TOKEN_INSTANCE | Yes | apiTokenInstance from GREEN-API console |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_stateA | Состояние инстанса GREEN-API.
|
| get_settingsA | Настройки инстанса, включая флаги уведомлений. Без |
| list_chatsB | Список известных инстансу чатов и контактов (id, имя, тип). Обновление списка на стороне WhatsApp занимает до 5 минут; пустой ответ сразу после подключения — норма, повторите позже. |
| get_chat_historyA | Последние сообщения чата, новые первыми. Основной инструмент чтения переписки. Постраничного обхода у GREEN-API нет — можно только увеличить count (по умолчанию у шлюза 100). |
| get_last_incoming_messagesA | Входящие по всем чатам за последние Чтобы посмотреть, что нового вообще пришло, не перебирая чаты.
Требует включённого |
| get_last_outgoing_messagesA | Исходящие по всем чатам за последние |
| get_contact_infoA | Карточка контакта: имя, аватар, признак бизнес-аккаунта, последний онлайн. Для групп не работает — используйте get_group_data. |
| get_group_dataB | Данные группы: название, владелец, участники, права. |
| check_whatsappB | Есть ли WhatsApp у номера. Проверяйте перед первой отправкой незнакомцу. |
| get_file_linkA | Ссылка на файл из сообщения с вложением (по idMessage из истории). Ссылка временная — скачивайте сразу. |
| receive_notificationA | Одно событие из очереди входящих (FIFO, хранится 24 часа). Возвращает |
| delete_notificationA | Удаляет обработанное событие из очереди по receiptId. |
| send_messageA | Отправляет текст в чат. Возвращает idMessage. Действие необратимо и видно человеку на том конце — спрашивайте подтверждение у пользователя перед вызовом. |
| send_fileB | Отправляет локальный файл (до 100 МБ) в чат. Как и send_message — действие необратимо, спрашивайте подтверждение. |
| send_file_by_urlA | Отправляет файл по публичной ссылке — без выкачивания на эту машину. |
| mark_chat_readA | Отмечает чат прочитанным. Без id_message — весь чат. Собеседник увидит две синие галочки, так что это тоже заметное действие. |
| set_settingsA | Меняет настройки инстанса; инстанс при этом перезагружается (до 5 минут). Нужен в основном один раз при подключении:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools have clearly distinct purposes (sending, reading, settings, notifications, contacts/groups). The only mild overlap is between get_chat_history and get_last_incoming/outgoing_messages, but the descriptions clarify the scope: one is per-chat, the others are cross-chat time-based summaries.
The tool names follow a fairly consistent verb_noun pattern (get_*, send_*, list_*, mark_*, set_*, delete_*, receive_*). Minor deviations like check_whatsapp and receive_notification are still readable and consistent with the general style, so there are no mixed conventions.
17 tools is slightly on the heavier side but appropriate for a WhatsApp integration that covers messaging, files, groups, contacts, settings, and webhooks. Each tool maps to a distinct API operation, and none feel redundant.
The surface covers the main WhatsApp workflows: sending and receiving messages/files, reading history, managing chats read state, contact and group info, and instance settings. Missing operations like editing/deleting sent messages or more granular media handling are minor gaps, since the core lifecycle is present.