{"adoption": {"forks": 1269, "observed_at": "2026-08-28T04:09:39.534141+00:00", "stars": 6196}, "canonical_url": "https://ross.abutalabs.com/products/whatsapp-mcp", "card": {"archived": false, "artifact_type": "service", "description": "WhatsApp MCP server", "domain": ["messaging-platforms", "large-language-models", "developer-tools"], "enriched": true, "function": ["mcp", "chatbot", "search-engine", "database"], "health_score": 51, "homepage": "https://x.com/LukeHarries_/status/1905986562388635913", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["lharries/whatsapp-mcp"], "name": "lharries/whatsapp-mcp", "platform": ["go", "python", "windows", "cross-platform"], "pushed_at": "2025-07-13T17:22:00+00:00", "repo": "lharries/whatsapp-mcp", "stars": 6196, "tags": ["whatsapp", "model-context-protocol", "claude-desktop", "sqlite", "whatsmeow", "personal-messaging", "llm-tools", "ai-agents", "macos", "linux"], "topics": ["ai", "mcp", "whatsapp", "whatsapp-api"], "urls": [], "use_cases": ["let Claude search and read my WhatsApp messages", "send WhatsApp messages to individuals or groups from an AI assistant", "query my WhatsApp chat history with an LLM", "search WhatsApp contacts from Claude Desktop", "send images, videos, documents, or voice notes to WhatsApp via an agent", "connect WhatsApp to Cursor as an MCP tool"], "what_it_is": "A Model Context Protocol (MCP) server that connects an LLM agent like Claude Desktop or Cursor to a personal WhatsApp account via the WhatsApp web multidevice API. It stores messages locally in SQLite and exposes tools to search/read messages and contacts and send text or media to individuals and groups.", "when_to_avoid": ["you need an official WhatsApp Business API integration for production apps", "you cannot accept the prompt-injection data-exfiltration risk of exposing private messages to an LLM", "you need a long-lived unattended integration, since re-authentication via QR scan is required roughly every 20 days"], "when_to_choose": ["you use Claude Desktop or Cursor and want your personal WhatsApp accessible as agent tools", "you want messages stored locally in SQLite rather than in a cloud service", "you need to send or read media (images, video, documents, audio) through WhatsApp programmatically"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/whatsapp-mcp", "repo": "lharries/whatsapp-mcp", "role": "main", "score": 24}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:39.534141+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:47:21.031068+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae5800c25328cf995d3c53974168ab51760a0ad332ab74fef85d00c37356c5e3", "fetched_at": "2026-08-28T04:09:39.534141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lharries/whatsapp-mcp"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 31, "longevity": 37, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 522, "days_push": 416, "days_rel": 514, "gap_med": null, "n_releases_24m": 1}, "score": 24, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}