FW

felixisaac/whatsapp-mcp-extended

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

43 stars 29 forks 质量 83 趋势 33MIT

主动维护的 WhatsApp MCP — 26 个工具,webhook,防封禁,Docker,自我修复。为废弃的 lharries/whatsapp-mcp 提供临时访问。

概览

一个扩展的 WhatsApp 模型上下文协议(MCP)服务器,拥有工具集门控、面向代理的表面,用于消息、搜索、媒体、群组管理、webhook、在线状态等功能。 基于 AdamRussak/whatsapp-mcp(webhooks,容器),分支了 lharries/whatsapp-mcp(原始)。扩展了反应、消息编辑、投票、群组管理、在线状态、新闻通讯等功能。 添加到你的MCP配置(claude_desktop_config.json或光标设置): 为了限制外发消息的传递范围为指定的允许联系人或组(适用于开发环境或企业隐私门),设置WHATSAPP_ALLOWLIST_JIDS: 0.3.0版本默认开放完整的策划MCP表面以保证兼容性。想要更精简代理上下文的用户可以选择使用更小的工具集。 你也可以用 WHATSAPP_MCP_TOOLS=manage_group,delete_message 来暴露单个工具。 0.2.0 中的破坏性变更:旧的窄工具不再暴露于 Agent。请使用下面合并的替换工具。

概述(AI 翻译)

一个扩展的 WhatsApp 模型上下文协议(MCP)服务器,拥有工具集门控、面向代理的表面,用于消息、搜索、媒体、群组管理、webhook、在线状态等功能。

基于 AdamRussak/whatsapp-mcp(webhooks、containers)构建,分支了 lharries/whatsapp-mcp(原始版本)。扩展功能包括反应、消息编辑、投票、群组管理、在线状态、新闻通讯等功能。

新事物(与原版相比)

特色 原版 扩展版
MCP工具 12 26 默认 / 15 lean
反应 - ✅
编辑/删除消息 - ✅
集团管理 - ✅
民调 - ✅
历史同步 - ✅
在线状态/在线状态 - ✅
通讯 - ✅
Webhooks - ✅
自定义昵称 - ✅

建筑

快速启动

Docker (推荐)

Claude 桌面 / 光标集成

添加到你的MCP配置(claude_desktop_config.json或光标设置):

安全与安全门(允许名单)

为了限制外发消息的传递到指定的允许联系人或组(对开发环境或企业隐私门非常有用),设置 WHATSAPP_ALLOWLIST_JIDS:

MCP工具

版本是0.4。

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

WhatsApp MCP Extended

An extended Model Context Protocol (MCP) server for WhatsApp with a toolset-gated, agent-facing surface for messaging, search, media, group management, webhooks, presence, and more.

Built on AdamRussak/whatsapp-mcp (webhooks, containers) which forked lharries/whatsapp-mcp (original). Extended with reactions, message editing, polls, group management, presence, newsletters, and more.

What’s New (vs Original)

Feature Original Extended
MCP Tools 12 26 default / 15 lean
Reactions - ✅
Edit/Delete Messages - ✅
Group Management - ✅
Polls - ✅
History Sync - ✅
Presence/Online Status - ✅
Newsletters - ✅
Webhooks - ✅
Custom Nicknames - ✅

Architecture

┌─────────────────────┐     ┌─────────────────────┐     ┌─────────────────────┐
│   whatsapp-bridge   │     │   whatsapp-mcp      │     │   whatsapp-web-ui   │
│   (Go + whatsmeow)  │◄────│   (Python + MCP)    │     │   (HTML/JS SPA)     │
│   Port: 8080        │     │   Port: 8081        │     │   Port: 8090        │
└─────────────────────┘     └─────────────────────┘     └─────────────────────┘
         │                           │
         ▼                           ▼
    ┌─────────────────────────────────────┐
    │           SQLite (store/)           │
    │  messages.db │ whatsapp.db          │
    └─────────────────────────────────────┘

Quick Start

git clone https://github.com/felixisaac/whatsapp-mcp-extended
cd whatsapp-mcp-extended

docker network create n8n_n8n_traefik_network
docker-compose up -d

# Scan QR code to authenticate
docker-compose logs -f whatsapp-bridge

Claude Desktop / Cursor Integration

Add to your MCP config (claude_desktop_config.json or Cursor settings):

{
  "mcpServers": {
    "whatsapp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/whatsapp-mcp-extended/whatsapp-mcp-server", "python", "main.py"]
    }
  }
}

Security & Safety Gate (Allowlist)

To restrict outgoing message delivery to a specified set of allowed contacts or groups (useful for dev environments or enterprise privacy gates), set WHATSAPP_ALLOWLIST_JIDS:

# Allow sending only to specific phone numbers or group JIDs (comma-separated)
WHATSAPP_ALLOWLIST_JIDS=1234567890,[email protected],[email protected]

MCP Tools

Version 0.4.0 exposes the full curated MCP surface by default for compatibility. Users who want a leaner agent context can opt into smaller toolsets.

Default toolsets:

WHATSAPP_MCP_TOOLSETS=all

Lean recommended toolsets:

WHATSAPP_MCP_TOOLSETS=core,send,media

Toolsets:

Toolset Default Tools
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "whatsapp": { "command": "uv", "args": ["run", "--directory", "/path/to/whatsapp-mcp-extended/whatsapp-mcp-server", "python", "main.py"] } } }