Price Per TokenPrice Per Token
WhatsApp Web Server

WhatsApp Web Server

by samihalawa

GitHub 5 12,423 uses Remote
0

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_participants

Add participants to a WhatsApp group.

whatsapp_archive_chat

Archive or unarchive a WhatsApp chat.

whatsapp_change_avatar

Change the profile avatar/picture of the logged-in WhatsApp account. Note: File upload in MCP context has limitations.

whatsapp_change_push_name

Change the display name (push name) of the logged-in WhatsApp account.

whatsapp_check_phone

Check if a phone number is registered on WhatsApp.

whatsapp_create_group

Create a new WhatsApp group.

whatsapp_delete_chat

Delete a WhatsApp chat.

whatsapp_delete_message

Delete a WhatsApp message.

whatsapp_demote_group_admin

Demote admins to regular participants in a WhatsApp group.

whatsapp_download_media

Download media from a WhatsApp message (image, video, audio, document).

whatsapp_get_avatar

Get user's WhatsApp profile picture.

whatsapp_get_business_profile

Get business profile information for a WhatsApp Business account.

whatsapp_get_chat_list

Get list of all WhatsApp chats.

whatsapp_get_devices

Get list of connected WhatsApp devices.

whatsapp_get_group_info

Get information about a WhatsApp group.

whatsapp_get_group_info_from_link

Get information about a WhatsApp group from an invite link.

whatsapp_get_group_request_participants

Get list of participants requesting to join a WhatsApp group.

whatsapp_get_invite_link

Get invite link for a WhatsApp group.

whatsapp_get_messages

Get recent messages from a chat.

whatsapp_get_my_contacts

Get list of contacts in the logged-in account's address book.

whatsapp_get_my_groups

Get list of groups the logged-in account has joined.

whatsapp_get_my_newsletters

Get list of newsletters the logged-in account has subscribed to.

whatsapp_get_my_privacy

Get privacy settings of the logged-in WhatsApp account.

whatsapp_get_qr

Get WhatsApp QR code for login. Returns the QR code image path and code string.

whatsapp_get_user_info

Get information about a WhatsApp user.

whatsapp_join_group_link

Join a WhatsApp group using an invite link.

whatsapp_leave_group

Leave a WhatsApp group.

whatsapp_login_with_code

Login to WhatsApp using phone number code pairing.

whatsapp_logout

Logout from WhatsApp and clear session.

whatsapp_manage_group_request_participants

Approve or reject participants requesting to join a WhatsApp group.

whatsapp_mark_as_read

Mark messages as read.

whatsapp_mark_chat_as_read

Mark all messages in a chat as read.

whatsapp_promote_group_admin

Promote participants to admin in a WhatsApp group.

whatsapp_react_message

React to a WhatsApp message with an emoji.

whatsapp_reconnect

Reconnect to WhatsApp server.

whatsapp_remove_group_participants

Remove participants from a WhatsApp group.

whatsapp_revoke_message

Revoke/recall a WhatsApp message for everyone.

whatsapp_send_audio

Send an audio file to a WhatsApp contact or group.

whatsapp_send_contact

Send a contact card to a WhatsApp contact or group.

whatsapp_send_file

Send a file/document to a WhatsApp contact or group.

whatsapp_send_image

Send an image to a WhatsApp contact or group.

whatsapp_send_link

Send a link with caption to a WhatsApp contact or group.

whatsapp_send_location

Send a location coordinates to a WhatsApp contact or group.

whatsapp_send_poll

Send a poll to a WhatsApp contact or group.

whatsapp_send_presence

Send typing indicator or online presence to WhatsApp.

whatsapp_send_text

Send a text message to a WhatsApp contact or group.

whatsapp_send_video

Send a video file to a WhatsApp contact or group.

whatsapp_set_group_announce

Set group to announcement mode (only admins can send messages).

whatsapp_set_group_locked

Lock or unlock group settings (only admins can edit).

whatsapp_set_group_name

Change the name of a WhatsApp group.

whatsapp_set_group_topic

Set the topic/description of a WhatsApp group.

whatsapp_star_message

Star a WhatsApp message for bookmarking.

whatsapp_unfollow_newsletter

Unfollow/unsubscribe from a WhatsApp newsletter.

whatsapp_unstar_message

Unstar a WhatsApp message (remove bookmark).

whatsapp_update_message

Update/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:

  • Release
  • Docker Hub
  • GitHub Container Registry
  • Support n8n package (n8n.io)

  • n8n package
  • Go to Settings -> Community Nodes -> Input @aldinokemal2104/n8n-nodes-gowa -> Install
  • Breaking Changes

  • v6
  • - For REST mode, you need to run rest 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 release

    Feature

  • 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 Documentation

    Configuration

    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

    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

    Web & Search
    12 8
    Linkup

    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

    Web & Search
    2 24
    Math-MCP

    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

    Developer Tools
    22 81