Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

ManyContacts - WhatsApp Business MCP

by manycontactsversion 1.1.1i★ –iRuns on your computer
Registry nameio.github.ManyContacts/whatsapp-mcp

Install

Overview

Description from the maker (original English)

WhatsApp Business MCP: send messages, manage contacts, campaigns, and AI agents.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Chat & email
  • You need to fill in: MC_CLI_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: MC_CLI_TOKEN

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "whatsapp": {
      "command": "npx",
      "args": [
        "-y",
        "@manycontacts/mcp"
      ],
      "env": {
        "MC_CLI_TOKEN": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add whatsapp --env MC_CLI_TOKEN=your-value -- npx -y @manycontacts/mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "whatsapp": {
      "command": "npx",
      "args": [
        "-y",
        "@manycontacts/mcp"
      ],
      "env": {
        "MC_CLI_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "whatsapp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@manycontacts/mcp"
      ],
      "env": {
        "MC_CLI_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MC_CLI_TOKEN secret required env
    ManyContacts CLI authentication token. Get one at https://manycontacts.com or via: npx @manycontacts/cli auth login

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account manycontacts, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Chat & emaili

  • More stars than 0% of the other 1861 servers in this category
  • Published to the registry more recently than 6% of the other 1861 servers in this category
  • Basic checks equal to or better than 100% of the other 1861 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is ManyContacts - WhatsApp Business MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: MC_CLI_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.1.1) reached the registry 7 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

by Vexa-aiWidely used★ 2.9KUpdated 2 months ago

Runs in the cloud✓ vexa.ai

emailmd

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

by anypostWidely used↓ 5.3K/wk★ 1.4KUpdated 33 days ago

Computer or cloud✓ emailmd.dev

MCP WhatsApp Cloud

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

by codesparEarly↓ 63/wk★ 277Updated 5 months ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

ManyContacts MCP Server

MCP (Model Context Protocol) server for ManyContacts — the WhatsApp Business CRM. Enables AI agents (Claude, Cursor, Windsurf, etc.) to manage contacts, send WhatsApp messages, run campaigns, configure AI auto-replies, and perform all CRM operations programmatically.

Quick Start

1. Get your CLI token
npm install -g @manycontacts/cli

Already have an account? Log in:

mc auth login --email user@example.com --password mypassword

mc auth whoami # verify it works

New to ManyContacts? Create an account and connect your WhatsApp channel:

# Register a new account

mc auth register --email user@example.com --name "My Company"

Connect a WhatsApp Business channel (choose one method):

mc channels connect whatsapp-api # WhatsApp Cloud API (recommended) mc channels connect coexistence # ManyContacts coexistence mode mc channels connect qr # QR code pairing

Verify everything is set up

mc auth whoami mc channels list

2. Configure in your MCP client
Claude Desktop / Claude Code

Add to your MCP settings (~/.claude/claude_desktop_config.json or similar):

{

"mcpServers": { "manycontacts": { "command": "npx", "args": ["@manycontacts/mcp"], "env": { "MC_CLI_TOKEN": "your-cli-token-here" } } } }

Cursor

Add to .cursor/mcp.json:

{

"mcpServers": { "manycontacts": { "command": "npx", "args": ["@manycontacts/mcp"], "env": { "MC_CLI_TOKEN": "your-cli-token-here" } } } }

Tip: If you've already logged in via the CLI (mc auth login), the token is stored in ~/.manycontacts/config.json and the MCP server will pick it up automatically — no MC_CLI_TOKEN env var needed.


Available Tools (55 total)

Account & Context
manycontacts.context

Get a full overview of your ManyContacts account: connected WhatsApp Business channels, contact/user/tag counts, active AI agents, and enabled features. Use this first to understand the account state before performing other operations.

ParameterTypeRequiredDescription
*(none)*——No parameters needed

manycontacts.org.get

Get WhatsApp Business organization/account information including name, timezone, and all configuration settings.

ParameterTypeRequiredDescription
*(none)*——No parameters needed

manycontacts.org.update

Update organization-level settings such as timezone, auto-reply messages, auto-close behavior, and webhook configuration.

ParameterTypeRequiredDescription
timezonestringNoTimezone identifier (e.g. Europe/Madrid, America/New_York)
auto_reply_openbooleanNoEnable auto-reply when a new chat is opened
auto_reply_open_textstringNoAuto-reply message text when chat opens
auto_reply_closebooleanNoEnable auto-reply when a chat is closed
auto_reply_close_textstringNoAuto-reply message text when chat closes
auto_reply_close_minutesnumberNoMinutes of inactivity before auto-close
auto_reply_awaybooleanNoEnable away/out-of-hours auto-reply
auto_reply_away_textstringNoAway auto-reply message text
webhooks_forwardbooleanNoEnable webhook forwarding to an external URL
webhooks_forward_urlstringNoExternal URL to forward webhook events to

manycontacts.org.schedule.get

Get the business hours schedule. Returns the configured working hours for each day of the week, used to determine when the "away" auto-reply activates.

ParameterTypeRequiredDescription
*(none)*——No parameters needed

manycontacts.org.apikey

Get the organization's REST API key for direct API integrations.

ParameterTypeRequiredDescription
*(none)*——No parameters needed

manycontacts.channels.list

List all connected WhatsApp Business and Instagram channels. For WhatsApp channels, shows the phone number and connection status. For Instagram channels, shows the username.

ParameterTypeRequiredDescription
*(none)*——No parameters needed

Contacts

All contact operations use phone numbers as identifiers (with country code, no + prefix, e.g. 34600000000).

manycontacts.contacts.list

List WhatsApp Business contacts with advanced filters. Returns paginated results with has_more indicator. Filters can be combined freely.

ParameterTypeRequiredDescription
pagenumberNoPage number (default: 1)
limitnumberNoResults per page, max 200 (default: 50)
open"true" \"false"NoFilter by conversation open/closed status
assigned_tostringNoFilter by assigned user ID
tagsstringNoComma-separated tag IDs — contacts must have all specified tags
teamstringNoFilter by team ID
stagesstringNoComma-separated funnel stage IDs
date_fromstringNoFilter contacts updated after this date (YYYY-MM-DD)
date_tostringNoFilter contacts updated before this date (YYYY-MM-DD)
unread"true"NoOnly contacts with unread messages
blacklist"true"NoOnly blacklisted contacts
scheduled"true"NoOnly contacts with pending scheduled messages

Note: When using date_from and date_to together, the range cannot exceed 90 days.

Response:

{

"ok": true, "data": [ { "name": "John Doe", "number": "34600000000", "open": true, "last_user_id": "uuid-of-assigned-user", "source": "whatsapp", "notes": "VIP customer", "customFields": {}, "createdAt": "2026-01-15T10:30:00Z" } ], "pagination": { "page": 1, "limit": 50, "has_more": true } }


manycontacts.contacts.get

Get detailed information about a specific contact including their tags, teams, funnel stages, and custom fields.

ParameterTypeRequiredDescription
phonestringYesPhone number with country code (e.g. 34600000000)

manycontacts.contacts.create

Create a new WhatsApp Business contact in the CRM. The phone number will be normalized automatically (leading + removed).

ParameterTypeRequiredDescription
phonestringYesPhone number with country code (e.g. 34600000000)
namestringNoContact display name
notesstringNoFree-text notes for the contact

manycontacts.contacts.update

Update an existing contact's name, notes, or custom fields.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact to update
namestringNoNew contact name
notesstringNoNew contact notes
customFieldsstringNoCustom fields as a JSON string (e.g. '{"company":"Acme"}')

manycontacts.contacts.delete

Permanently delete a contact from the CRM.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact to delete

manycontacts.contacts.assign

Assign a contact to a specific team member. The assigned user will see this contact in their personal inbox.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact
userIdstringYesUser ID to assign the contact to (use manycontacts.users.list to get IDs)

manycontacts.contacts.unassign

Remove the current user assignment from a contact. The contact returns to the general unassigned inbox.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact

manycontacts.contacts.close

Close a WhatsApp conversation. Closed conversations are archived and won't appear in the active inbox.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact

manycontacts.contacts.open

Reopen a previously closed WhatsApp conversation. The contact will appear again in the active inbox.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact

manycontacts.contacts.tag.add

Add a tag to a contact. Use manycontacts.tags.list to get available tag IDs.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact
tagIdstringYesTag ID to add

manycontacts.contacts.tag.remove

Remove a tag from a contact.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact
tagIdstringYesTag ID to remove

manycontacts.contacts.team.add

Add a team to a contact. Use manycontacts.teams.list to get available team IDs.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact
teamIdstringYesTeam ID to add

manycontacts.contacts.team.remove

Remove a team from a contact.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact
teamIdstringYesTeam ID to remove

manycontacts.contacts.set_stage

Move a contact to a specific stage within a sales funnel/pipeline. Use manycontacts.funnels.list to get funnel and stage IDs.

ParameterTypeRequiredDescription
phonestringYesPhone number of the contact
funnel_idstringYesFunnel ID
stage_idstringYesTarget stage ID within the funnel

manycontacts.contacts.bulk

Perform bulk operations on multiple contacts at once. Supports closing, opening, assigning, tagging, and team assignment.

ParameterTypeRequiredDescription
action"close" \"open" \"assign" \"add_tag" \"add_team"YesBulk action to perform
phonesstringYesComma-separated phone numbers (e.g. "34600000000,34600000001")
valuestringNoValue required by the action: user ID for assign, tag ID for add_tag, team ID for add_team. Not needed for close or open.

Messaging
manycontacts.messages.list

List WhatsApp conversation messages for a contact. Returns messages in a conversation-friendly format with timestamps, status, and sender information.

ParameterTypeRequiredDescription

| phone | string | Yes | Phone n

Only the beginning is shown; read the rest in the repo

Ask PopNx