← Back to Free Tools

Set Up Claude Cowork + WhatsApp MCP on Mac

Complete beginner guide. From a fresh MacBook to sending WhatsApp messages through Claude Desktop in 15 minutes.

In this guide

Prerequisites 1. Install Claude Desktop 2. Install Node.js 3. Get the WhatsApp MCP Server 4. Register the MCP with Claude Desktop 5. Restart Claude Desktop 6. Connect WhatsApp 7. Test It 8. Available WhatsApp Commands 9. Transferring to a Friend's Computer Troubleshooting Monthly Costs

Prerequisites

💻

A MacBook

Intel or Apple Silicon. macOS 13+ recommended.

🔑

Anthropic Account

Sign up at claude.ai (free or paid plan).

📱

WhatsApp on Phone

Active WhatsApp account on your phone.

⚙️

Node.js 20+

JavaScript runtime. Install instructions below.

1. Install Claude Desktop

Claude Desktop is Anthropic's native Mac app. The "Cowork" features let Claude use external tools (called MCPs) to do things like send WhatsApp messages, read files, and more.

1a. Download Claude Desktop

Go to claude.ai/download and download the macOS installer.

1b. Install it

Open the downloaded .dmg file and drag Claude into your Applications folder.

1c. Open and sign in

Open Claude from Applications (or Spotlight: press Cmd + Space and type "Claude"). Sign in with your Anthropic account.

1d. Enable Cowork features

Once signed in:

  1. Click Claude in the menu bar (top-left of screen)
  2. Click Settings
  3. Go to the Developer tab
  4. Enable MCP Servers (this is what powers Cowork tools)
What is Cowork? It's the feature that lets Claude use external tools (MCP servers). When an MCP is connected, Claude can perform actions like sending WhatsApp messages on your behalf.

2. Install Node.js (if not installed)

The WhatsApp MCP server is built with Node.js. You need version 20 or higher.

Check if you already have it

Open Terminal (Spotlight: Cmd + Space, type "Terminal") and run:

node --version

If it shows v20.x or higher, skip to Step 3. If it says "command not found" or shows an older version, install it:

Install using Homebrew (recommended)

Homebrew is a package manager for Mac. If you don't have it yet, install it first:

# Install Homebrew (paste this entire line into Terminal) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Apple Silicon Macs (M1/M2/M3/M4): After installing Homebrew, it may tell you to run two extra commands to add brew to your PATH. Copy and run them exactly as shown.

Then install Node.js:

brew install node

Verify the installation:

node --version # should show v20.x or higher npm --version # should show 10.x or higher

3. Get the WhatsApp MCP Server

You need to get the WhatsApp MCP server code onto your Mac. Choose one of these options:

Option A: Clone from GitHub (easiest if you have git)

# Clone the repository git clone https://github.com/tradecrypto1/project20.git # Go into the WhatsApp MCP folder cd project20/projects/whatsapp-mcp # Install dependencies and build npm install npm run build
Don't have git? Install it with: brew install git

Option B: Copy from USB or AirDrop

If someone already has the project, they can send you the folder directly:

  1. Copy the entire whatsapp-mcp folder to your Mac (via USB drive, AirDrop, or any file transfer method)
  2. Open Terminal
  3. Navigate to the folder and build:
# Change this path to wherever you put the folder cd ~/whatsapp-mcp # Install dependencies and build npm install && npm run build

Option C: Download ZIP from GitHub

  1. Go to github.com/tradecrypto1/project20
  2. Click the green Code button, then Download ZIP
  3. Extract the ZIP file
  4. Open Terminal and navigate to the WhatsApp MCP folder:
cd ~/Downloads/project20-main/projects/whatsapp-mcp # Install dependencies and build npm install && npm run build
Make sure the build succeeds. You should see a dist/ folder inside whatsapp-mcp after building. If you get errors, make sure you have Node.js 20+ installed.

4. Register the MCP with Claude Desktop

You need to tell Claude Desktop where to find the WhatsApp MCP server. This is done through a config file.

4a. Find your Mac username

In Terminal, run:

whoami

Remember this value — you'll need it for the config file.

4b. Edit the config file

Open the Claude Desktop config file in Terminal:

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
If the file doesn't exist yet, this command will create it. That's fine.

4c. Add the WhatsApp MCP configuration

Paste this into the file. Replace YOUR_USERNAME with the output of whoami from Step 4a, and adjust the path if you put the folder somewhere else:

{ "mcpServers": { "whatsapp": { "command": "node", "args": [ "/Users/YOUR_USERNAME/project20/projects/whatsapp-mcp/dist/index.js" ], "env": { "WHATSAPP_DEFAULT_GROUP": "Claude" } } } }
The path must be exact. If you cloned to a different location, update the path accordingly. For example, if you used Option B and put the folder in your home directory, the path would be: /Users/YOUR_USERNAME/whatsapp-mcp/dist/index.js

4d. Save and exit

Press Ctrl + O (letter O), then Enter to save. Press Ctrl + X to exit nano.

WHATSAPP_DEFAULT_GROUP is the group that Claude will send messages to when you don't specify a recipient. Change "Claude" to whatever group name you want as your default.

5. Restart Claude Desktop

