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 💡
@idachev/mcp-javadc
A Model Context Protocol (MCP) server for decompiling Java class files, allowing AI assistants to convert Java bytecode into readable source code.
mobbdev
Bugsy can also be used as an MCP server, allowing AI assistants like Claude to automatically scan and fix vulnerabilities in your code repositories.
vimble-mcp
An MCP server for executing JavaScript code in a sandboxed environment using Vimble, offering time-limited execution and debug mode.
ns-lookup-mcp
A simple MCP Server providing DNS lookup functionality via the nslookup command
alertmcp
Provides desktop notification functionality for AI client tools like Claude and Cursor.
imap-mcp
An IMAP MCP server exposing IMAP operations as tools for AI assistants