chatterbox_mcp_server

Ruandv/chatterbox_mcp_server

3.1

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 dayong@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 .