# nakulben/whatsapp-mcp [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/nakulben/whatsapp-mcp  
**GitHub Stars:** 3  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/nakulben-whatsapp-mcp

## Description
WhatsApp Business API template management via Meta Cloud API. Create, validate, and send all 12 template types (text, image, video, document, location, authentication, carousel, coupon, catalog, MPM, limited-time offer, and flows) from any MCP client.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "whatsapp-mcp": {
    "command": "uvx",
    "args": ["pytest"],
    "env": {
      "META_ACCESS_TOKEN": "",
      "META_WABA_ID": "",
      "META_PHONE_NUMBER_ID": "",
      "META_APP_ID": "",
      "META_API_VERSION": ""
    }
  }
}
```

**Requires environment variables:** `META_ACCESS_TOKEN`, `META_WABA_ID`, `META_PHONE_NUMBER_ID`, `META_APP_ID`, `META_API_VERSION` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What nakulben/whatsapp-mcp MCP server does

nakulben/whatsapp-mcp MCP server connects MCP clients to the WhatsApp Business features exposed by Meta Cloud API. It covers the template lifecycle: prepare and validate a payload, submit it for Meta approval, inspect its state, and send an approved template to one or more phone numbers.

The project supports WhatsApp template formats including text, image, video, document, location, authentication, carousel, coupon, catalog, multi-product message, limited-time offer, and flows. The README also describes structural variants such as single-product messages and product cards within Meta’s template model.

## How it works

The server provides eight MCP tools: `validate_template`, `create_template`, `list_templates`, `get_template_detail`, `check_template_status`, `delete_template`, `send_template_message`, and `send_bulk_template_messages`. Listing can filter templates by status, category, or name. Detail and status operations use a template ID, while deletion uses a template name.

nakulben/whatsapp-mcp MCP server supports three transport modes. Stdio is the default for local clients such as Claude Desktop, Cursor, VS Code, and Windsurf. SSE is available for legacy remote clients, while streamable HTTP supports newer remote MCP connections. Hosted deployments can set a listening host and port.

## Setup and configuration

The repository is a Python project requiring Python 3.10 or later. The documented local setup clones the repository, creates a virtual environment, activates it, and installs dependencies from `requirements.txt`. The server starts with `python -m whatsapp_mcp` for stdio, or with a transport option for SSE or streamable HTTP.

Required configuration consists of `META_ACCESS_TOKEN`, `META_WABA_ID`, and `META_PHONE_NUMBER_ID`. `META_APP_ID` is optional and is used for media uploads. `META_API_VERSION` is also optional and defaults to `v24.0`. These variables apply to local and hosted modes. Remote HTTP requests may instead supply credentials through a base64-encoded Bearer token or the documented `X-Meta-*` headers; absent request credentials, the server uses its environment variables.

## Tools and capabilities

nakulben/whatsapp-mcp MCP server can validate a payload before submission, create templates for Meta review, list and inspect existing templates, check approval status, and remove templates by name. After approval, it can send a template to one phone number or send the same approved template to multiple numbers.

The README shows use with Claude, ChatGPT through the Responses API, Cursor, VS Code Copilot, Windsurf, and other MCP-compatible clients. Claude.ai and ChatGPT require a publicly reachable HTTPS deployment for remote connections; ChatGPT supports streamable HTTP and SSE.

## Limitations and notes

This server operates on WhatsApp Business accounts through Meta Cloud API and requires valid Meta credentials and account identifiers. Claude.ai does not send custom request headers, so its hosted configuration must have credentials set on the server. Each hosted instance serves one WhatsApp Business Account. ChatGPT does not support local stdio connections and therefore requires a public HTTPS endpoint. The README documents authless or OAuth-based connector access for Claude.ai, but the server’s WhatsApp credentials still need to be configured through its environment or supported request methods.

_Full upstream README: https://allmcps.com/mcp/nakulben-whatsapp-mcp/readme_

