Loading...
Fork of lharries/whatsapp-mcp that fixes Unicode/Hebrew search and adds dual-bridge support for personal and business WhatsApp accounts. The upstream project provides 13 MCP tools for reading and sending WhatsApp messages through a Go bridge + Python MCP server. Our fork replaces SQLite LOWER()+LIKE queries (which silently break for non-ASCII text) with instr()-based matching that works for Hebrew, Arabic, emoji, and all Unicode. Also adds auto-detection of business bridge databases and an optional self-chat safety restriction for LLM interactions.
Replaced SQLite LOWER()+LIKE (ASCII-only) with instr()-based matching. Works for Hebrew, Arabic, emoji, CJK — any Unicode text.
Auto-detects business bridge database. Run personal (port 8741) and business (port 8742) WhatsApp accounts simultaneously without manual config.
Optional WHATSAPP_OWNER_JID restricts sends to your own Saved Messages. Safe for LLM interactions — Claude can read all chats but only send to you.
Personal + Business
Go Bridge
whatsmeow + REST API
SQLite
Message store
Python MCP
12 tools, instr() search
AI Agent
Claude / Cursor
Personal + Business
Go Bridge
whatsmeow + REST API
SQLite
Message store
Python MCP
12 tools, instr() search
AI Agent
Claude / Cursor
git clone https://github.com/EtanHey/whatsapp-mcp.git
cd whatsapp-mcp && cd whatsapp-bridge && go buildThe upstream whatsapp-mcp (5.4K stars) uses SQLite LOWER()+LIKE for text search — which silently breaks for Hebrew, Arabic, emoji, and CJK. SQLite's LOWER() only handles ASCII. Anyone searching WhatsApp messages in a non-Latin script gets zero results.
Replaced LOWER()+LIKE with instr()-based matching across 3 search functions (list_chats, list_messages, search_contacts). Dual check: instr(LOWER(col), LOWER(?)) > 0 OR instr(col, ?) > 0 handles both case-insensitive Latin and direct Unicode byte-level matching.
Found that the business WhatsApp bridge stores data in a different path (whatsapp-bridge-business/store/messages.db). Added auto-detection: check business path first, fall back to personal. Both bridges can run simultaneously on separate ports.
Added WHATSAPP_OWNER_JID env var to restrict all send operations to the owner's Saved Messages. Claude can read everything for context but can't accidentally message contacts. Phone number normalization handles leading +, whitespace, and @s.whatsapp.net suffix.
Opened PR #181 against lharries/whatsapp-mcp with the Unicode fixes. The upstream repo hasn't had activity in months, but the fork graph ensures people searching for Hebrew-compatible WhatsApp MCP find this fork.
Enterprise-grade AI-powered recruitment platform with voice interviews, resume screening, multi-channel communication, and seamless ATS/HRIS integrations. Automates hiring workflows for Quick Service Restaurants, healthcare, and construction industries.
A production-ready computer vision model that detects and classifies hands, arms, and non-hand objects in real-time with 96% accuracy.
12 MCP tools, 335K+ indexed chunks, hybrid semantic+keyword search with MMR dedup, knowledge graph with entity resolution, Gemini enrichment. 1,848 Python + 54 Swift tests. pip install brainlayer.
9 read tools (search contacts, list messages, get chat, download media) + 3 write tools (send message, send file, send audio with auto Opus conversion).
2 MCP tools (voice_speak + voice_ask) + 9 QA tools, whisper.cpp STT (~300ms), edge-tts, VoiceBar MCP daemon, session booking. 546 tests. bunx voicelayer-mcp.