evolution-api-mcp
Version:
MCP Server for Evolution API v2 - Integrate WhatsApp functionality with Claude Desktop and other MCP clients
530 lines (395 loc) • 11.6 kB
Markdown
# Installation Guide
This guide provides detailed instructions for installing and setting up the Evolution API MCP Server in various environments.
## Table of Contents
- [System Requirements](#system-requirements)
- [Quick Installation](#quick-installation)
- [Installation Methods](#installation-methods)
- [Evolution API Setup](#evolution-api-setup)
- [Verification](#verification)
- [Troubleshooting](#troubleshooting)
- [Next Steps](#next-steps)
## System Requirements
### Minimum Requirements
- **Node.js**: 18.0.0 or higher
- **npm**: 8.0.0 or higher (comes with Node.js)
- **Operating System**: Windows 10+, macOS 10.15+, or Linux (Ubuntu 18.04+, CentOS 7+)
- **Memory**: 512 MB RAM available
- **Storage**: 100 MB free disk space
- **Network**: Internet connection for package downloads and Evolution API access
### Recommended Requirements
- **Node.js**: 20.0.0 or higher (LTS version)
- **npm**: 10.0.0 or higher
- **Memory**: 1 GB RAM available
- **Storage**: 500 MB free disk space
- **Network**: Stable broadband connection
### Evolution API Requirements
- **Evolution API**: v2.0.0 or higher
- **Global API Key**: Required for authentication
- **Network Access**: HTTP/HTTPS access to Evolution API instance
## Quick Installation
### Using NPX (Recommended)
The fastest way to get started is using npx, which doesn't require installation:
```bash
# Set your Evolution API credentials
export EVOLUTION_URL="https://your-evolution-api.com"
export EVOLUTION_API_KEY="your-global-api-key"
# Run the MCP server
npx evolution-api-mcp
```
**Windows (Command Prompt):**
```cmd
set EVOLUTION_URL=https://your-evolution-api.com
set EVOLUTION_API_KEY=your-global-api-key
npx evolution-api-mcp
```
**Windows (PowerShell):**
```powershell
$env:EVOLUTION_URL="https://your-evolution-api.com"
$env:EVOLUTION_API_KEY="your-global-api-key"
npx evolution-api-mcp
```
### Global Installation
For frequent use, install globally:
```bash
npm install -g evolution-api-mcp
evolution-api-mcp
```
## Installation Methods
### Method 1: NPX (No Installation)
**Pros:**
- No installation required
- Always uses latest version
- No global package pollution
- Easy to use different versions
**Cons:**
- Downloads package each time (first run)
- Requires internet connection
- Slightly slower startup
**Usage:**
```bash
npx evolution-api-mcp [options]
```
### Method 2: Global Installation
**Pros:**
- Faster startup after installation
- Works offline after installation
- Simple command usage
**Cons:**
- Requires manual updates
- Global package management
- Version conflicts possible
**Installation:**
```bash
npm install -g evolution-api-mcp
```
**Usage:**
```bash
evolution-api-mcp [options]
```
### Method 3: Local Project Installation
**Pros:**
- Version locked to project
- No global dependencies
- Easy to manage in teams
**Cons:**
- Requires project setup
- More complex usage
**Installation:**
```bash
mkdir my-whatsapp-project
cd my-whatsapp-project
npm init -y
npm install evolution-api-mcp
```
**Usage:**
```bash
npx evolution-api-mcp [options]
# or
./node_modules/.bin/evolution-api-mcp [options]
```
### Method 4: Development Installation
For contributing or customizing:
```bash
git clone https://github.com/your-repo/evolution-api-mcp.git
cd evolution-api-mcp
npm install
npm run build
npm link
```
## Evolution API Setup
### Prerequisites
Before installing the MCP server, you need a running Evolution API instance.
### Option 1: Docker Installation (Recommended)
```bash
# Pull the Evolution API image
docker pull atendai/evolution-api:v2.0.0
# Run Evolution API
docker run -d \
--name evolution-api \
-p 8080:8080 \
-e AUTHENTICATION_API_KEY="your-global-api-key" \
-e DATABASE_ENABLED=true \
-e DATABASE_CONNECTION_URI="mongodb://localhost:27017/evolution" \
atendai/evolution-api:v2.0.0
```
### Option 2: Docker Compose
Create `docker-compose.yml`:
```yaml
version: '3.8'
services:
evolution-api:
image: atendai/evolution-api:v2.0.0
container_name: evolution-api
ports:
- "8080:8080"
environment:
- AUTHENTICATION_API_KEY=your-global-api-key
- DATABASE_ENABLED=true
- DATABASE_CONNECTION_URI=mongodb://mongodb:27017/evolution
depends_on:
- mongodb
restart: unless-stopped
mongodb:
image: mongo:6.0
container_name: evolution-mongodb
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
restart: unless-stopped
volumes:
mongodb_data:
```
Run with:
```bash
docker-compose up -d
```
### Option 3: Manual Installation
```bash
# Clone Evolution API
git clone https://github.com/EvolutionAPI/evolution-api.git
cd evolution-api
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Start the API
npm run start:prod
```
### Evolution API Configuration
Key environment variables for Evolution API:
```env
# Authentication
AUTHENTICATION_API_KEY=your-global-api-key
# Database
DATABASE_ENABLED=true
DATABASE_CONNECTION_URI=mongodb://localhost:27017/evolution
# Server
SERVER_PORT=8080
SERVER_URL=http://localhost:8080
# Webhooks (optional)
WEBHOOK_GLOBAL_ENABLED=false
WEBHOOK_GLOBAL_URL=https://your-webhook-url.com
# Logs
LOG_LEVEL=ERROR
LOG_COLOR=false
```
### Verify Evolution API
Test your Evolution API installation:
```bash
# Check API status
curl -H "apikey: your-global-api-key" "http://localhost:8080/instance/fetchInstances"
# Should return: []
```
## Installation Verification
### Step 1: Check Node.js Installation
```bash
node --version
# Should show v18.0.0 or higher
npm --version
# Should show 8.0.0 or higher
```
### Step 2: Test MCP Server Installation
```bash
# Test with npx
npx evolution-api-mcp --version
# Test with global installation
evolution-api-mcp --version
```
### Step 3: Validate Configuration
```bash
# Set environment variables
export EVOLUTION_URL="http://localhost:8080"
export EVOLUTION_API_KEY="your-global-api-key"
# Validate configuration
npx evolution-api-mcp --validate-config
```
### Step 4: Test Connection
```bash
# Test Evolution API connection
npx evolution-api-mcp --test-connection
```
Expected output:
```
✅ Configuration valid
✅ Evolution API connection successful
✅ Authentication successful
ℹ️ Evolution API version: 2.0.0
ℹ️ Available instances: 0
```
### Step 5: Test MCP Server
```bash
# Start MCP server
npx evolution-api-mcp
# Should show:
# Evolution API MCP Server v1.0.0
# Server initialized successfully
# Listening for MCP connections...
```
## Troubleshooting
### Node.js Installation Issues
**Problem:** `node: command not found`
**Solutions:**
1. **Install Node.js from official website:**
- Visit [nodejs.org](https://nodejs.org/)
- Download LTS version for your OS
- Follow installation instructions
2. **Using package managers:**
```bash
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# CentOS/RHEL
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo yum install -y nodejs
# macOS (Homebrew)
brew install node
# Windows (Chocolatey)
choco install nodejs
```
3. **Using Node Version Manager (nvm):**
```bash
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Restart terminal or source profile
source ~/.bashrc
# Install and use Node.js LTS
nvm install --lts
nvm use --lts
```
### NPM Permission Issues
**Problem:** `EACCES: permission denied`
**Solutions:**
1. **Fix npm permissions (Linux/macOS):**
```bash
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```
2. **Use npx instead of global installation:**
```bash
npx evolution-api-mcp
```
### Package Download Issues
**Problem:** `npm ERR! network request failed`
**Solutions:**
1. **Check internet connection**
2. **Clear npm cache:**
```bash
npm cache clean --force
```
3. **Use different registry:**
```bash
npm config set registry https://registry.npmjs.org/
```
4. **Configure proxy (if behind corporate firewall):**
```bash
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
```
### Evolution API Connection Issues
**Problem:** `Connection to Evolution API failed`
**Solutions:**
1. **Check Evolution API status:**
```bash
curl -I http://localhost:8080
```
2. **Verify API key:**
```bash
curl -H "apikey: your-key" "http://localhost:8080/instance/fetchInstances"
```
3. **Check firewall settings**
4. **Verify URL format (include http:// or https://)**
### Environment Variable Issues
**Problem:** Environment variables not loading
**Solutions:**
1. **Check variable names (case-sensitive)**
2. **Use .env file:**
```env
EVOLUTION_URL=http://localhost:8080
EVOLUTION_API_KEY=your-global-api-key
```
3. **Verify file location (same directory as command)**
### Windows-Specific Issues
**Problem:** `'npx' is not recognized as an internal or external command`
**Solutions:**
1. **Restart Command Prompt/PowerShell after Node.js installation**
2. **Add Node.js to PATH manually:**
- Open System Properties → Environment Variables
- Add Node.js installation path to PATH
- Restart terminal
2. **Use full path:**
```cmd
"C:\Program Files\nodejs\npx.exe" evolution-api-mcp
```
### macOS-Specific Issues
**Problem:** `command not found` after installation
**Solutions:**
1. **Check shell profile:**
```bash
echo $SHELL
# Add to appropriate file: ~/.bashrc, ~/.zshrc, etc.
```
2. **Reload shell configuration:**
```bash
source ~/.bashrc # or ~/.zshrc
```
### Linux-Specific Issues
**Problem:** Permission denied errors
**Solutions:**
1. **Don't use sudo with npm:**
```bash
# Wrong
sudo npm install -g evolution-api-mcp
# Right
npm install -g evolution-api-mcp
```
2. **Fix npm permissions as described above**
## Next Steps
After successful installation:
1. **Configure Claude Desktop Integration:**
- See [Claude Desktop Guide](./CLAUDE_DESKTOP_GUIDE.md)
2. **Explore Available Tools:**
- See [API Reference](./API_REFERENCE.md)
3. **Try Example Workflows:**
- See [Examples](./EXAMPLES.md)
4. **Set Up Production Environment:**
- See [Configuration Guide](./CONFIGURATION.md)
5. **Join the Community:**
- GitHub Discussions
- Discord Server
- Stack Overflow
## Getting Help
If you encounter issues during installation:
1. **Check the troubleshooting section above**
2. **Search existing GitHub issues**
3. **Create a new issue with:**
- Operating system and version
- Node.js and npm versions
- Complete error messages
- Steps to reproduce
4. **Join community discussions for help**
---
**Congratulations!** 🎉 You now have the Evolution API MCP Server installed and ready to use with Claude Desktop or other MCP clients.