chatterbox_mcp_server

Ruandv/chatterbox_mcp_server

3.2

If you are the rightful owner of chatterbox_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.

Chatterbox MCP Server is a Model Context Protocol implementation designed for seamless integration with AI models and tools like WhatsApp.

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

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 .