WhatsApp MCP Server

WhatsApp MCP Server

一个 Python 服务器,它使像 Claude 这样的语言模型能够通过 GreenAPI 与 WhatsApp Business API 交互,支持发送消息和管理群组等功能。 (Alternative, slightly more detailed version:) 一个 Python 服务器,旨在让像 Claude 这样的语言模型能够通过 GreenAPI 接口与 WhatsApp Business API 进行通信和交互。 该服务器支持诸如发送消息和管理 WhatsApp 群组等功能。

Category
访问服务器

Tools

open_session

Open a new WhatsApp session.

send_message

Send a message to a chat. Parameters: - phone_number: The phone number of the recipient - content: The content of the message to send - reply_to: ID of the message to reply to (optional)

get_chats

Get a list of chats. Parameters: - limit: Maximum number of chats to return (default: 50) - offset: Offset for pagination (default: 0)

create_group

Create a new WhatsApp group. Parameters: - group_name: Name of the group to create - participants: List of participant phone numbers

get_group_participants

Get the participants of a WhatsApp group. Parameters: - group_id: The WhatsApp ID of the group

README

WhatsApp MCP 服务器

一个提供模型上下文协议 (MCP) 接口,使用 FastMCP 与 WhatsApp Business API 交互的服务器。

简介

WhatsApp MCP 服务器是一个 Python 实现,它使像 Claude 这样的语言模型能够通过 GreenAPI 与 WhatsApp 功能进行交互。它利用 FastMCP 来提高性能、改善开发者体验并提供更简洁的实现。

功能

  • 消息传递: 向 WhatsApp 联系人发送文本消息
  • 群组管理: 创建群组、列出成员、添加/删除参与者
  • 会话处理: 管理 WhatsApp API 会话
  • 聊天记录: 检索聊天列表和消息历史记录

WhatsApp API 客户端

本项目使用 whatsapp-api-client-python 库与 WhatsApp 交互。该客户端提供对 WhatsApp Cloud API 的访问,使用该 API 需要一个 GreenAPI 帐户。

环境变量

本项目使用环境变量进行配置:

  • GREENAPI_ID_INSTANCE: 您的 GreenAPI ID 实例
  • GREENAPI_API_TOKEN: 您的 GreenAPI API 令牌

您可以在您的环境中设置这些变量,或者使用提供的 .env 文件(请参阅安装说明)。

安装

# 克隆仓库
git clone https://github.com/yourusername/whatsapp-mcp-server.git
cd whatsapp-mcp-server

# 安装依赖
pip install -e .

# 设置环境变量
cp .env-template .env
# 使用您的 GreenAPI 凭据编辑 .env 文件

用法

运行 MCP 服务器:

# 在默认主机 (127.0.0.1) 和端口 (8000) 上运行 MCP 服务器
whatsapp-mcp

# 指定主机和端口
whatsapp-mcp --host 0.0.0.0 --port 9000

用于调试:

whatsapp-mcp --debug

该服务器使用模型上下文协议 (MCP) 进行通信,并且在使用 FastMCP 运行时可以通过 HTTP 或 WebSockets 访问。

可用工具

  • open_session: 打开一个新的 WhatsApp 会话
  • send_message: 向聊天发送消息
  • get_chats: 获取聊天列表
  • create_group: 创建一个新的 WhatsApp 群组
  • get_group_participants: 获取群组的参与者

FastMCP API 参考

WhatsApp MCP 服务器使用 FastMCP 提供 WebSocket 和 HTTP 端点:

  • WebSocket: ws://localhost:8000/mcp
  • HTTP: http://localhost:8000/mcp

您可以使用 curl 等工具直接测试 API:

# 列出可用工具
curl -X POST http://localhost:8000/mcp/listTools

# 调用工具
curl -X POST http://localhost:8000/mcp/callTool \
  -H "Content-Type: application/json" \
  -d '{"name": "open_session", "arguments": {}}'

如何将其添加到 Claude Code

要将 WhatsApp 服务器添加到 Claude,请使用 claude mcp add 命令:

# 添加 WhatsApp MCP 服务器
$ claude mcp add whatsapp -- whatsapp-mcp

# 列出现有的 MCP 服务器 - 验证服务器是否正在运行
claude mcp list

# 启动 claude code
claude

与 Claude 一起使用

一旦 WhatsApp MCP 服务器正在运行,您就可以在对话中使用 Claude 与其进行交互:

使用 WhatsApp 验证

登录到 WhatsApp

发送消息

向 John Doe 发送 "Hello" 消息

与 Claude Desktop 一起使用

要将 WhatsApp MCP 服务器与 Claude Desktop 一起使用,您需要将其添加到您的 claude_desktop_config.json 文件中:

使用 pip 安装(推荐)

"mcpServers": {
  "whatsapp": {
    "command": "python",
    "args": ["-m", "whatsapp_mcp"]
  }
}

使用可执行文件

"mcpServers": {
  "whatsapp": {
    "command": "whatsapp-mcp"
  }
}

使用 Docker

"mcpServers": {
  "whatsapp": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "-e", "GREENAPI_ID_INSTANCE=your_instance_id", "-e", "GREENAPI_API_TOKEN=your_api_token", "whatsapp-mcp-server"]
  }
}

请记住在启动 Claude Desktop 之前,将您的 GreenAPI 凭据设置为环境变量或在您的 .env 文件中。

命令行选项

WhatsApp MCP 服务器接受以下命令行参数:

  • --debug: 增加调试的详细程度
  • --host: 将服务器绑定到的主机 (默认: 127.0.0.1)
  • --port: 将服务器绑定到的端口 (默认: 8000)

调试

对于调试 MCP 服务器:

  • 使用 MCP inspector: npx @modelcontextprotocol/inspector whatsapp-mcp
  • 在您的 Claude Desktop 日志目录中查看日志(通常在 macOS 上为 ~/Library/Logs/Claude/
  • 访问 FastMCP Web 界面,地址为 http://localhost:8000,以获取交互式 API 文档

开发

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

# 运行 linting
flake8 src/

# 运行类型检查
mypy src/

该项目使用现代的 pyproject.toml 配置,其中包括:

  • 运行应用程序所需的核心依赖项
  • 使用 pip install -e ".[dev]" 可用的开发依赖项

许可证

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选