WhatsApp Message Sender MCP Tool
This is a MCP (Model Context Protocol) that sends WhatsApp messages using the Meta (Facebook) WhatsApp Business API.
Requirements
- Python 3.12 or higher
- uv (Python package manager)
- Meta WhatsApp Business API credentials
Installation
- Clone the repository:
git clone https://github.com/deuslirio/mcp-server-whatsapp-message.git
cd mcp-server-whatsapp-message
- Install dependencies using uv:
uv pip install -e .
Running the Server
Standalone Mode
Start the server with:
uv run python main.py
The server will be running and ready to receive requests.
Integration with Claude Local
To add this tool to your Claude Local configuration, add the following to your Claude's configuration:
{
"mcpServers": {
"whatsapp": {
"command": "uv",
"args": [
"run",
"\\\\\\\\wsl.localhost\\\\Ubuntu-24.04\\\\home\\\\deuslirio\\\\PycharmProjects\\\\mcp-server-whatsapp-message\\\\main.py"
],
"env": {
"META_ACCESS_TOKEN": "your-token-here",
"META_PHONE_NUMBER_ID": "your-phone-id-here"
}
}
}
}
Note: Replace the environment variable values with your actual Meta API credentials.
Available Tools
send_whatsapp_message
Sends a WhatsApp message to a specified phone number.
Parameters:
phone_number: The recipient's phone number (string, international format, e.g., +5562995631588)message: The message to send (string)
Usage Example:
{
"phone_number": "+5562000000000",
"message": "Hello! This is a test message!"
}
Available Resources
contacts
Returns a list of contacts with their names and phone numbers.
URI: resource://contacts
Example Response:
[
{"name": "João da Silva", "phone_number": "+55629999999999"}
]
Demo
Here are some screenshots demonstrating the WhatsApp Message Sender MCP Tool in action:
Sending a Message
Receiving a Message
Using the Contacts Resource
Received Message
Troubleshooting
Common Issues
-
FastMCP Import Error:
- Verify that the
mcppackage is installed correctly:uv pip install mcp==1.6.0
- Verify that the
-
Environment Variables Error:
- Make sure the environment variables are correctly set in your Claude Local configuration
- Verify that the variable values are correct
-
Error when running with uv run:
- Try clearing the uv cache:
uv cache clean - Reinstall dependencies:
uv pip install -e .
- Try clearing the uv cache:
Project Structure
mcp-server-whatsapp-message/
├── main.py # Server entry point
├── mcp_server/ # Main module
│ ├── __init__.py # Module initialization
│ └── whatsapp_handler.py # WhatsApp message handler
├── pyproject.toml # Project configuration
├── requirements.txt # Project dependencies
└── .env # Environment variables (not versioned)
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Recommend MCP Servers 💡
md2doc
An MCP server that converts Markdown text to DOCX format, supporting custom templates and multi-language output, leveraging an external conversion service.
Eliran79/Vulnerable-file-reader-server
A deliberately vulnerable MCP server demonstrating command injection flaws for educational purposes.
pprof-analyzer-mcp
An MCP server implemented in Go that provides tools to analyze Go pprof performance profiles, including CPU, heap, goroutine, and allocation profiles, with various output formats and flame graph generation.
@yodablocks/mcp-installer
A MCP Server that installs other MCP servers hosted on npm or PyPi via Claude
mcp-code-executor
An MCP server enabling Large Language Models to execute Python code within configurable environments (Conda, virtualenv, UV virtualenv), supporting incremental code generation and dynamic environment configuration.
server-cmd
An MCP server for executing command-line operations (CMD commands) on Windows and Linux, including SSH connections, designed for integration with MCP-compatible applications.