{"name":"io.github.adelaidasofia/whatsapp-mcp","slug":"adelaidasofia-whatsapp-mcp","title":"WhatsApp MCP","description":"WhatsApp MCP. SQLCipher-encrypted, scrubber-CI-gated, draft-and-confirm sends, voice transcription.","url":"https://mcp.market/server/adelaidasofia-whatsapp-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":22,"stars":0,"forks":10,"downloads_week":26,"last_push_at":"2026-09-16T18:58:21.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/adelaidasofia/whatsapp-mcp","website":null,"version":"0.1.1","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"adelaidasofia-whatsapp-mcp","version":"0.1.1","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Hostname for the Go bridge REST API.","format":"string","default":"127.0.0.1","name":"WHATSAPP_BRIDGE_HOST"},{"description":"Port for the Go bridge REST API.","format":"string","default":"8080","name":"WHATSAPP_BRIDGE_PORT"},{"description":"Absolute path to a vault CRM folder for auto-injection (e.g., Obsidian 'CRM/'). When unset, CRM injection is disabled.","format":"string","name":"WHATSAPP_VAULT_CRM_PATH"},{"description":"Voice-note transcription backend. 'local-cpp' (default, private) or 'openai-api' (opt-in).","format":"string","default":"local-cpp","name":"WHATSAPP_WHISPER_BACKEND"},{"description":"OpenAI API key. Required only when WHATSAPP_WHISPER_BACKEND=openai-api.","format":"string","isSecret":true,"name":"WHATSAPP_WHISPER_API_KEY"},{"description":"whisper.cpp model name. Only used when backend is local-cpp.","format":"string","default":"large-v3","name":"WHATSAPP_WHISPER_MODEL"},{"description":"Strip known prompt-injection patterns from incoming messages before the LLM sees them.","format":"string","default":"true","name":"WHATSAPP_SCRUB_PROMPT_INJECTION"},{"description":"Log every tool call to audit.log.","format":"string","default":"true","name":"WHATSAPP_AUDIT_LOG"},{"description":"Enable SQLCipher DB encryption with the key sourced from macOS Keychain.","format":"string","default":"true","name":"WHATSAPP_ENCRYPT_DB"}]}],"tools":[{"name":"confirm_send","description":"Commit a previously-drafted send. This is where the actual WhatsApp network send happens.","write_action":true,"price_micros":0,"input_schema":null},{"name":"healthcheck","description":"Check the Go bridge is running and authenticated. Returns status, schema version, and feature flags.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_chats","description":"List WhatsApp chats with metadata. Sorted by most recent message time.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_messages","description":"List messages in a chat. Most recent first by default.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_chat_read","description":"Mark one or more messages as read. Affects your WhatsApp unread count on this device AND across your linked devices. Low-consequence: no draft+confirm needed, this is a one-step call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_contacts","description":"Find contacts by name or phone number. Accent-insensitive. \"Muñoz\" matches \"munoz\", \"José\" matches \"jose\", \"Zürich\" matches \"zurich\".","write_action":false,"price_micros":0,"input_schema":null},{"name":"send_message","description":"Create a DRAFT text message. Does NOT send until confirm_send is called.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_reaction","description":"Create a DRAFT emoji reaction on a specific message.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_reply_quote","description":"Create a DRAFT reply-quote message that cites a specific earlier message.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_typing_indicator","description":"Show a \"typing...\" or \"paused\" indicator to the chat recipient.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set_online_presence","description":"Signal your online/offline presence globally to all chats. Changing this affects your \"last seen\" visibility per WhatsApp's privacy settings.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-27T21:27:20.048Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:27:20.048Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 11 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"adelaidasofia-whatsapp-mcp","version":"0.1.1","found":true,"weeklyDownloads":26,"dependencyCount":5,"publishedAt":"2026-05-20T02:16:13.801970Z","repositoryUrl":"https://github.com/adelaidasofia/whatsapp-mcp"}],"repo":{"found":true,"owner":"adelaidasofia","repo":"whatsapp-mcp","archived":false,"pushedAt":"2026-09-16T18:58:21Z","stars":0,"forks":10,"openIssues":4,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/23468524?v=4","ownerCreatedAt":"2016-11-15T03:55:40Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/23468524?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":10,"downloadsWeek":26,"license":"MIT","lastPushAt":"2026-09-16T18:58:21.000Z","score":22}}}},"grade_history":[],"reviews":[]}