WAHA WhatsApp Server
БесплатноНе проверенEnables Claude to interact with WhatsApp through a unified backend API, providing 20 tools for messaging, media, groups, contacts, and chat management.
Описание
Enables Claude to interact with WhatsApp through a unified backend API, providing 20 tools for messaging, media, groups, contacts, and chat management.
README
A TypeScript Model Context Protocol stdio server for WhatsApp through a unified WAHA backend. It exposes 28 tools for messages, contacts, media, transcription, speech generation, automatic voice-note replies, message-store search, and per-conversation media automation.
Architecture
MCP client → this package → unified backend /api (:8200)
├─ PostgreSQL message store
├─ WAHA live proxy
├─ transcription and TTS providers
└─ media analysis/archive worker
The MCP server only talks to the authenticated /api facade. It does not connect
directly to WAHA, databases, Nextcloud, or model providers. LAN-only management
routes for archive review and LLM provider administration are intentionally excluded.
This release targets waha-backend commit 46acc32 or a compatible newer build.
Install
Claude Code
claude mcp add waha-whatsapp -- \
env WAHA_API_URL=http://your-server:8200/api \
WAHA_API_KEY=your-backend-api-key \
npx -y @marcos-heidemann/waha-mcp-server
MCP JSON configuration
{
"mcpServers": {
"waha-whatsapp": {
"command": "npx",
"args": ["-y", "@marcos-heidemann/waha-mcp-server"],
"env": {
"WAHA_API_URL": "http://your-server:8200/api",
"WAHA_API_KEY": "your-backend-api-key"
}
}
}
}
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
WAHA_API_URL |
no | http://localhost:8200/api |
Unified backend API URL |
WAHA_API_KEY |
yes | — | Value sent as X-API-Key |
WAHA_SESSION |
no | default |
WAHA session name |
WAHA_SEND_DELAY_MS |
no | 1000 |
Minimum delay between outbound sends; non-negative integer |
Older WAHA_STORE_* and WAHA_TRANSCRIPTION_* variables are no longer used.
Those services are configured behind the unified backend.
Contact identifiers
Chat-targeting tools use a stable contactId:
- Person: phone digits with country code, such as
5521999999999. - Group: the stable group JID ending in
@g.us. - Legacy
@c.usand@lidaliases remain accepted on routes where the backend supports them. - Imported chat IDs ending in
@importwork with message read/search, but not with the backend chat-summary route.
Use whatsapp_list_contacts to discover identifiers.
Tools (28)
| Area | Tool | Purpose |
|---|---|---|
| Session | whatsapp_session_status |
Connection and account presence |
| Session | whatsapp_account_info |
Authenticated WhatsApp identity |
| Chats | whatsapp_list_chats |
Live chat overview with previews |
| Chats | whatsapp_read_messages |
Persistent history with live fallback and optional mark-read |
| Messaging | whatsapp_send_text |
Rate-limited text send |
| Messaging | whatsapp_react |
Add or remove a reaction |
| Messaging | whatsapp_edit_message |
Edit an outgoing text message |
| Messaging | whatsapp_delete_message |
Unsend a message |
| Messaging | whatsapp_forward_message |
Copy stored text into another chat |
| Media | whatsapp_download_media |
Return images/audio up to 10 MiB inline; save larger/other files in /tmp |
| Media | whatsapp_transcribe_audio |
Transcribe with language and prompt hints |
| Media | whatsapp_generate_speech |
Generate inline TTS audio; does not send it to WhatsApp |
| Contacts | whatsapp_check_number |
Check whether a phone is registered |
| Contacts | whatsapp_list_contacts |
Unified people and groups address book |
| Contacts | whatsapp_get_contact |
Person or group detail |
| Store | whatsapp_search_messages |
Search text plus indexed captions, OCR, summaries, tags, and documents |
| Store | whatsapp_contact_graph |
Shared groups and mutual contacts |
| Store | whatsapp_chat_summary |
Recent readable history, up to 100 messages |
| Store | whatsapp_stats |
Activity totals and top chats/contacts |
| Store | whatsapp_import_chat |
Import a local .zip/.txt WhatsApp export, up to 100 MiB |
| Auto-reply | whatsapp_auto_reply_enable |
Enable person/group voice-note replies; optional contextual mode |
| Auto-reply | whatsapp_auto_reply_disable |
Disable automatic voice-note replies |
| Auto-reply | whatsapp_auto_reply_status |
Check enabled/found state |
| Auto-reply | whatsapp_auto_reply_list |
List enabled people and groups |
| Automation | whatsapp_media_settings_get |
Read per-conversation media policy |
| Automation | whatsapp_media_settings_update |
Partially update capture/analysis/reply/archive policy |
| Automation | whatsapp_media_settings_disable |
Turn every media automation flag off for a conversation |
| Automation | whatsapp_automation_health |
Combined backend/listener/media/worker diagnostics |
Media automation settings
whatsapp_media_settings_update supports:
captureEnabledanalyzeImagesanalyzeDocumentswhatsappReplyEnabledincludeMediaInRecaparchiveMode:off,review, orautofixedNextcloudFolderId: integer ornullarchiveConfirmationEnabledallowSensitiveProcessingaskOnReview
Conversation settings are combined with backend-wide kill switches. Always inspect
returned warnings or call whatsapp_automation_health before assuming a feature is
active. The current public health/warning contract does not expose the global gates
for recap inclusion or review questions.
Current backend limitations
- Manual quote replies are not implemented by the public backend send route.
Supplying
replyToreturns an MCP error and sends nothing. whatsapp_forward_messagere-sends stored text. It does not preserve media, sender attribution, or WhatsApp's Forwarded label.- Some current GOWS media is still exposed as stored type
chat; type filters may miss it until the backend public API switches tonormalized_type. - Public chat summaries are not fully
@lidalias-aware. Read/search are the safer choices for migrated histories. - Imported sender identities are history-only and are omitted from
whatsapp_list_contacts; imported*@importchats support read/search but not live read receipts or chat summaries. - Durable staged-media preview, Nextcloud folder discovery, archive review/actions, and Motor/LLM configuration remain operator-only management functions.
Development and verification
npm ci
npm test # hermetic unit + backend-contract tests
npm run build
npm pack --dry-run
Releases are deployed by pushing a tag that exactly matches the package version,
for example v2.4.0. The publish workflow repeats unit tests and the build before
publishing to npm with the repository secret.
Live tests require WAHA_API_URL and WAHA_API_KEY:
npm run test:live # read-only suites
WAHA_TEST_LEVEL=2 npm run test:live # includes self-chat writes
WAHA_TEST_LEVEL=3 npm run test:live # includes configured contact writes
The default test and CI paths never contact WhatsApp.
Security
- Treat the backend API key as a password; never commit it.
- Sending through an unofficial WhatsApp API can trigger anti-abuse controls. Keep automation narrow and rate-limited.
- Media and chat exports can contain sensitive data. Review automation policy before enabling analysis, replies, or archival.
- Rotate any credential that has previously appeared in Git history.
License
Установить WAHA WhatsApp Server в Claude Desktop, Claude Code, Cursor
unyly install waha-whatsapp-mcp-serverСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add waha-whatsapp-mcp-server -- npx -y @marcos-heidemann/waha-mcp-serverFAQ
WAHA WhatsApp Server MCP бесплатный?
Да, WAHA WhatsApp Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для WAHA WhatsApp Server?
Нет, WAHA WhatsApp Server работает без API-ключей и переменных окружения.
WAHA WhatsApp Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить WAHA WhatsApp Server в Claude Desktop, Claude Code или Cursor?
Открой WAHA WhatsApp Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare WAHA WhatsApp Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
