← Back to search

io.github.kalki-kgp/whatsapp-macos

kalki-kgp Scanned 5d ago

WhatsApp MCP for macOS - Read messages from local DB, send via WhatsApp Web.

D
58.4 / 100

Versions

0.1.0latest
first seen Jun 5, 2026
0.1.1
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 8

whatsapp_status
annotations: none low

Check WhatsApp connection status. Returns current status: 'connected', 'qr_pending', 'disconnected', or 'bridge_offline'. If QR code is needed, returns a data URL you can open in a browser to scan. Call this before sending messages to ensure WhatsApp is connected.

whatsapp_search_contacts
annotations: none low

Search WhatsApp contacts by name or phone number. Returns matching contacts with their JID, display name, and phone number. Use this to find a contact before reading their messages or sending them a message. Args: query: Name or phone number to search for (partial match supported).

query str
whatsapp_list_chats
annotations: none low

List recent WhatsApp chats ordered by last message time. Args: limit: Number of chats to return (max 50). chat_type: Filter by 'dm', 'group', or 'all'.

limit int chat_type str
whatsapp_get_messages
annotations: none low

Get messages from a specific WhatsApp chat. Args: chat_jid: JID of the chat (from whatsapp_search_contacts or whatsapp_list_chats). after: Only messages after this datetime (ISO 8601). Defaults to 24h ago. before: Only messages before this datetime (ISO 8601). Defaults to now. limit: Max messages to return (max 200). search_text: Optional text to filter messages.

after string limit int before string chat_jid str search_text string
whatsapp_search_messages
annotations: none low

Search for messages containing specific text across all chats. Args: query: Text to search for (case-insensitive). chat_jid: Optional - restrict search to a specific chat. limit: Max results (max 50).

limit int query str chat_jid string
whatsapp_unread
annotations: none low

Get a summary of all unread WhatsApp messages. Returns chats with unread messages and recent message previews. Great for "catch me up" or "what did I miss" requests.

whatsapp_send
annotations: none low

Send a WhatsApp message. IMPORTANT: 1. First use whatsapp_status to ensure WhatsApp is connected. 2. Use whatsapp_search_contacts to get the correct JID. 3. Always confirm with the user before sending. Args: recipient_jid: The JID from whatsapp_search_contacts. message: The text message to send.

message str recipient_jid str
whatsapp_incoming
annotations: none low

Get recent incoming WhatsApp messages from the live connection. These are real-time messages, not from the local database. Useful for checking new messages that just arrived. Args: since_minutes: Look back N minutes (default 5, max 60).

since_minutes int

Permissions 4

network medium
Server uses network capabilities via: httpx
filesystem low
Server uses filesystem capabilities via: os, pathlib, shutil
database medium
Server uses database capabilities via: sqlite3
env_vars low
Server uses env_vars capabilities via: os.environ, process.env

Scan Findings 40

low
Tool 'whatsapp_status' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_search_contacts' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_list_chats' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_get_messages' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_search_messages' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_unread' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_send' has no annotations annotation_checker · 100%
low
Tool 'whatsapp_incoming' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @whiskeysockets/baileys@6.7.16 (GHSA-qvv5-jq5g-4cgg) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0,<2 (PYSEC-2026-3483) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: whatsapp_status manifest_parser · 90%
info
Tool: whatsapp_search_contacts manifest_parser · 90%
info
Tool: whatsapp_list_chats manifest_parser · 90%
info
Tool: whatsapp_get_messages manifest_parser · 90%
info
Tool: whatsapp_search_messages manifest_parser · 90%
info
Tool: whatsapp_unread manifest_parser · 90%
info
Tool: whatsapp_send manifest_parser · 90%
info
Tool: whatsapp_incoming manifest_parser · 90%
info
Required env vars (4) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
medium
Permission: database access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'whatsapp_status': Cross-tool sequencing directive poisoning · 85%
critical
Tool poisoning in 'whatsapp_send': Cross-tool prerequisite: 'first call/use' poisoning · 85%
info
SBOM generated: 241 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%