Token导航 LogoToken导航TokenDH.com
Whatsapp Bot logo
AI代理未说明官方级别未说明来源级核验

Whatsapp Bot

MCP Server

一款集成Claude AI的WhatsApp群聊机器人,通过@mota触发响应并使用MCP服务器发送消息。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
JavaScriptClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

akshatsonic

提供方

akshatsonic

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

WhatsApp机器人与克劳德AI(@mota)

一个WhatsApp机器人,使用Claude AI来回应群聊中提到的@mota。与WhatsApp MCP服务器集成,用于消息发送。

建筑

WhatsApp Group → whatsapp-web.js (receives) → Bot → Claude AI
                                               ↓
                                          MCP Server → WhatsApp (sends)

特性

  • 🤖 Claude AI集成 -由Anthropic的克劳德3.5十四行诗提供支持
  • 📥 排队系统 -进程@mota每5秒提及一次
  • 🔌 WhatsApp MCP集成 -使用MCP服务器发送消息
  • 💬 引用的回复 -回复与原始问题相关的消息
  • 💾 SQLite队列 -失败时重试的持久队列
  • 🔐 会话保持 -首次登录后不扫描二维码

运作原理

  1. 接收:Bot通过监听 whatsapp-web.js 为了 @mota 提及
  2. 队列:消息已添加到SQLite队列
  3. 过程:每5秒:

- 从队列中提取问题 - 发送给Claude AI - 获取克劳德的回复

  1. 发送:使用WhatsApp MCP发送回复(引用到原始消息)
  2. 完成:从队列中删除

设置

1.安装依赖项

npm install

2.获取Anthropic API密钥

  1. 首选https://console.anthropic.com/settings/keys
  2. 创建新的API密钥
  3. 复制密钥

3.启动WhatsApp MCP服务器

该机器人需要WhatsApp MCP服务器来发送消息:

# In another terminal, start your WhatsApp MCP server on port 8080
# Example: whatsapp-mcp with streamable HTTP transport

4.配置环境变量

创建一个 .env 项目根目录中的文件:

# Anthropic API Key (required)
ANTHROPIC_API_KEY=sk-ant-api03-your-key-here

# WhatsApp MCP Server URL (optional, default: http://localhost:8080)
WHATSAPP_MCP_URL=http://localhost:8080

# Claude Model (optional, default: sonnet)
CLAUDE_MODEL=claude-3-5-sonnet-20241022

或者从示例中复制:

cp .env.example .env
# Then edit .env and add your settings

5.启动Bot

npm start

第一次:

  • 出现提示时扫描二维码
  • 会话将被保存以备将来启动

后续开始:

  • 无需二维码!
  • Bot自动加载已保存的会话

用法

在WhatsApp群聊中:

User: @mota what is the capital of France?
Bot: [Quoted reply via MCP] Paris is the capital of France...

User: @mota explain quantum computing
Bot: [Quoted reply via MCP] Quantum computing is a type of computation that...

检测模式:

  • @mota -直接提问
  • hey @mota what's up -嵌入式提及
  • 必须在a 群聊 (DM被忽略)

MCP集成

为什么选择MCP?

使用WhatsApp MCP服务器发送提供:

  • ✅ 关注点分离(接收与发送)
  • ✅ 更好的可靠性和错误处理
  • ✅ 可以重用现有的MCP基础设施
  • ✅ 支持通过以下方式引用回复 quoted_id 参数

MCP消息格式

机器人使用JSON-RPC 2.0发送消息:

{
  "jsonrpc": "2.0",
  "id": 1234567890,
  "method": "tools/call",
  "params": {
    "name": "send_message",
    "arguments": {
      "jid": "916388394774-1578743792@g.us",
      "message": "Claude's response here",
      "quoted_id": "original_message_id"
    }
  }
}

MCP服务器要求