Claude Desktop only reads the config file when it starts up. You need to fully restart it.

  1. Press Cmd + Q to quit Claude Desktop completely
  2. Reopen Claude from Applications or Spotlight
  3. The WhatsApp MCP should now appear in the tools list
You can verify it loaded by clicking the hammer icon in the chat input area. You should see "whatsapp" listed as an available tool with 15 commands.

6. Connect WhatsApp

Now you need to link your WhatsApp account to the MCP server, just like linking WhatsApp Web.

6a. Check connection status

In Claude Desktop, type:

Check WhatsApp connection status

Claude will use the get_connection_status tool. It should say "disconnected" since this is the first time.

6b. Get the QR code

Type:

Get QR code for WhatsApp

Claude will display a QR code image in the chat.

6c. Scan with your phone

  1. Open WhatsApp on your phone
  2. Go to Settings (bottom right on iPhone, top right on Android)
  3. Tap Linked Devices
  4. Tap Link a Device
  5. Scan the QR code shown by Claude

6d. Wait for confirmation

After scanning, wait a few seconds. Ask Claude:

Check WhatsApp connection status

It should now say "ready". You're connected!

The QR code expires after about 60 seconds. If it expires, just ask Claude for a new one.

7. Test It

Try these commands in Claude Desktop to make sure everything works:

# Send a test message Send a test message to the Claude group # List your groups List my WhatsApp groups # Read recent messages Read messages from Claude group
Claude understands natural language. You don't need to use exact commands — just describe what you want and Claude will pick the right tool.

8. Available WhatsApp Commands

The WhatsApp MCP provides 15 tools that Claude can use. Here's the full list:

ToolDescription
get_qr_codeGet the WhatsApp authentication QR code. Scan with your phone to link.
get_connection_statusCheck connection status (disconnected, qr_pending, authenticated, ready, reconnecting).
search_contactsSearch for contacts by name or phone number.
list_chatsList all available chats, sorted by most recent activity.
get_chatGet information about a specific chat including its messages.
get_direct_chat_by_contactFind a direct chat with a specific contact by phone number.
get_contact_chatsList all chats (direct + groups) involving a specific contact.
get_last_interactionGet the most recent message with a contact.
list_messagesRetrieve messages from a chat with optional filters (limit, search, sent/received).
get_message_contextRetrieve messages before and after a specific message.
list_groupsList all WhatsApp group chats with participant counts.
send_messageSend a text message to a phone number, group name, or JID.
send_fileSend a file (image, video, audio, document) to a recipient.
send_audio_messageSend an audio file as a WhatsApp voice message (plays inline like a voice note).
download_mediaDownload media (images, videos, documents) from a WhatsApp message.
You don't need to memorize these. Just tell Claude what you want in plain English and it will pick the right tool automatically.

9. Transferring to a Friend's Computer

Want to set this up on someone else's Mac? Here's how:

Step 1: Get the files to their Mac

Choose any method:

Step 2: Install Node.js on their Mac

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install node

Step 3: Build the project

# Navigate to the whatsapp-mcp folder cd /path/to/whatsapp-mcp npm install npm run build

Step 4: Edit their Claude Desktop config

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Add the same config from Step 4, but with their username and the correct path to where they put the folder.

Step 5: Restart Claude Desktop

Cmd + Q to quit, then reopen.

Step 6: They scan their own QR code

Ask Claude: "Get QR code for WhatsApp" — then they scan it with their own phone.

Each person gets their own WhatsApp session. It works like WhatsApp Web — it's a separate linked device. Your friend's messages are completely independent from yours. You won't see each other's messages.

Troubleshooting

MCP not showing up in Claude Desktop

Check that the path in claude_desktop_config.json is correct. The most common mistake is a wrong username or path.

# Verify the file exists at the path you configured ls -la /Users/YOUR_USERNAME/project20/projects/whatsapp-mcp/dist/index.js

If the file doesn't exist, you probably need to run npm run build again. After fixing, restart Claude Desktop (Cmd + Q, then reopen).

QR code not appearing

Delete the authentication data folder and try again:

# Delete stored auth data (forces a fresh QR code) rm -rf /Users/YOUR_USERNAME/project20/projects/whatsapp-mcp/auth_data

Then restart Claude Desktop and ask for a new QR code.

Connection keeps dropping

The server automatically reconnects up to 20 times with exponential backoff. This is normal behavior. If you're still having issues, check your internet connection and try deleting the auth_data folder to re-authenticate.

Messages not persisting across restarts

Messages are stored in a messages.db SQLite file inside the whatsapp-mcp folder. This file persists across restarts. If messages seem to disappear, check that Claude is looking at the right chat.

"node: command not found"

Node.js is not in your PATH. Try using the full path to node in your config file instead:

# Find where node is installed which node

Then update claude_desktop_config.json to use the full path. For example:

"command": "/usr/local/bin/node"

On Apple Silicon Macs with Homebrew, it's usually:

"command": "/opt/homebrew/bin/node"

Config file syntax errors

The config file must be valid JSON. Common mistakes:

You can validate your JSON at jsonlint.com.

Monthly Costs

ItemCost
Claude DesktopFree (included with any Claude plan)
WhatsApp MCP ServerFree (open source)
Node.jsFree
Total$0/mo
The WhatsApp MCP is completely free. It runs locally on your Mac. No server costs, no API fees. You just need an active Claude subscription to use Claude Desktop.