WhatsApp MCP
What it is
إيه ده
An MCP server that lets Claude (or any MCP-capable AI) read your WhatsApp through your WAHA instance, draft replies for your approval, keep a profile per contact, and review support groups.
سيرفر MCP بيخلي Claude أو أي AI بيدعم MCP يقرأ الواتساب بتاعك عن طريق WAHA، ويقترح ردود توافق عليها، ويحفظ ملف لكل جهة اتصال، ويراجع جروبات الدعم.
WAHA | https://wapi.u1.c1.hydracrm.tech · session 201011875317 | ||
| Status | الحالة | Working, parked. Sending disabled. | شغال ومركون. الإرسال مقفول. |
Behaviour rules (built into the server)
قواعد التصرف (جوه السيرفر)
- Draft first: the AI proposes a reply and waits; it never sends on its own.
- Persona: reads the contact profile; customers get a professional tone and no unstated commitments on price, deadlines or refunds.
- Review the owner: if a message you want sent is wrong, contradicts history, or is against your interest, the AI pushes back before sending.
- Support report: open / resolved issues, unanswered customers and wait time, angry customers, slow replies, actions.
- الاقتراح الأول: الـ AI يقترح الرد ويستنى، وعمره ما يبعت لوحده.
- الـ persona: بيقرأ ملف الشخص، والعميل ياخد نبرة محترفة من غير وعود بسعر أو مواعيد أو استرداد ماقلتهاش.
- مراجعتك: لو الكلام اللي عايز تبعته غلط أو بيناقض اللي قبله أو مش في صالحك، بينبهك قبل الإرسال.
- تقرير الدعم: المشاكل المفتوحة والمحلولة، العملاء اللي مستنيين ومدة الانتظار، العملاء الغاضبين، الردود المتأخرة، والمطلوب.
Tools
الأدوات
wa_list_chats | Recent chats / groups with last message. | آخر الشاتات والجروبات مع آخر رسالة. |
wa_read_messages | Messages of one chat (limit, since_hours). | رسايل شات واحد بعدد وفترة. |
wa_search | Text search across the latest messages of recent chats. | بحث في آخر رسايل أحدث الشاتات. |
wa_group_digest | Transcript + stats for a window; basis of support reports. | نص وإحصائيات لفترة، وهو أساس تقرير الدعم. |
wa_get_profile / wa_set_profile | Role, name, tone, notes per contact. | الدور والاسم والنبرة والملاحظات لكل شخص. |
wa_send_message | Only when WAHA_ALLOW_SEND=1; requires owner_approved: true. | بتظهر بس لو WAHA_ALLOW_SEND=1، ولازم owner_approved: true. |
Connecting
طريقة التوصيل
On this server (stdio) — already registered for Claude Code as waha; new sessions see it.
على السيرفر ده (stdio): متسجّل في Claude Code باسم waha، وأي session جديدة بتشوفه.
claude mcp add --scope user waha -- node /opt/waha-mcp/server.js
Remote (Streamable HTTP) — for any AI outside the server. Token is in MCP_TOKEN in /opt/waha-mcp/.env.
عن بُعد (Streamable HTTP): لأي AI برّه السيرفر. التوكن في MCP_TOKEN جوه /opt/waha-mcp/.env.
URL: https://waha-mcp.assist.abdulhamid.shop/mcp Header: Authorization: Bearer <MCP_TOKEN> claude mcp add --transport http waha https://waha-mcp.assist.abdulhamid.shop/mcp \ --header "Authorization: Bearer <MCP_TOKEN>"
Operations
التشغيل
| Code | الكود | /opt/waha-mcp/server.js |
| Config (600) | الإعدادات (600) | /opt/waha-mcp/.env · WAHA_URL WAHA_API_KEY WAHA_SESSION MCP_TOKEN MCP_PORT WAHA_ALLOW_SEND |
| Profiles | ملفات الأشخاص | /opt/waha-mcp/data/profiles.json |
| Service | الخدمة | systemctl restart waha-mcp · journalctl -u waha-mcp · 127.0.0.1:3947, 200MB max |
| Enable sending | تفعيل الإرسال | WAHA_ALLOW_SEND=1 + systemctl restart waha-mcp |
| Rotate token | تغيير التوكن | openssl rand -hex 32 → MCP_TOKEN + restart |
Later / ideas
بعدين / أفكار
- Webhook + SQLite store for fast search and long-range reports.
- Scheduled daily support-group report.
- Media (voice notes / images) transcription.
- Webhook وتخزين في SQLite لبحث أسرع وتقارير على فترات طويلة.
- تقرير يومي تلقائي لجروبات الدعم.
- تفريغ الـ voice notes والصور.