WhatsApp Evolution

MCP Evolution API

A Model Context Protocol (MCP) server for Claude that integrates with Evolution API for WhatsApp automation.

Overview

This MCP server allows Claude to interact with WhatsApp through the Evolution API, enabling capabilities like:

  • Managing WhatsApp instances
  • Sending various types of messages
  • Working with contacts and groups
  • Configuring webhooks and settings

πŸ“‚ Project Structure

mcp-evo-api/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ tools/          # MCP tools implementation for Evolution API
β”‚   β”œβ”€β”€ utils/          # Shared utilities, including Evolution API client
β”‚   β”œβ”€β”€ main.ts         # Server entry point
β”‚   └── types.ts        # Shared type definitions
β”œβ”€β”€ scripts/            # Helper scripts
β”œβ”€β”€ biome.json          # Linting configuration
β”œβ”€β”€ tsconfig.json       # TypeScript configuration
β”œβ”€β”€ docker-compose.yml  # Docker Compose configuration
β”œβ”€β”€ Dockerfile          # Docker build configuration
└── package.json        # Project dependencies

πŸš€ Quick Setup

Environment Setup

Create a .env file with your Evolution API credentials:

EVOLUTION_API_URL=https://your-evolution-api-server.com
EVOLUTION_API_KEY=your-api-key-here

πŸ“‹ Deployment Options

EnvironmentStepsCommand
Local Development1. Clone and install2. Run in dev modegit clone https://github.com/aiteks-ltda/mcp-evo-api.git && cd mcp-evo-api && bun installbun run dev
Local Production1. Clone and install2. Build and rungit clone https://github.com/aiteks-ltda/mcp-evo-api.git && cd mcp-evo-api && bun installbun run build && bun run dist/main.js
Docker ComposeRun with Docker Composegit clone https://github.com/aiteks-ltda/mcp-evo-api.git && cd mcp-evo-apidocker-compose up -d
DockerBuild and run containerdocker run -d -p 3000:3000 -e EVOLUTION_API_URL=yoururl -e EVOLUTION_API_KEY=yourkey --name mcp-evo-api ghcr.io/aiteks-ltda/mcp-evo-api:latest

Claude Desktop Configuration

Add this to your Claude Desktop config file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "evo-api": {
      "command": "node",
      "args": [
        "/path/to/your/mcp-evo-api/dist/main.js"
      ]
    }
  }
}

If using the Docker deployment:

{
  "mcpServers": {
    "evo-api": {
      "url": "http://localhost:3000"
    }
  }
}

πŸ“Š Implementation Status

CategoryImplementedPending Implementation
Core APIβœ… Get Informationβœ… Create Instanceβœ… Fetch Instancesβœ… Instance Connectβœ… Restart Instanceβœ… Connection Stateβœ… Logout Instanceβœ… Delete Instanceβœ… Set Presence❌ Check is WhatsApp
Webhook & Settingsβœ… Set Webhookβœ… Find Webhookβœ… Set Settingsβœ… Find Settings
Messagingβœ… Send Plain Textβœ… Send Statusβœ… Send Mediaβœ… Send WhatsApp Audioβœ… Send Stickerβœ… Send Locationβœ… Send Contactβœ… Send Reactionβœ… Send Pollβœ… Send Listβœ… Send Buttons❌ Mark Message As Read❌ Mark Message As Unread❌ Archive Chat❌ Delete Message for Everyone❌ Update Message❌ Send Presence (Chat Ctrl)
Chat & Contactsβœ… Find Contactsβœ… Find Chats❌ Update Block Status❌ Fetch Profile Picture URL❌ Get Base64❌ Find Messages❌ Find Status Message
Groupsβœ… Find Group by JIDβœ… Fetch All Groupsβœ… Find Group Members❌ Create Group❌ Update Group Picture❌ Update Group Subject❌ Update Group Description❌ Fetch Invite Code❌ Revoke Invite Code❌ Send Group Invite❌ Find Group by Invite Code❌ Update Group Members❌ Update Group Setting❌ Toggle Ephemeral❌ Leave Group
Profile Settings❌ Fetch Business Profile❌ Fetch Profile❌ Update Profile Name❌ Update Profile Status❌ Update Profile Picture❌ Remove Profile Picture❌ Fetch Privacy Settings❌ Update Privacy Settings
Bot Integrations❌ Typebot Integrations❌ OpenAI Integrations❌ Evolution Bot❌ Dify Bot❌ Flowise Bot
Other Integrations❌ Chatwoot❌ Websocket❌ SQS❌ RabbitMQ

For more information, refer to the Evolution API Documentation.