Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WAHA_URL | No | The URL of your running WAHA (WhatsApp HTTP API) instance. Defaults to http://localhost:3001. | http://localhost:3001 |
| WAHA_API_KEY | Yes | API key generated from your WAHA dashboard for authentication. | |
| USER_WHATSAPP_CHAT_ID | No | Your WhatsApp chat ID (e.g., 1234567890@c.us) used for the 'ask_user_via_whatsapp' tool during autonomous development workflows. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| waha_list_sessions | List all WhatsApp sessions and their statuses |
| waha_get_session | Get detailed info about a specific WhatsApp session |
| waha_create_session | Create a new WhatsApp session |
| waha_start_session | Start a stopped WhatsApp session |
| waha_stop_session | Stop a running WhatsApp session |
| waha_restart_session | Restart a WhatsApp session |
| waha_delete_session | Delete a WhatsApp session permanently |
| waha_logout_session | Logout from a WhatsApp session (keeps session but disconnects WhatsApp account) |
| waha_get_qr_code | Get QR code for WhatsApp authentication. Returns the raw QR string value that can be used to generate a scannable QR code. |
| waha_request_pairing_code | Request a pairing code for phone number authentication (alternative to QR code). The user will receive a code on their phone to enter in WhatsApp. |
| waha_check_auth_status | Check the authentication status of a WhatsApp session |
| waha_send_text | Send a text message to a WhatsApp chat |
| waha_send_image | Send an image to a WhatsApp chat (from local file OR URL) |
| waha_send_video | Send a video to a WhatsApp chat (from local file OR URL) |
| waha_send_voice | Send a voice message to a WhatsApp chat (from local file OR URL) |
| waha_send_file | Send a document/file to a WhatsApp chat (from local file OR URL) |
| waha_send_location | Send a location to a WhatsApp chat |
| waha_send_contact | Send contact card(s) (vCard) to a WhatsApp chat |
| waha_send_poll | Send a poll to a WhatsApp chat |
| waha_react_to_message | React to a message with an emoji |
| waha_get_messages | Get messages from a WhatsApp chat with optional filters |
| waha_delete_message | Delete a message from a WhatsApp chat |
| waha_edit_message | Edit a previously sent message |
| waha_mark_as_read | Mark messages in a chat as read (send seen) |
| waha_star_message | Star or unstar a message |
| waha_forward_message | Forward a message to another chat |
| waha_list_chats | List all chats in a WhatsApp session |
| waha_get_chat | Get detailed info about a specific chat |
| waha_archive_chat | Archive or unarchive a chat |
| waha_pin_chat | Pin or unpin a chat |
| waha_mute_chat | Mute or unmute a chat |
| waha_delete_chat | Delete a chat entirely |
| waha_clear_chat | Clear all messages in a chat |
| waha_get_contacts | Get all contacts from a WhatsApp session |
| waha_get_contact | Get info about a specific contact |
| waha_check_number_exists | Check if a phone number is registered on WhatsApp |
| waha_block_contact | Block or unblock a contact |
| waha_get_profile_picture | Get the profile picture URL of a contact or group |
| waha_create_group | Create a new WhatsApp group |
| waha_list_groups | List all WhatsApp groups |
| waha_get_group | Get detailed info about a specific group |
| waha_get_group_participants | List all participants in a group |
| waha_add_group_participants | Add participants to a group |
| waha_remove_group_participants | Remove participants from a group |
| waha_promote_group_participant | Promote participant(s) to group admin |
| waha_demote_group_participant | Demote admin(s) to regular participant in a group |
| waha_update_group_subject | Update the name/subject of a group |
| waha_update_group_description | Update the description of a group |
| waha_update_group_picture | Set the profile picture of a group |
| waha_leave_group | Leave a WhatsApp group |
| waha_get_group_invite_code | Get the invite link/code for a group |
| waha_revoke_group_invite | Revoke the current invite link and generate a new one |
| waha_set_presence | Set your presence status (online/offline) |
| waha_get_presence | Get presence status of a contact (online/offline/typing) |
| waha_start_typing | Show typing indicator in a chat (simulates real user behavior) |
| waha_stop_typing | Stop showing typing indicator in a chat |
| waha_send_status | Post a text status/story update |
| waha_get_labels | Get all labels/categories in a WhatsApp session |
| waha_create_label | Create a new label |
| waha_delete_label | Delete a label |
| waha_add_label_to_chat | Add a label to a chat |
| waha_remove_label_from_chat | Remove a label from a chat |
| ask_user_via_whatsapp | 🤖 IMPORTANT FOR AI ASSISTANTS: Use this tool instead of stopping work when you need user input! WHEN TO USE:
DO NOT:
HOW IT WORKS:
EXAMPLE USAGE: const answer = await ask_user_via_whatsapp({ question: "Should I use REST or GraphQL for this API?", chatId: "1234567890@c.us", timeoutMinutes: 30 }); // Parse answer and continue working USER EXPERIENCE: User gets WhatsApp notification → replies from phone → you continue instantly This enables truly autonomous AI development! |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |