mcpField
🚀
🚀 Chatterbox MCP Server

🚀 Chatterbox MCP Server

本地服务
github.com/Ruandv通信协作060 周前更新

关于 🚀 Chatterbox MCP Server

Chatterbox MCP Server 通过 MCP 工具为个人用途提供 WhatsApp 功能。项目将 MCP 服务与负责 WhatsApp Web 集成的 REST API 服务分开运行。

主要功能

  1. 01提供 WhatsApp MCP 工具
  2. 02提供 MCP 资源
  3. 03独立的 WhatsApp REST API 服务
  4. 04文件形式存储密钥
  5. 05支持 Docker 构建

适用场景

  1. 01从 MCP 客户端使用 WhatsApp 功能
  2. 02通过 QR 码认证 WhatsApp
  3. 03分别开发或部署两项服务

MCP 相关

MCP 服务向 MCP 客户端提供 WhatsApp 操作工具和资源,并通过 HTTP API 调用 WhatsApp 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chatterbox_mcp_server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🚀 Chatterbox MCP Server(已由 MCPHub 收录并认证)

此仓库包含两个主要组件:

🤖 MCP 服务(mcp_server/)

通过 MCP 工具提供 WhatsApp 功能的模型上下文协议服务。

主要文件:

  • mcp_server/src/server.ts - 主 MCP 服务
  • mcp_server/src/model/tools.ts - 用于 WhatsApp 操作的 MCP 工具
  • mcp_server/src/model/resources.ts - MCP 资源

用法:

cd mcp_server
npm install
npm run dev

📱 WhatsApp 服务(whatsappServer/)

处理实际 WhatsApp Web 集成的 REST API 服务。

主要文件:

  • whatsappServer/src/server.ts - 主 Express 服务
  • whatsappServer/src/services/whatsappService.ts - WhatsApp Web.js 集成
  • whatsappServer/src/controllers/whatsappController.ts - API 端点

用法:

cd whatsappServer
npm install
npm run dev

🔧 架构

┌─────────────────┐    HTTP API    ┌─────────────────┐
│                 │    Calls       │                 │
│   MCP Server    │ ─────────────► │ WhatsApp Server │
│                 │                │                 │
└─────────────────┘                └─────────────────┘
        │                                   │
        │                                   │
        ▼                                   ▼
┌─────────────────┐                ┌─────────────────┐
│  MCP Client     │                │  WhatsApp Web   │
│  (Claude, etc)  │                │                 │
└─────────────────┘                └─────────────────┘
📁 项目结构
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

🚀 快速开始

  1. 设置密钥:

    # 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. 安装依赖:

    npm run install:all
    
  3. 启动 WhatsApp 服务:

    npm run dev:whatsapp
    
  4. 启动 MCP 服务:

    npm run dev:mcp
    
  5. 验证 WhatsApp 身份:

    • 访问 http://localhost:3004/qr 获取二维码
    • 使用 WhatsApp 移动应用扫描

🛠️ 开发

每个组件都可以独立开发:

  • MCP 服务专注于 MCP 协议实现
  • WhatsApp 服务负责 WhatsApp Web 集成和 API 端点

📋 所需密钥

为了提高安全性,两个服务都使用基于文件的密钥,而不是环境变量。每个密钥都存储在 secrets/ 文件夹中的单独文件里。

MCP 服务(mcp_server/secrets/)
  • CHATTERBOX_SECRET - 用于向 WhatsApp 服务发起 API 调用的身份验证密钥
  • WHATSAPP_SERVER_URL - WhatsApp 服务的 URL(例如,http://localhost)
  • SERVER_PORT - 服务监听的端口(例如,3004)
WhatsApp 服务(whatsappServer/secrets/)
  • CHATTERBOX_SECRET - 身份验证密钥(必须与 MCP 服务的密钥一致)
  • PORT - 服务端口号(例如,3004)
  • HEADLESS - 以无头模式运行 WhatsApp(true 或 false)

注意: 两个服务中的 CHATTERBOX_SECRET 必须相同,身份验证才能正常工作。

🐳 Docker

每个组件都有自己的 Dockerfile,用于容器化:

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

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。