您的WhatsApp MCP服务器必须:

  1. ✅ 公开HTTP端点(默认值:http://localhost:8080)
  2. ✅ 支持 send_message 工具
  3. ✅ 接受 jid, message,以及 quoted_id 参数
  4. ✅ 通过身份验证并连接到WhatsApp

数据库

机器人使用SQLite来管理队列:

地点: ./whatsapp_bot.db

架构:

mota_queue:
  - id (auto-increment)
  - message_id (unique)
  - chat_id, chat_name, group_id
  - sender_id, sender_name
  - message_text, question
  - timestamp, status (pending/processing)

检查队列:

node check_db.js

配置

选择您的克劳德模型

该机器人支持三种克劳德模型:

型号速度成本最适合
俳句 (claude-3-5-haiku-20241022)⚡⚡⚡$简单问答,量大
十四行诗 (claude-3-5-sonnet-20241022)⚡⚡$$通用 (默认)
作品 (claude-3-opus-20240229)$$$复杂推理

更改模型 .env:

# Fast & cheap
CLAUDE_MODEL=claude-3-5-haiku-20241022

# Balanced (default)
CLAUDE_MODEL=claude-3-5-sonnet-20241022

# Most capable
CLAUDE_MODEL=claude-3-opus-20240229

CLAUDE_MODELS.md 用于详细比较和成本估算。

环境变量

变量必填默认描述
ANTHROPIC_API_KEY✅ 是-您的人类API密钥
WHATSAPP_MCP_URL⚠️ 可选http://localhost:8080WhatsApp MCP服务器URL
CLAUDE_MODEL⚠️ 可选claude-3-5-sonnet-20241022克劳德模型(俳句/十四行诗/小品)

队列处理间隔

默认值:每5秒

要更改,请编辑 index.js:

setInterval(() => processMotaQueue(), 5000); // milliseconds

最大令牌数

默认值:每个响应1024个令牌

要更改,请编辑 index.js:

max_tokens: 1024, // increase for longer responses

文件结构

whatsapp-bot/
├── index.js           # Main bot logic
├── db.js              # Database management
├── check_db.js        # Queue inspection tool
├── .env               # API keys & config (gitignored)
├── .env.example       # Template for .env
├── package.json       # Dependencies
├── whatsapp_bot.db    # SQLite database (gitignored)
└── .wwebjs_auth/      # WhatsApp session (gitignored)

故障排除

“找不到ANTHROPIC_API_KEY”

  • 确保 .env 文件存在于项目根目录中
  • 检查是否设置了API密钥: ANTHROPIC_API_KEY=sk-...
  • 添加密钥后重新启动机器人

“无法连接到WhatsApp MCP”

  • 确保您的WhatsApp MCP服务器正在运行
  • 在中检查URL .env: WHATSAPP_MCP_URL=http://localhost:8080
  • 验证MCP服务器是否经过身份验证并已连接

机器人不响应@mota

  • 确保它是一个 群聊 (非DM)
  • 检查队列: node check_db.js
  • 查看机器人日志中的错误消息
  • 验证两个WhatsApp会话都处于活动状态(接收和MCP)

每次出现二维码

  • 检查是否 .wwebjs_auth/ 文件夹存在
  • 不要删除此文件夹
  • 确保机器人正常关闭(Ctrl+C)

API成本

拟人克劳德定价(截至2024年):

  • 克劳德3.5十四行诗:每百万输入代币约3美元,每百万输出代币约15美元
  • 平均消息:每个响应约0.01-0.03美元

监控使用情况:https://console.anthropic.com/settings/usage

发展

调试队列

node check_db.js

测试MCP连接

curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "send_message",
      "arguments": {
        "jid": "YOUR_CHAT_ID",
        "message": "Test message"
      }
    }
  }'

清除队列

sqlite3 whatsapp_bot.db "DELETE FROM mota_queue;"

重置所有内容

rm -rf whatsapp_bot.db .wwebjs_auth/
npm start
# Will need to scan QR code again

许可证

ISC

目录标签

目录标签

JavaScriptClaudeAI代理WhatsApp机器人本地部署AI聊天群聊助手消息队列Claude集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP