whatsapp-mcp-server (rukman7/whatsapp-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 13 tools. No publisher has claimed this listing.

D
Caution
56/100

whatsapp-mcp-server

Enables LLMs to interact with WhatsApp via the official WhatsApp Cloud API, providing tools for sending messages, templates, media, and managing conversations.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

rukman7

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
13 tools verified — handlers match their declared behaviour
2 read-only tools verified — handlers contain no write/delete/exec
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
🔐
You'll be asked for 1 credential: WHATSAPP_ACCESS_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes13 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

whatsapp_get_business_profile

Retrieve the WhatsApp Business Profile for the configured phone number. Returns: Business profile fields: about, address, description, email, websites, vertical, and profile picture URL.

whatsapp_update_business_profile

Update the WhatsApp Business Profile fields. Args: - about (string, optional): About text (max 139 chars) - address (string, optional): Business address - description (string, optional): Description (max 512 chars) - email (string, optional): Contact email - websites (string, optional): J

whatsapp_list_templates

List message templates for the WhatsApp Business Account. Requires WHATSAPP_BUSINESS_ACCOUNT_ID env var. Args: - limit (number): Max results (default: 20, max: 100) - status (string, optional): Filter by APPROVED, PENDING, or REJECTED Returns: List of templates with name, status, category, l

whatsapp_send_text

Send a text message to a WhatsApp user. Args: - to (string): Recipient phone number in international format - body (string): Message text (max 4096 chars) - preview_url (boolean): Show URL preview (default: false) Returns: Message ID and delivery status. Examples: - "Send hello to +3538

whatsapp_send_template

Send an approved template message. Templates are the only way to initiate conversations outside the 24-hour window. Args: - to (string): Recipient phone number - template_name (string): Approved template name - language_code (string): Template language (default: "en_US") - components (strin

whatsapp_send_image

Send an image to a WhatsApp user via a public URL. Args: - to (string): Recipient phone number - image_url (string): Public URL of the image - caption (string, optional): Image caption (max 1024 chars) Returns: Message ID and delivery status.

whatsapp_send_document

Send a document (PDF, DOCX, etc.) to a WhatsApp user via a public URL. Args: - to (string): Recipient phone number - document_url (string): Public URL of the document - filename (string, optional): Display filename - caption (string, optional): Document caption Returns: Message ID and de

whatsapp_send_location

Send a location pin to a WhatsApp user. Args: - to (string): Recipient phone number - latitude (number): Latitude (-90 to 90) - longitude (number): Longitude (-180 to 180) - name (string, optional): Location name - address (string, optional): Location address Returns: Message ID and de

whatsapp_send_contact

Send a contact card to a WhatsApp user. Args: - to (string): Recipient phone number - first_name (string): Contact first name - last_name (string, optional): Contact last name - phone (string): Contact phone number - email (string, optional): Contact email Returns: Message ID and deliv

whatsapp_send_reaction

Send a reaction emoji to an existing message. Args: - to (string): Phone number of the conversation - message_id (string): wamid of the message to react to - emoji (string): Emoji character (e.g. '👍') Returns: Confirmation of reaction sent.

whatsapp_send_buttons

Send a message with up to 3 reply buttons. Args: - to (string): Recipient phone number - body_text (string): Main message body - buttons (string): JSON array of buttons: [{"id":"btn1","title":"Yes"},{"id":"btn2","title":"No"}] - header_text (string, optional): Header text - footer_text (s

whatsapp_send_list

Send a message with a menu list of options. Args: - to (string): Recipient phone number - body_text (string): Main message body - button_text (string): Text on the list menu button - sections (string): JSON array of sections with rows - header_text (string, optional): Header text - foot

whatsapp_mark_as_read

Mark a received WhatsApp message as read (shows blue checkmarks). Args: - message_id (string): The wamid of the message to mark as read Returns: Confirmation.

// known CVEs in dependencies3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.12.1GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.12.1GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.12.1GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configTRANSPORTexport ="stdio" # "stdio" (default) or "http"
🔐 secretWHATSAPP_ACCESS_TOKENexport ="your_access_token"
configWHATSAPP_API_VERSIONexport ="v23.0" # Default: v23.0
configWHATSAPP_BUSINESS_ACCOUNT_IDexport ="your_waba_id" # Required for template operations
configWHATSAPP_PHONE_NUMBER_IDexport ="your_phone_number_id"
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

Tool inputs are validated

Only 0/13 tool handlers declare input schemas (0%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

Only 4/13 tool handlers wrap calls in try/catch (31%)

Wrap each tool handler body in try/catch and return a structured error response.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Production dependencies are patched

0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.12.1 (high), @modelcontextprotocol/sdk@1.12.1 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/rukman7/whatsapp-mcp-server?variant=verified)](https://m8ven.ai/mcp/rukman7/whatsapp-mcp-server)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: b1f00254daf71420909309bf32602acc2a1d5d49
code hash: 7948e93b684dcb1f9bd2f4e009e5c72659950d190ca0db75dcd4337c546bef08
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client