Provides a bridge to the WhatsApp Business API through GreenAPI, enabling message sending, chat retrieval, and group man...
Created byApr 23, 2025
WhatsApp MCP Server
A server that provides a Model Context Protocol (MCP) interface to interact with WhatsApp Business API using FastMCP.
Introduction
WhatsApp MCP Server is a Python implementation that enables language models like Claude to interact with WhatsApp functionality through [GreenAPI](https://green-api.com/). It leverages FastMCP for improved performance, better developer experience, and a cleaner implementation.
Features
**Messaging**: Send text messages to WhatsApp contacts
**Group Management**: Create groups, list members, add/remove participants
**Session Handling**: Manage WhatsApp API sessions
**Chat History**: Retrieve chat lists and message history
WhatsApp API Client
This project uses the `whatsapp-api-client-python` library to interact with WhatsApp. The client provides access to the WhatsApp Cloud API, which requires a [GreenAPI](https://green-api.com/) account to use.
Environment Variables
This project uses environment variables for configuration:
`GREENAPI_ID_INSTANCE`: Your GreenAPI ID instance
`GREENAPI_API_TOKEN`: Your GreenAPI API token
You can either set these in your environment or use the provided `.env` file (see Installation instructions).
Installation
Usage
Run the MCP server:
For debugging:
The server communicates using the Model Context Protocol (MCP) and can be accessed via HTTP or WebSockets when running with FastMCP.
Available Tools
`open_session`: Open a new WhatsApp session
`send_message`: Send a message to a chat
`get_chats`: Get a list of chats
`create_group`: Create a new WhatsApp group
`get_group_participants`: Get the participants of a group
FastMCP API Reference
The WhatsApp MCP Server uses FastMCP to provide both WebSocket and HTTP endpoints:
WebSocket: `ws://localhost:8000/mcp`
HTTP: `http://localhost:8000/mcp`
You can test the API directly using tools like curl:
How to add it to Claude Code
To add a WhatsApp server to Claude, use the `claude mcp add` command:
Using with Claude
Once the WhatsApp MCP server is running, you can interact with it using Claude in your conversations:
Authenticating with WhatsApp
Sending a message
Using with Claude Desktop
To use the WhatsApp MCP server with Claude Desktop, you need to add it to your `claude_desktop_config.json` file:
Using pip installation (recommended)
Using the executable
Using Docker
Remember to set your GreenAPI credentials either as environment variables or in your `.env` file before starting Claude Desktop.
Command-line options
The WhatsApp MCP server accepts these command-line arguments:
`--debug`: Increase verbosity level for debugging
`--host`: Host to bind the server to (default: 127.0.0.1)
`--port`: Port to bind the server to (default: 8000)
Debugging
For debugging the MCP server:
Use MCP inspector: `npx @modelcontextprotocol/inspector whatsapp-mcp`
View logs in your Claude Desktop logs directory (typically `~/Library/Logs/Claude/` on macOS)
Access the FastMCP web interface at http://localhost:8000 for interactive API documentation
Development
The project uses a modern `pyproject.toml` configuration which includes:
Core dependencies needed for running the application
Development dependencies available with `pip install -e ".[dev]"`
License
This project is licensed under the MIT License - see the LICENSE file for details.