WhatsApp MCP Server
A Python server that enables language models like Claude to interact with WhatsApp Business API through GreenAPI, supporting features like sending messages and managing groups.
msaelices
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 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. 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 account to use.
Environment Variables
This project uses environment variables for configuration:
GREENAPI_ID_INSTANCE
: Your GreenAPI ID instanceGREENAPI_API_TOKEN
: Your GreenAPI API token
You can either set these in your environment or use the provided .env
file (see Installation instructions).
Installation
# 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
Usage
Run the MCP server:
# 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
For debugging:
whatsapp-mcp --debug
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 sessionsend_message
: Send a message to a chatget_chats
: Get a list of chatscreate_group
: Create a new WhatsApp groupget_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:
# 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": {}}'
How to add it to Claude Code
To add a WhatsApp server to Claude, use the claude mcp add
command:
# 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
Using with Claude
Once the WhatsApp MCP server is running, you can interact with it using Claude in your conversations:
Authenticating with WhatsApp
Login to WhatsApp
Sending a message
Send the "Hello" message to John Doe
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)
"mcpServers": {
"whatsapp": {
"command": "python",
"args": ["-m", "whatsapp_mcp"]
}
}
Using the executable
"mcpServers": {
"whatsapp": {
"command": "whatsapp-mcp"
}
}
Using 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"]
}
}
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
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
flake8 src/
# Run type checking
mypy src/
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.