About
GoWA is a self-hosted WhatsApp messaging server built with Go that enables programmatic communication through WhatsApp Web. It bridges AI agents and applications with WhatsApp, allowing automated message sending without relying on official WhatsApp Business APIs. Key features of GoWA: - Send text messages, images, videos, locations, and contact cards to WhatsApp chats and groups - Post WhatsApp Status updates - Mention specific users by phone number in messages - Automatic media compression for images and videos before sending - QR code authentication for WhatsApp Web pairing - Both REST API and MCP protocol support for AI agent integration - Basic authentication with multi-user credential support - Custom device/OS name display when connected - Subpath deployment support for reverse proxy setups - n8n workflow automation integration
Tools 55
whatsapp_add_group_participantsAdd participants to a WhatsApp group.
whatsapp_archive_chatArchive or unarchive a WhatsApp chat.
whatsapp_change_avatarChange the profile avatar/picture of the logged-in WhatsApp account. Note: File upload in MCP context has limitations.
whatsapp_change_push_nameChange the display name (push name) of the logged-in WhatsApp account.
whatsapp_check_phoneCheck if a phone number is registered on WhatsApp.
whatsapp_create_groupCreate a new WhatsApp group.
whatsapp_delete_chatDelete a WhatsApp chat.
whatsapp_delete_messageDelete a WhatsApp message.
whatsapp_demote_group_adminDemote admins to regular participants in a WhatsApp group.
whatsapp_download_mediaDownload media from a WhatsApp message (image, video, audio, document).
whatsapp_get_avatarGet user's WhatsApp profile picture.
whatsapp_get_business_profileGet business profile information for a WhatsApp Business account.
whatsapp_get_chat_listGet list of all WhatsApp chats.
whatsapp_get_devicesGet list of connected WhatsApp devices.
whatsapp_get_group_infoGet information about a WhatsApp group.
whatsapp_get_group_info_from_linkGet information about a WhatsApp group from an invite link.
whatsapp_get_group_request_participantsGet list of participants requesting to join a WhatsApp group.
whatsapp_get_invite_linkGet invite link for a WhatsApp group.
whatsapp_get_messagesGet recent messages from a chat.
whatsapp_get_my_contactsGet list of contacts in the logged-in account's address book.
whatsapp_get_my_groupsGet list of groups the logged-in account has joined.
whatsapp_get_my_newslettersGet list of newsletters the logged-in account has subscribed to.
whatsapp_get_my_privacyGet privacy settings of the logged-in WhatsApp account.
whatsapp_get_qrGet WhatsApp QR code for login. Returns the QR code image path and code string.
whatsapp_get_user_infoGet information about a WhatsApp user.
whatsapp_join_group_linkJoin a WhatsApp group using an invite link.
whatsapp_leave_groupLeave a WhatsApp group.
whatsapp_login_with_codeLogin to WhatsApp using phone number code pairing.
whatsapp_logoutLogout from WhatsApp and clear session.
whatsapp_manage_group_request_participantsApprove or reject participants requesting to join a WhatsApp group.
whatsapp_mark_as_readMark messages as read.
whatsapp_mark_chat_as_readMark all messages in a chat as read.
whatsapp_promote_group_adminPromote participants to admin in a WhatsApp group.
whatsapp_react_messageReact to a WhatsApp message with an emoji.
whatsapp_reconnectReconnect to WhatsApp server.
whatsapp_remove_group_participantsRemove participants from a WhatsApp group.
whatsapp_revoke_messageRevoke/recall a WhatsApp message for everyone.
whatsapp_send_audioSend an audio file to a WhatsApp contact or group.
whatsapp_send_contactSend a contact card to a WhatsApp contact or group.
whatsapp_send_fileSend a file/document to a WhatsApp contact or group.
whatsapp_send_imageSend an image to a WhatsApp contact or group.
whatsapp_send_linkSend a link with caption to a WhatsApp contact or group.
whatsapp_send_locationSend a location coordinates to a WhatsApp contact or group.
whatsapp_send_pollSend a poll to a WhatsApp contact or group.
whatsapp_send_presenceSend typing indicator or online presence to WhatsApp.
whatsapp_send_textSend a text message to a WhatsApp contact or group.
whatsapp_send_videoSend a video file to a WhatsApp contact or group.
whatsapp_set_group_announceSet group to announcement mode (only admins can send messages).
whatsapp_set_group_lockedLock or unlock group settings (only admins can edit).
whatsapp_set_group_nameChange the name of a WhatsApp group.
whatsapp_set_group_topicSet the topic/description of a WhatsApp group.
whatsapp_star_messageStar a WhatsApp message for bookmarking.
whatsapp_unfollow_newsletterUnfollow/unsubscribe from a WhatsApp newsletter.
whatsapp_unstar_messageUnstar a WhatsApp message (remove bookmark).
whatsapp_update_messageUpdate/edit a WhatsApp message.
README
``markdown
Golang WhatsApp - Built with Go for efficient memory use
[](https://smithery.ai/server/@samihalawa/whatsapp-go-mcp) [](https://www.patreon.com/c/aldinokemal) If you're using this tools to generate income, consider supporting its development by becoming a Patreon member! Your support helps ensure the library stays maintained and receives regular updates! ___
Support for ARM & AMD Architecture along with MCP Support
Download:
Support n8n package (n8n.io)
-> InstallBreaking Changes
instead of
- for example: ./whatsapp rest instead of ~~./whatsapp~~
- For MCP mode, you need to run mcp
- for example: ./whatsapp mcp
v7
- Starting version 7.x we are using goreleaser to build the binary, so you can download the binary
from releaseFeature
Send WhatsApp message via http API, docs/openapi.yml for more details
MCP (Model Context Protocol) Server Support - Integrate with AI agents and tools using standardized protocol
Mention someone
- @phoneNumber
- example: Hello @628974812XXXX, @628974812XXXX
Post Whatsapp Status
Compress image before send
Compress video before send
Change OS name become your app (it's the device name when connect via mobile)
- --os=Chrome or --os=MyApplication
Basic Auth (able to add multi credentials)
- --basic-auth=kemal:secret,toni:password,userName:secretPassword, or you can simplify
- -b=kemal:secret,toni:password,userName:secretPassword
Subpath deployment support
- --base-path="/gowa" (allows deployment under a specific path like /gowa/sub/path)
Customizable port and debug mode
- --port 8000
- --debug true
Auto reply message
- --autoreply="Don't reply this message"
Auto mark read incoming messages
- --auto-mark-read=true (automatically marks incoming messages as read)
Webhook for received message
- --webhook="http://yourwebhook.site/handler", or you can simplify
- -w="http://yourwebhook.site/handler"
- for more detail, see Webhook Payload Documentation
Webhook Secret
Our webhook will be sent to you with an HMAC header and a sha256 default key secret. You may modify this by using the option below:
-
--webhook-secret="secret"
Webhook Payload Documentation
For detailed webhook payload schemas, security implementation, and integration examples,
see Webhook Payload DocumentationConfiguration
You can configure the application using either command-line flags (shown above) or environment variables. Configuration
can be set in three ways (in order of priority):
1. Command-line flags (highest priority)
2. Environment variables
3.
.env file (lowest priority)Environment Variables
You can configure the application using environment variables. Configuration can be set in three ways (in order of
priority):
1. Command-line flags (highest priority)
2. Environment variables
3.
.env file (lowest priority)To use environment variables:
1. Copy
.env.example to .env in your project root (cp src/.env.example src/.env)
2. Modify the values in .env` according to your needs
3. Or set the same variables as system environment variables#### Available Environment Variables
| Variable | Description | Default | Example | |-------------------------------|---------------------------------------------|----------------------------------------------|-------------------------------------
Related MCP Servers
AI Research Assistant
hamid-vakilzadeh
AI Research Assistant provides comprehensive access to millions of academic papers through the Semantic Scholar and arXiv databases. This MCP server enables AI coding assistants to perform intelligent literature searches, citation network analysis, and paper content extraction without requiring an API key. Key features include: - Advanced paper search with multi-filter support by year ranges, citation thresholds, field of study, and publication type - Title matching with confidence scoring for finding specific papers - Batch operations supporting up to 500 papers per request - Citation analysis and network exploration for understanding research relationships - Full-text PDF extraction from arXiv and Wiley open-access content (Wiley TDM token required for institutional access) - Rate limits of 100 requests per 5 minutes with options to request higher limits through Semantic Scholar
Linkup
LinkupPlatform
Linkup is a real-time web search and content extraction service that enables AI assistants to search the web and retrieve information from trusted sources. It provides source-backed answers with citations, making it ideal for fact-checking, news gathering, and research tasks. Key features of Linkup: - Real-time web search using natural language queries to find current information, news, and data - Page fetching to extract and read content from any webpage URL - Search depth modes: Standard for direct-answer queries and Deep for complex research across multiple sources - Source-backed results with citations and context from relevant, trustworthy websites - JavaScript rendering support for accessing dynamic content on JavaScript-heavy pages
Math-MCP
EthanHenrickson
Math-MCP is a computation server that enables Large Language Models (LLMs) to perform accurate numerical calculations through the Model Context Protocol. It provides precise mathematical operations via a simple API to overcome LLM limitations in arithmetic and statistical reasoning. Key features of Math-MCP: - Basic arithmetic operations: addition, subtraction, multiplication, division, modulo, and bulk summation - Statistical analysis functions: mean, median, mode, minimum, and maximum calculations - Rounding utilities: floor, ceiling, and nearest integer rounding - Trigonometric functions: sine, cosine, tangent, and their inverses with degrees and radians conversion support