Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Waxum

FreeNot checked

MCP server for WhatsApp that exposes send, read, and media management tools through the waxum REST API gateway, enabling any MCP client to interact with WhatsAp

GitHubEmbed

About

MCP server for WhatsApp that exposes send, read, and media management tools through the waxum REST API gateway, enabling any MCP client to interact with WhatsApp chats and media over stdio.

README

MCP server for WhatsApp, backed by the waxum REST API gateway. Exposes send/read/media tools to any MCP client (Claude Desktop, Claude Code, etc.) over stdio.

Requires waxum >= 0.11.5 (needs GET /messages/chat/{chat_jid}).

Session pairing (QR / phone-number linking) is not part of this server — pair the session directly against waxum first (its own console or POST /sessions/{id}/pair), then point this server at that already-paired session.

Tools

Tool Does
send_message Send a text message
send_file Send a local file (image/video/audio/document/sticker), kind auto-detected from mimetype
get_messages Read a chat's recent history, or search it by keyword — includes sender push_name and media pointers
download_media Download a message's media to local disk, returns the file path
list_groups List groups this session is in, with JIDs and members
list_chats List/search known contacts by name, phone, or push_name
session_status Check connection/login status

Configuration

Two ways to point this server at waxum, chosen by WAXUM_MODE (or auto-detected: client if WAXUM_BASE_URL is set, else spawn).

Client mode — waxum already running elsewhere

WAXUM_MODE=client
WAXUM_BASE_URL=http://localhost:3451
WAXUM_TOKEN=<superadmin token or a session token>
WAXUM_SESSION_ID=<the session to operate on>
WAXUM_MEDIA_DIR=./media   # optional, default ./media

Spawn mode — this server manages the waxum process

WAXUM_MODE=spawn
WAXUM_BINARY_PATH=/path/to/waxum
WAXUM_WORKDIR=/path/to/waxum/data   # optional, default: binary's directory
WAXUM_PORT=3451                     # optional, default 3451
WAXUM_TOKEN=<superadmin token>      # optional, a random one is generated if unset
WAXUM_SESSION_ID=<the session to operate on>

In spawn mode the token becomes the spawned process's SUPERADMIN_TOKEN env var — waxum's own bootstrap credential — so no token needs to be minted ahead of time. The child process's stdout and stderr are forwarded to this server's stderr (never stdout, which is reserved for the MCP protocol channel).

Development

npm install
npm run dev     # run directly with tsx
npm run build   # compile to dist/
npm start       # run the compiled build

from github.com/imtaqin/waxum-mcp

Installing Waxum

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/imtaqin/waxum-mcp

FAQ

Is Waxum MCP free?

Yes, Waxum MCP is free — one-click install via Unyly at no cost.

Does Waxum need an API key?

No, Waxum runs without API keys or environment variables.

Is Waxum hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Waxum in Claude Desktop, Claude Code or Cursor?

Open Waxum on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Waxum with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All media MCPs