whatsapp-hermes
Enables sending and receiving WhatsApp messages using the Baileys library, supporting text, images, chat listing, and message retrieval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@whatsapp-hermessend 'Good morning' to 5511987654321"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
whatsapp-hermes
An MCP (Model Context Protocol) server that lets an AI agent — such as Hermes Agent — send and receive WhatsApp messages. It connects to WhatsApp through the Baileys library (the WhatsApp Web protocol, paired via QR code), so no Meta Business API or developer account is required.
⚠️ Unofficial API — ban risk. WhatsApp does not officially support third-party clients outside the Business API. Use a dedicated number, keep usage conversational, and don't send bulk/unsolicited messages.
Features
Persistent WhatsApp Web connection with auto-reconnect
QR-code pairing (rendered to stderr) with session persisted to
wa_auth/Incoming messages buffered in memory (ring buffer, default 200)
Sender allow-list access control
Exposed as first-class MCP tools over stdio
Related MCP server: WhatsApp MCP Server (TypeScript)
MCP Tools
Tool | Purpose | Params |
| Connection + pairing state | — |
| Send a text message |
|
| Send an image from a local path |
|
| Recent chats, newest first | — |
| Buffered incoming messages |
|
to accepts a raw phone number (digits only, with country code, no +) or a
full JID (<number>@s.whatsapp.net for a person, <id>@g.us for a group).
Prerequisites
Node.js 18+
A phone with WhatsApp (to scan the pairing QR)
Install
git clone https://github.com/RicSchonfelder/whatsapp-hermes.git
cd whatsapp-hermes
npm install
cp .env.example .env # then edit .envSet access control in .env:
# Only these numbers may reach the agent (digits, country code, no +):
WHATSAPP_ALLOWED_NUMBERS=5511987654321
# or allow everyone (dev only):
# WHATSAPP_ALLOWED_NUMBERS=*First-time pairing
Run once to pair, without needing an MCP host:
npm run pairA QR code prints to the terminal (stderr). On your phone:
WhatsApp → Settings → Linked Devices → Link a Device, then scan it. The
session is saved to wa_auth/ and reused on every subsequent run.
Register with Hermes
hermes mcp add whatsapp --command "node" --args "D:/Programas/Whatsapp/src/index.js"On Windows, if node isn't resolved from PATH, use the absolute path to the
Node executable:
hermes mcp add whatsapp --command "C:\\Program Files\\nodejs\\node.exe" --args "D:/Programas/Whatsapp/src/index.js"Then in Hermes, reload MCP servers (/reload-mcp) or start a new session. The
whatsapp_* tools become available to the agent.
The server boots the WhatsApp client and the MCP stdio server together. On first launch with no saved session it prints a QR to stderr and waits for pairing; after that it connects silently.
Protocol note (important)
MCP uses stdout for JSON-RPC. This server writes all logs and the QR code to stderr — never stdout — so the protocol channel stays clean. If you extend this project, keep that invariant.
Security
wa_auth/holds full session credentials — it is git-ignored. Never commit or share it. Treat it like a password.Always set
WHATSAPP_ALLOWED_NUMBERSbefore exposing the agent.Prefer a dedicated phone number for the bot.
Manutencao
Secrets que nunca devem ser commitados
wa_auth/— contem a sessao autenticada do WhatsApp (credenciais completas). Quem tiver acesso a ela pode ler e enviar mensagens como se fosse o numero vinculado..env— contem configuracao sensivel (numbers permitidos, etc.).
Ambos estao no .gitignore e protegidos pelo scripts/cleanup.sh.
Limpeza de artefatos temporarios
O projeto gera arquivos operacionais que podem ser removidos sem risco:
bash scripts/cleanup.shO script remove apenas *.log e qr_pair.png na raiz do projeto. Ele nunca
toca em wa_auth/ ou .env.
Arquivos de log
Arquivos como pair_stdout.log, pair_stderr.log, test_send.log e
qr_capture.log sao criados durante pareamento e testes. Podem ser apagados a
qualquer momento com o script acima ou manualmente.
License
MIT © RicSchonfelder
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables AI agents to interact with your personal WhatsApp account, allowing them to search messages and contacts, retrieve chat history, and send messages to individuals or groups. Uses WhatsApp Web API with local data storage for privacy and security.43ISC
- Alicense-qualityDmaintenanceEnables AI agents to interact with your personal WhatsApp account to search messages, list chats, and send messages. It stores all authentication and message data locally using SQLite for privacy and direct multi-device API connection.431ISC
- Alicense-qualityCmaintenanceEnables AI assistants to manage WhatsApp: list chats, send and receive messages, download media, and transcribe voice notes via the unofficial Baileys library.30MIT
- AlicenseBqualityBmaintenanceEnables AI agents to control WhatsApp, including sending messages and media, reading chats, managing groups and communities, with QR/pairing auth and session persistence.14262MIT
Related MCP Connectors
Send and read WhatsApp messages on your Leporis account from AI coding agents, via your own API key.
Zero-setup WhatsApp notifications + human-in-the-loop for AI agents — text 'join', send in 60s.
Slack for AI agents: DMs, search, threads, triage, actions - browser-session or hosted OAuth.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RicSchonfelder/whatsapp-hermes'
If you have feedback or need assistance with the MCP directory API, please join our Discord server