
WaPulse WhatsApp
STDIOMCP server integrating WhatsApp Web API for messaging, group management, and file handling.
MCP server integrating WhatsApp Web API for messaging, group management, and file handling.
A comprehensive Model Context Protocol (MCP) server that provides seamless integration with the WaPulse WhatsApp Web API. This server enables you to send messages, manage groups, handle files, and perform various WhatsApp operations through the MCP protocol.
send_whatsapp_message
- Send text messages to individuals or groupssend_whatsapp_files
- Send images, documents, and other filessend_whatsapp_audio
- Send audio messages and voice notesload_chat_messages
- Retrieve chat history and messagescheck_id_exists
- Verify if a WhatsApp ID existsvalidate_phone_number
- Validate phone number formatget_all_chats
- Get all chat conversationscreate_whatsapp_group
- Create new WhatsApp groupsadd_group_participants
- Add members to groupsremove_group_participants
- Remove members from groupspromote_group_participants
- Promote members to admindemote_group_participants
- Demote admins to membersleave_whatsapp_group
- Leave a groupget_group_invite_link
- Get group invite linkschange_group_invite_code
- Generate new invite linksget_group_requests
- View pending join requestsapprove_group_request
- Approve join requestsreject_group_request
- Reject join requestsget_all_groups
- List all groupscreate_instance
- Create new WhatsApp instancesget_qr_code
- Get QR code for WhatsApp Web connectionstart_instance
- Start a WhatsApp instancestop_instance
- Stop a WhatsApp instancedelete_instance
- Delete a WhatsApp instanceget_wapulse_documentation
- Access API documentationget_all_chats
- Retrieve all chat conversationsClick this link to automatically install in Cursor IDE:
📱 Install WaPulse MCP in Cursor
After clicking:
~/.cursor/mcp.json
file"enter-your-wapulse-token-here"
with your actual WaPulse token"enter-your-instance-id-here"
with your actual instance IDInstall directly via NPX with your WaPulse credentials:
npx wapulse-whatsapp-mcp-server
Configuration via Environment Variables:
export WAPULSE_TOKEN="your-wapulse-token" export WAPULSE_INSTANCE_ID="your-instance-id" export WAPULSE_BASE_URL="https://wapulseserver.com:3003" # optional npx wapulse-whatsapp-mcp-server
Configuration in MCP Client (Cursor):
Add to your mcp.json
:
{ "mcpServers": { "wapulse": { "command": "npx", "args": ["wapulse-whatsapp-mcp-server"], "env": { "WAPULSE_TOKEN": "your-wapulse-token", "WAPULSE_INSTANCE_ID": "your-instance-id" } } } }
Install via Smithery cloud (requires Smithery account):
npx @smithery/cli@latest install @Quegenx/wapulse-whatsapp-mcp --client cursor
git clone https://github.com/Quegenx/wapulse-mcp.git cd wapulse-mcp
npm install
npm run build
dist/smithery-index.js
with your WaPulse credentialswapulseToken
- Your WaPulse API tokenwapulseInstanceID
- Your WhatsApp instance IDwapulseBaseUrl
- WaPulse API base URL (defaults to https://wapulseserver.com:3003
)For Cursor IDE, add to your mcp.json
:
{ "mcpServers": { "wapulse-whatsapp": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@Quegenx/wapulse-whatsapp-mcp", "--key", "your-smithery-key", "--profile", "your-profile" ] } } }
// Send a text message await sendWhatsAppMessage({ to: "972512345678", message: "Hello from MCP!", type: "user" });
// Send an image with caption await sendWhatsAppFiles({ to: "972512345678", files: [{ file: "data:image/jpeg;base64,/9j/4AAQ...", filename: "image.jpg", caption: "Check out this image!" }] });
// Create a new group await createWhatsAppGroup({ name: "My New Group", participants: ["972512345678", "972587654321"] });
// Get chat history await loadChatMessages({ id: "[email protected]", type: "user" });
All phone numbers should be in international format without the +
sign:
972512345678
(Israel)14155552671
(US)+972512345678
972-512-345-678
The server uses proper MCP error codes:
InvalidParams
- For validation errors (invalid phone numbers, missing parameters)InternalError
- For API failures or network issuesnpm run build
npm test
npm run lint
The server includes a built-in documentation tool that provides comprehensive information about the WaPulse API:
await getWaPulseDocumentation({ section: "messaging", // overview, authentication, messaging, groups, instances, webhooks, errors, rate-limits, examples search: "send message" // optional search term });
For issues related to:
MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Built with ❤️ using the official Model Context Protocol SDK