Whatsapp-MCP-Server
If you are the rightful owner of Whatsapp-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A comprehensive Model Context Protocol (MCP) server for interacting with the WhatsApp Business API.
WhatsApp Business API MCP Server
A comprehensive Model Context Protocol (MCP) server for interacting with the WhatsApp Business API.
## Features
- Send various types of messages (text, template, media, interactive)
- Manage message templates
- Upload and manage media files
- Update business profile information
- Manage phone numbers
- Configure webhooks
## Prerequisites
- Node.js 16 or higher
- WhatsApp Business API credentials:
- API Token
- Phone Number ID
- Business Account ID
## Installation
```bash
npm install whatsapp-business-mcp-server
```
Or run directly with npx:
```bash
npx whatsapp-business-mcp-server
```
## Configuration
Create a `.env` file with your WhatsApp Business API credentials:
```
WHATSAPP_API_TOKEN=your_api_token_here
WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id_here
WHATSAPP_BUSINESS_ACCOUNT_ID=your_business_account_id_here
WHATSAPP_API_VERSION=v18.0
```
## Usage
### Starting the Server
```bash
npm start
```
### Development Mode
```bash
npm run dev
```
### Using with MCP Inspector
```bash
npm run inspect
```
## Available Tools
### Messaging
- `sendTextMessage` - Send a text message
- `sendTemplateMessage` - Send a template message
- `sendImageMessage` - Send an image
- `sendDocumentMessage` - Send a document
- `sendVideoMessage` - Send a video
- `sendLocationMessage` - Send a location
- `sendContactMessage` - Send contact information
- `sendInteractiveMessage` - Send interactive messages
- `markMessageAsRead` - Mark a message as read
### Media
- `uploadMedia` - Upload media to WhatsApp servers
- `getMediaUrl` - Get the URL for a media file
- `deleteMedia` - Delete media from WhatsApp servers
### Templates
- `getMessageTemplates` - Get message templates
- `createMessageTemplate` - Create a message template
### Business Profile
- `getBusinessProfile` - Get business profile information
- `updateBusinessProfile` - Update business profile
### Phone Numbers
- `getPhoneNumbers` - Get phone numbers
- `getPhoneNumberById` - Get phone number details
- `requestVerificationCode` - Request verification code
- `verifyCode` - Verify a phone number
### Webhooks
- `getWebhookInfo` - Get webhook information
- `subscribeWebhook` - Subscribe to webhooks
- `deleteWebhookSubscription` - Delete webhook subscription
## Available Resources
- `whatsapp://templates` - List all templates
- `whatsapp://templates/{category}` - List templates by category
- `whatsapp://template/{name}` - Get template details
- `whatsapp://business-profile` - View business profile
- `whatsapp://phone-numbers` - List phone numbers
- `whatsapp://phone-number/{id}` - Get phone number details
- `whatsapp://docs` - API documentation
## License
MIT