WhatsApp MCP服务器

一个通过FastMCP提供WhatsApp Business API交互的模型上下文协议(MCP)接口服务器,支持消息发送、群组管理和会话处理等功能。

  • by msaelices
  • Python
  • 本地部署
  • 27 星标
  • 更新于
在 GitHub 查看 msaelices/whatsapp-mcp-server

使用说明

WhatsApp MCP服务器

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

引言

WhatsApp MCP Server是一个Python实现,它使像Claude这样的语言模型能够通过以下方式与WhatsApp功能进行交互 绿色API。它利用FastMCP来提高性能、更好的开发人员体验和更清晰的实现。

特性

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

WhatsApp API客户端

该项目使用 whatsapp-api-client-python 图书馆与WhatsApp互动。客户端提供对WhatsApp云API的访问,这需要 绿色API 帐户使用。

环境变量

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

  • GREENAPI_ID_INSTANCE:您的GreenAPI ID实例
  • GREENAPI_API_TOKEN:您的GreenAPI API代币

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

安装

# Clone the repository
git clone https://github.com/yourusername/whatsapp-mcp-server.git
cd whatsapp-mcp-server

# Install dependencies
pip install -e .

# Set up environment variables
cp .env-template .env
# Edit the .env file with your GreenAPI credentials

用法

运行MCP服务器:

# Run the MCP server on default host (127.0.0.1) and port (8000)
whatsapp-mcp

# Specify host and port
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:

# List available tools
curl -X POST http://localhost:8000/mcp/listTools

# Call a tool
curl -X POST http://localhost:8000/mcp/callTool \
  -H "Content-Type: application/json" \
  -d '{"name": "open_session", "arguments": {}}'

如何将其添加到Claude Code

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

# Add the WhatsApp MCP server
$ claude mcp add whatsapp -- whatsapp-mcp

# List existing MCP servers - Validate that the server is running
claude mcp list

# Start claude code
claude

与克劳德一起使用

WhatsApp MCP服务器运行后,您可以在对话中使用Claude与它进行交互:

使用WhatsApp进行身份验证

Login to WhatsApp

发送消息

Send the "Hello" message to John Doe

与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"]
  }
}

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

命令行选项

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

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

调试

要调试MCP服务器:

  • 使用MCP检查器: npx @modelcontextprotocol/inspector whatsapp-mcp
  • 查看Claude Desktop日志目录中的日志(通常 ~/Library/Logs/Claude/ macOS)
  • 访问FastMCP web界面http://localhost:8000用于交互式API文档

发展

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
flake8 src/

# Run type checking
mypy src/

该项目使用现代 pyproject.toml 配置包括:

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

许可证

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