MCP server for Evolution API — self-hosted WhatsApp messaging API
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"evolution-api": {
"command": "npx",
"args": ["-y", "@codespar/mcp-evolution-api"],
"env": {
"EVOLUTION_API_URL": "https://your-instance.example.com",
"EVOLUTION_API_KEY": "your-key"
}
}
}
}claude mcp add evolution-api -- npx @codespar/mcp-evolution-apiAdd to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": {
"evolution-api": {
"command": "npx",
"args": ["-y", "@codespar/mcp-evolution-api"],
"env": {
"EVOLUTION_API_URL": "https://your-instance.example.com",
"EVOLUTION_API_KEY": "your-key"
}
}
}
}| Tool | Purpose |
|---|---|
send_text |
Send a text message via WhatsApp |
send_image |
Send an image message via WhatsApp |
send_document |
Send a document via WhatsApp |
get_instances |
List all WhatsApp instances |
create_instance |
Create a new WhatsApp instance |
get_qrcode |
Get QR code for instance pairing |
get_contacts |
Get contacts from an instance |
send_poll |
Send a poll message via WhatsApp |
get_messages |
Get messages from a chat |
check_number |
Check if a phone number is registered on WhatsApp |
create_group |
Create a WhatsApp group |
get_group_info |
Get group metadata, participants, and settings |
update_profile |
Update instance profile (name, status text, or picture) |
set_presence |
Set online/offline presence for an instance |
get_chat_history |
Get full chat history with pagination support |
logout_instance |
Logout an instance (disconnects the WhatsApp session without deleting the instance) |
restart_instance |
Restart an instance |
delete_instance |
Delete an instance permanently |
connection_state |
Get the connection state of an instance (open, connecting, close) |
leave_group |
Leave a WhatsApp group |
update_group_participants |
Add, remove, promote, or demote participants in a WhatsApp group |
fetch_group_invite_code |
Fetch the invite code/link for a WhatsApp group |
mark_message_as_read |
Mark one or more messages in a chat as read |
archive_chat |
Archive or unarchive a chat |
delete_message |
Delete a message for me or for everyone in a chat |
Evolution API uses an API key passed via the apikey header.
Evolution API is self-hosted. Deploy your own instance using Docker for testing.
- Go to Evolution API Documentation
- Deploy your own instance (Docker recommended)
- Get the API key from your instance configuration
- Set the environment variables
| Variable | Required | Description |
|---|---|---|
EVOLUTION_API_URL |
Yes | Base URL of your Evolution API instance |
EVOLUTION_API_KEY |
Yes | API key for authentication |
create_group— Create a WhatsApp groupget_group_info— Get group details and participantsupdate_profile— Update instance profile (name, photo, status)set_presence— Set online/offline presence statusget_chat_history— Get full chat history with a contact
bulk_send— Send messages to multiple contactstemplate_messages— Send WhatsApp Business template messageslabel_management— Create, update, and assign labels to chats
Want to contribute? Open a PR or request a tool.
Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.
MIT