mcpField
πŸš€
πŸš€ Chatterbox MCP Server

πŸš€ Chatterbox MCP Server

Local
github.com/RuandvCommunication0Updated 60w ago

About πŸš€ Chatterbox MCP Server

Chatterbox MCP Server provides WhatsApp functionality through MCP tools for personal use. It separates the MCP server from a REST API service that handles WhatsApp Web integration.

Key features

  1. 01WhatsApp MCP tools
  2. 02MCP resources
  3. 03Separate WhatsApp REST API service
  4. 04File-based secret storage
  5. 05Docker builds for each service

Use cases

  1. 01Use WhatsApp functions from an MCP client
  2. 02Authenticate WhatsApp with a QR code
  3. 03Develop or deploy the two services separately

MCP support

The MCP server exposes WhatsApp operation tools and resources to MCP clients, and calls the WhatsApp service through an HTTP API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json Β· Universal config
{
"mcpServers": {
"chatterbox_mcp_server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
Run commanddocker run -i --rm build

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocibuild

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

πŸš€ Chatterbox MCP Server (indexed and certified by MCPHub)

This repository contains two main components:

πŸ€– MCP Server (mcp_server/)

The Model Context Protocol server that provides WhatsApp functionality through MCP tools.

Key files:

  • mcp_server/src/server.ts - Main MCP server
  • mcp_server/src/model/tools.ts - MCP tools for WhatsApp operations
  • mcp_server/src/model/resources.ts - MCP resources

Usage:

cd mcp_server
npm install
npm run dev

πŸ“± WhatsApp Server (whatsappServer/)

The REST API server that handles actual WhatsApp Web integration.

Key files:

  • whatsappServer/src/server.ts - Main Express server
  • whatsappServer/src/services/whatsappService.ts - WhatsApp Web.js integration
  • whatsappServer/src/controllers/whatsappController.ts - API endpoints

Usage:

cd whatsappServer
npm install
npm run dev

πŸ”§ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    HTTP API    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 β”‚    Calls       β”‚                 β”‚
β”‚   MCP Server    β”‚ ─────────────► β”‚ WhatsApp Server β”‚
β”‚                 β”‚                β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                                   β”‚
        β”‚                                   β”‚
        β–Ό                                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  MCP Client     β”‚                β”‚  WhatsApp Web   β”‚
β”‚  (Claude, etc)  β”‚                β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
πŸ“ Project Structure
chatterbox_mcp_server/
β”œβ”€β”€ mcp_server/
β”‚   β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ secrets/                    # Secret files for MCP server
β”‚   β”‚   β”œβ”€β”€ CHATTERBOX_SECRET
β”‚   β”‚   └── WHATSAPP_SERVER_URL
β”‚   └── package.json
β”œβ”€β”€ whatsappServer/
β”‚   β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ secrets/                    # Secret files for WhatsApp server
β”‚   β”‚   β”œβ”€β”€ CHATTERBOX_SECRET
β”‚   β”‚   β”œβ”€β”€ PORT
β”‚   β”‚   └── HEADLESS
β”‚   └── package.json
└── package.json

πŸš€ Quick Start

  1. Set up secrets:

    # MCP Server secrets (in mcp_server/secrets/)
    echo "your_secret_here" > mcp_server/secrets/CHATTERBOX_SECRET
    echo "http://localhost:3004" > mcp_server/secrets/WHATSAPP_SERVER_URL
    
    # WhatsApp Server secrets (in whatsappServer/secrets/)
    echo "your_secret_here" > whatsappServer/secrets/CHATTERBOX_SECRET
    echo "3004" > whatsappServer/secrets/PORT
    echo "true" > whatsappServer/secrets/HEADLESS
    
  2. Install dependencies:

    npm run install:all
    
  3. Start WhatsApp Server:

    npm run dev:whatsapp
    
  4. Start MCP Server:

    npm run dev:mcp
    
  5. Authenticate WhatsApp:

    • Visit http://localhost:3004/qr to get QR code
    • Scan with WhatsApp mobile app

πŸ› οΈ Development

Each component can be developed independently:

  • MCP Server focuses on MCP protocol implementation
  • WhatsApp Server handles WhatsApp Web integration and API endpoints

πŸ“‹ Required Secrets

Both servers use file-based secrets instead of environment variables for better security. Each secret is stored in a separate file within the secrets/ folder.

MCP Server (mcp_server/secrets/)
  • CHATTERBOX_SECRET - Authentication secret for API calls to WhatsApp server
  • WHATSAPP_SERVER_URL - URL of the WhatsApp server (e.g., http://localhost)
  • SERVER_PORT - Port on which the server is listening on (e.g., 3004)
WhatsApp Server (whatsappServer/secrets/)
  • CHATTERBOX_SECRET - Authentication secret (must match MCP server secret)
  • PORT - Server port number (e.g., 3004)
  • HEADLESS - Run WhatsApp in headless mode (true or false)

Note: The CHATTERBOX_SECRET must be the same in both servers for authentication to work.

🐳 Docker

Each component has its own Dockerfile for containerization:

# WhatsApp Server
cd whatsappServer
docker build -t whatsapp-server .

# MCP Server
cd mcp_server
docker build -t mcp-server .

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.