VIDA AI WhatsApp MCP Server
Enables Claude to interact with WhatsApp Business for reading, searching, and sending end-to-end encrypted messages. It supports conversation management, message summarization, and action item tracking while maintaining data privacy through a local private key and a user-controlled Neon database.
README
WhatsApp MCP Server
Connect WhatsApp Business to Claude Code and Claude Desktop. Read, search, and send WhatsApp messages directly from Claude with end-to-end encryption.
How It Works
Your WhatsApp → VIDA AI Relay (encrypted) → MCP Server (local) → Your Neon DB
↑ ↓
Only sees blobs Decrypts with your
Never plaintext private key (local only)
Your messages are encrypted before they hit our servers. We store only encrypted blobs. Only your local MCP server can decrypt them using a private key that never leaves your machine.
Features
- 9 tools for Claude: list conversations, read messages, search, send, unread summary, action items
- E2E encrypted: Messages encrypted with sealed boxes (X25519 + XSalsa20-Poly1305)
- Your data, your DB: Messages stored in your own Neon database
- Media support: Images, audio (with Whisper transcription), PDFs
- Coexistence mode: Works with WhatsApp Business app alongside the API
- Action items: Create follow-up tasks from messages
Quick Start
1. Create your MCP account
Go to vidaai.co/mcp, log in, and connect your WhatsApp Business number. Save your API key.
2. Run setup
npx @vidaai/whatsapp-mcp setup
The setup wizard will:
- Validate your API key
- Connect to your Neon database (create one free at neon.tech)
- Generate your encryption keypair
- Activate WhatsApp webhooks
3. Add to Claude
Add this to ~/.claude/.mcp.json (Claude Code) or claude_desktop_config.json (Claude Desktop):
{
"mcpServers": {
"whatsapp": {
"command": "npx",
"args": ["-y", "@vidaai/whatsapp-mcp"],
"env": {
"VIDA_API_KEY": "sk_your_key_here",
"NEON_DATABASE_URL": "postgresql://user:pass@ep-xxx.neon.tech/dbname",
"VIDA_KEY_PATH": "~/.vida/private.key"
}
}
}
}
4. Use it
You: "show me my WhatsApp messages from today"
You: "what did Maria send me?"
You: "reply to Juan: confirmed for tomorrow at 3"
You: "create an action item to follow up with Carlos about the contract"
You: "show me my pending action items"
Tools
| Tool | Description |
|---|---|
whatsapp_sync |
Pull new messages from relay |
whatsapp_list_conversations |
List recent conversations with unread counts |
whatsapp_read_messages |
Read messages by contact name or conversation |
whatsapp_search |
Search messages by keyword, contact, date range |
whatsapp_send_message |
Send a message to a contact |
whatsapp_unread_summary |
Summary of all unread messages |
whatsapp_create_action_item |
Create a follow-up task |
whatsapp_list_action_items |
List tasks (pending/done) |
whatsapp_complete_action_item |
Mark a task as done |
Privacy & Security
- Private key stays on your machine (
~/.vida/private.key). Never sent anywhere. - Messages are encrypted with sealed boxes before leaving WhatsApp's servers. Our relay stores only encrypted blobs.
- Your database is your own Neon instance. We don't have the connection string.
- API key is SHA-256 hashed on our server. The plaintext is shown once during registration.
- Audio transcription happens on our relay (Whisper) and is encrypted before storage. The audio is not persisted.
What we can see
| Data | Our relay | Your MCP (local) |
|---|---|---|
| Message content | No (encrypted blob) | Yes |
| Sender phone | Yes (for routing) | Yes |
| Timestamp | Yes | Yes |
| Private key | Never | Yes |
| Your Neon URL | Never | Yes |
What about outbound messages?
When you send a message through Claude, the plaintext briefly passes through our relay (WhatsApp requires it). It is not logged or stored in plaintext — after sending, we encrypt a copy for your sync history.
Coexistence Mode
If your WhatsApp number uses coexistence (both the app and API), be aware:
- Incoming messages: All visible (100%)
- Messages you send from your phone: Not visible to the MCP
- Messages you send through Claude: Visible
For full coverage, migrate your number fully to the WhatsApp Business API.
Environment Variables
| Variable | Required | Description |
|---|---|---|
VIDA_API_KEY |
Yes | API key from vidaai.co/mcp |
NEON_DATABASE_URL |
Yes | Your Neon PostgreSQL connection string |
VIDA_KEY_PATH |
No | Path to private key (default: ~/.vida/private.key) |
Development
git clone https://github.com/juancvergara1/whatsapp-mcp.git
cd whatsapp-mcp
npm install
npm run build
npm run check # type check without build
License
MIT
Built by
VIDA AI — AI-powered WhatsApp automation for businesses.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.