Samihalawa Whatsapp Go Mcp

ai.smitheryvv7.5.0更新于 Oct 1, 2026

Scan QR codes and go! No more troublesome autos or APIs! Send text messages, images, links, locati…

已验证Streamable HTTP可网页运行Other

安装

在 SourceWeft 中

  1. 打开 控制台中的 Samihalawa Whatsapp Go Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "samihalawa-whatsapp-go-mcp": {
      "type": "http",
      "url": "https://server.smithery.ai/@samihalawa/whatsapp-go-mcp/mcp"
    }
  }
}

README

markdown
<!-- markdownlint-disable MD041 --><!-- markdownlint-disable-next-line MD033 --><div align="center">  <!-- markdownlint-disable-next-line MD033 -->  <img src="src/views/assets/gowa.svg" alt="GoWA Logo" width="200" height="200">
## Golang WhatsApp - Built with Go for efficient memory use
</div>
[![smithery badge](https://smithery.ai/badge/@samihalawa/whatsapp-go-mcp)](https://smithery.ai/server/@samihalawa/whatsapp-go-mcp)[![Patreon](https://img.shields.io/badge/Support%20on-Patreon-orange.svg)](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!___
![release version](https://img.shields.io/github/v/release/aldinokemal/go-whatsapp-web-multidevice)![Build Image](https://github.com/aldinokemal/go-whatsapp-web-multidevice/actions/workflows/build-docker-image.yaml/badge.svg)![Binary Release](https://github.com/aldinokemal/go-whatsapp-web-multidevice/actions/workflows/release.yml/badge.svg)
## Support for `ARM` & `AMD` Architecture along with `MCP` Support
Download:
- [Release](https://github.com/aldinokemal/go-whatsapp-web-multidevice/releases/latest)- [Docker Hub](https://hub.docker.com/r/aldinokemal2104/go-whatsapp-web-multidevice/tags)- [GitHub Container Registry](https://github.com/aldinokemal/go-whatsapp-web-multidevice/pkgs/container/go-whatsapp-web-multidevice)
## Support n8n package (n8n.io)
- [n8n package](https://www.npmjs.com/package/@aldinokemal2104/n8n-nodes-gowa)- Go to Settings -> Community Nodes -> Input `@aldinokemal2104/n8n-nodes-gowa` -> Install
## Breaking Changes
- `v6`  - For REST mode, you need to run `<binary> rest` instead of `<binary>`    - for example: `./whatsapp rest` instead of ~~./whatsapp~~  - For MCP mode, you need to run `<binary> 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](https://github.com/aldinokemal/go-whatsapp-web-multidevice/releases/latest)
## Feature
- Send WhatsApp message via http API, [docs/openapi.yml](./docs/openapi.yaml) 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](./docs/webhook-payload.md)- 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](./docs/webhook-payload.md)
## Configuration
You can configure the application using either command-line flags (shown above) or environment variables. Configurationcan be set in three ways (in order of priority):
1. Command-line flags (highest priority)2. Environment variables3. `.env` file (lowest priority)
### Environment Variables
You can configure the application using environment variables. Configuration can be set in three ways (in order ofpriority):
1. Command-line flags (highest priority)2. Environment variables3. `.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 needs3. Or set the same variables as system environment variables
#### Available Environment Variables
| Variable                      | Description                                 | Default                                      | Example                                     ||-------------------------------|---------------------------------------------|----------------------------------------------|---------------------------------------------|| `APP_PORT`                    | Application port                            | `3000`                                       | `APP_PORT=8080`                             || `APP_DEBUG`                   | Enable debug logging                        | `false`                                      | `APP_DEBUG=true`                            || `APP_OS`                      | OS name (device name in WhatsApp)           | `Chrome`                                     | `APP_OS=MyApp`                              || `APP_BASIC_AUTH`              | Basic authentication credentials            | -                                            | `APP_BASIC_AUTH=user1:pass1,user2:pass2`    || `APP_BASE_PATH`               | Base path for subpath deployment            | -                                            | `APP_BASE_PATH=/gowa`                       || `DB_URI`                      | Database connection URI                     | `file:storages/whatsapp.db?_foreign_keys=on` | `DB_URI=postgres://user:pass@host/db`       || `WHATSAPP_AUTO_REPLY`         | Auto-reply message                          | -                                            | `WHATSAPP_AUTO_REPLY="Auto reply message"`  || `WHATSAPP_AUTO_MARK_READ`     | Auto-mark incoming messages as read         | `false`                                      | `WHATSAPP_AUTO_MARK_READ=true`              || `WHATSAPP_WEBHOOK`            | Webhook URL(s) for events (comma-separated) | -                                            | `WHATSAPP_WEBHOOK=https://webhook.site/xxx` || `WHATSAPP_WEBHOOK_SECRET`     | Webhook secret for validation               | `secret`                                     | `WHATSAPP_WEBHOOK_SECRET=super-secret-key`  || `WHATSAPP_ACCOUNT_VALIDATION` | Enable account validation                   | `true`                                       | `WHATSAPP_ACCOUNT_VALIDATION=false`         || `WHATSAPP_CHAT_STORAGE`       | Enable chat storage                         | `true`                                       | `WHATSAPP_CHAT_STORAGE=false`               |
Note: Command-line flags will override any values set in environment variables or `.env` file.
- For more command `./whatsapp --help`
## Requirements
### System Requirements
- **Go 1.24.0 or higher** (for building from source)- **FFmpeg** (for media processing)
### Platform Support
- Linux (x86_64, ARM64)- macOS (Intel, Apple Silicon)- Windows (x86_64) - WSL recommended
### Dependencies (without docker)
- Mac OS:  - `brew install ffmpeg`  - `export CGO_CFLAGS_ALLOW="-Xpreprocessor"`- Linux:  - `sudo apt update`  - `sudo apt install ffmpeg`- Windows (not recomended, prefer using [WSL](https://docs.microsoft.com/en-us/windows/wsl/install)):  - install ffmpeg, [download here](https://www.ffmpeg.org/download.html#build-windows)  - add to ffmpeg to [environment variable](https://www.google.com/search?q=windows+add+to+environment+path)
## How to use
### Basic
1. Clone this repo: `git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice`2. Open the folder that was cloned via cmd/terminal.3. run `cd src`4. run `go run . rest` (for REST API mode)5. Open `http://localhost:3000`
### Docker (you don't need to install in required)
1. Clone this repo: `git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice`2. Open the folder that was cloned via cmd/terminal.3. run `docker-compose up -d --build`4. open `http://localhost:3000`
### Build your own binary
1. Clone this repo `git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice`2. Open the folder that was cloned via cmd/terminal.3. run `cd src`4. run    1. Linux & MacOS: `go build -o whatsapp`    2. Windows (CMD / PowerShell): `go build -o whatsapp.exe`5. run    1. Linux & MacOS: `./whatsapp rest` (for REST API mode)        1. run `./whatsapp --help` for more detail flags    2. Windows: `.\whatsapp.exe rest` (for REST API mode)        1. run `.\whatsapp.exe --help` for more detail flags6. open `http://localhost:3000` in browser
### MCP Server (Model Context Protocol)
This application can also run as an MCP server, allowing AI agents and tools to interact with WhatsApp through astandardized protocol.
1. Clone this repo `git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice`2. Open the folder that was cloned via cmd/terminal.3. run `cd src`4. run `go run . mcp` or build the binary and run `./whatsapp mcp`5. The MCP server will start on `http://localhost:8080` by default
#### MCP Server Options
- `--host localhost` - Set the host for MCP server (default: localhost)- `--port 8080` - Set the port for MCP server (default: 8080)
#### Available MCP Tools
- `whatsapp_send_text` - Send text messages- `whatsapp_send_contact` - Send contact cards- `whatsapp_send_link` - Send links with captions- `whatsapp_send_location` - Send location coordinates
#### MCP Endpoints
- SSE endpoint: `http://localhost:8080/sse`- Message endpoint: `http://localhost:8080/message`
### MCP Configuration
Make sure you have the MCP server running: `./whatsapp mcp`
For AI tools that support MCP with SSE (like Cursor), add this configuration:
```json{  "mcpServers": {    "whatsapp": {      "url": "http://localhost:8080/sse"    }  }}

Production Mode REST (docker)

Using Docker Hub:

bash
docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages aldinokemal2104/go-whatsapp-web-multidevice rest --autoreply="Dont't reply this message please"

Using GitHub Container Registry:

bash
docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages ghcr.io/aldinokemal/go-whatsapp-web-multidevice rest --autoreply="Dont't reply this message please"

Production Mode REST (docker compose)

create docker-compose.yml file with the following configuration:

Using Docker Hub:

yml
services:  whatsapp:    image: aldinokemal2104/go-whatsapp-web-multidevice    container_name: whatsapp    restart: always    ports:      - "3000:3000"    volumes:      - whatsapp:/app/storages    command:      - rest      - --basic-auth=admin:admin      - --port=3000      - --debug=true      - --os=Chrome      - --account-validation=false
volumes:  whatsapp:

Using GitHub Container Registry:

yml
services:  whatsapp:    image: ghcr.io/aldinokemal/go-whatsapp-web-multidevice    container_name: whatsapp    restart: always    ports:      - "3000:3000"    volumes:      - whatsapp:/app/storages    command:      - rest      - --basic-auth=admin:admin      - --port=3000      - --debug=true      - --os=Chrome      - --account-validation=false
volumes:  whatsapp:

or with env file (Docker Hub):

yml
services:  whatsapp:    image: aldinokemal2104/go-whatsapp-web-multidevice    container_name: whatsapp    restart: always    ports:      - "3000:3000"    volumes:      - whatsapp:/app/storages    environment:      - APP_BASIC_AUTH=admin:admin      - APP_PORT=3000      - APP_DEBUG=true      - APP_OS=Chrome      - APP_ACCOUNT_VALIDATION=false
volumes:  whatsapp:

or with env file (GitHub Container Registry):

yml
services:  whatsapp:    image: ghcr.io/aldinokemal/go-whatsapp-web-multidevice    container_name: whatsapp    restart: always    ports:      - "3000:3000"    volumes:      - whatsapp:/app/storages    environment:      - APP_BASIC_AUTH=admin:admin      - APP_PORT=3000      - APP_DEBUG=true      - APP_OS=Chrome      - APP_ACCOUNT_VALIDATION=false
volumes:  whatsapp:

Production Mode (binary)

You can fork or edit this source code !

Current API

MCP (Model Context Protocol) API

  • MCP server provides standardized tools for AI agents to interact with WhatsApp
  • Supports Server-Sent Events (SSE) transport
  • Available tools: whatsapp_send_text, whatsapp_send_contact, whatsapp_send_link, whatsapp_send_location
  • Compatible with MCP-enabled AI tools and agents

HTTP REST API

FeatureMenuMethodURL
✅Login with Scan QRGET/app/login
✅Login With Pair CodeGET/app/login-with-code
✅LogoutGET/app/logout
✅ReconnectGET/app/reconnect
✅DevicesGET/app/devices
✅User InfoGET/user/info
✅User AvatarGET/user/avatar
✅User Change AvatarPOST/user/avatar
✅User Change PushNamePOST/user/pushname
✅User My GroupsGET/user/my/groups
✅User My NewsletterGET/user/my/newsletters
✅User My Privacy SettingGET/user/my/privacy
✅User My ContactsGET/user/my/contacts
✅User CheckGET/user/check
✅User Business ProfileGET/user/business-profile
✅Send MessagePOST/send/message
✅Send ImagePOST/send/image
✅Send AudioPOST/send/audio
✅Send FilePOST/send/file
✅Send VideoPOST/send/video
✅Send ContactPOST/send/contact
✅Send LinkPOST/send/link
✅Send LocationPOST/send/location
✅Send Poll / VotePOST/send/poll
✅Send PresencePOST/send/presence
✅Send Chat Presence (Typing Indicator)POST/send/chat-presence
✅Revoke MessagePOST/message/:message_id/revoke
✅React MessagePOST/message/:message_id/reaction
✅Delete MessagePOST/message/:message_id/delete
✅Edit MessagePOST/message/:message_id/update
✅Read Message (DM)POST/message/:message_id/read
✅Star MessagePOST/message/:message_id/star
✅Unstar MessagePOST/message/:message_id/unstar
✅Join Group With LinkPOST/group/join-with-link
✅Group Info From LinkGET/group/info-from-link
✅Group InfoGET/group/info
✅Leave GroupPOST/group/leave
✅Create GroupPOST/group
✅Add Participants in GroupPOST/group/participants
✅Remove Participant in GroupPOST/group/participants/remove
✅Promote Participant in GroupPOST/group/participants/promote
✅Demote Participant in GroupPOST/group/participants/demote
✅List Requested Participants in GroupGET/group/participant-requests
✅Approve Requested Participant in GroupPOST/group/participant-requests/approve
✅Reject Requested Participant in GroupPOST/group/participant-requests/reject
✅Set Group PhotoPOST/group/photo
✅Set Group NamePOST/group/name
✅Set Group LockedPOST/group/locked
✅Set Group AnnouncePOST/group/announce
✅Set Group TopicPOST/group/topic
✅Get Group Invite LinkGET/group/invite-link
✅Unfollow NewsletterPOST/newsletter/unfollow
✅Get Chat ListGET/chats
✅Get Chat MessagesGET/chat/:chat_jid/messages
✅Label ChatPOST/chat/:chat_jid/label
✅Pin ChatPOST/chat/:chat_jid/pin
txt
✅ = Available❌ = Not Available Yet

User Interface

MCP UI

HTTP REST API UI

DescriptionImage
Homepage[Homepage]
Login[Login]
Login With Code[Login With Code]
Send Message[Send Message]
Send Image[Send Image]
Send File[Send File]
Send Video[Send Video]
Send Contact[Send Contact]
Send Location[Send Location]
Send Audio[Send Audio]
Send Poll[Send Poll]
Send Presence[Send Presence]
Send Link[Send Link]
My Group[My Group]
Group Info From Link[Group Info From Link]
Create Group[Create Group]
Join Group with Link[Join Group with Link]
Manage Participant[Manage Participant]
My Newsletter[My Newsletter]
My Contacts[My Contacts]
Business Profile[Business Profile]

Mac OS NOTE

  • Please do this if you have an error (invalid flag in pkg-config --cflags: -Xpreprocessor) export CGO_CFLAGS_ALLOW="-Xpreprocessor"

Important

  • This project is unofficial and not affiliated with WhatsApp.
  • Please use official WhatsApp API to avoid any issues.
  • We only able to run MCP or REST API, this is limitation from whatsmeow library. independent MCP will be available in the future.

来源:readme.md,提交 e980b68

工具

0
工具元数据尚未被收录。

版本历史

1
  1. vv7.5.0最新Sep 16, 2026