The SSE protocol will be deprecated soon. Please use streamable-http as the connectionType moving forward.

Prerequisites

1. Create a WhatsApp MCP Server

Use the following endpoint to create a new remote WhatsApp MCP server instance:

Request

from klavis import Klavis
from klavis.types import McpServerName, ConnectionType

klavis_client = Klavis(api_key="<YOUR_API_KEY>")

# Create a WhatsApp MCP server instance
whatsapp_server = klavis_client.mcp_server.create_server_instance(
    server_name=McpServerName.WHATSAPP,
    user_id="<YOUR_USER_ID>",
    platform_name="<YOUR_PLATFORM_NAME>",
    connection_type=ConnectionType.STREAMABLE_HTTP,
)

Response

{
  "serverUrl": "https://whatsapp-mcp-server.klavis.ai/sse?instance_id=<instance-id>",
  "instanceId": "<instance-id>"
}
serverUrl specifies the endpoint of the WhatsApp MCP server, which allows you to send messages and manage conversations through WhatsApp Business API.
instanceId is used for authentication and identification of your server instance.

2. Configure WhatsApp API Key

To use the WhatsApp MCP Server, you need to configure it with your WhatsApp Business API key.

Setting up WhatsApp API Key

curl --request POST \
  --url https://api.klavis.ai/mcp-server/instance/set-auth-token \
  --header 'Authorization: Bearer <YOUR_KLAVIS_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
  "instanceId": "<YOUR_INSTANCE_ID>",
  "authToken": "<YOUR_WHATSAPP_API_KEY>"
}'

Response

{
  "success": true,
  "message": "<string>"
}

Explore MCP Server Tools