WhatsApp Business CRM: send messages, manage contacts, campaigns, and AI agents.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by ManyContacts WhatsApp Business CRM.
manycontacts.contextGet 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.
manycontacts.org.getGet WhatsApp Business organization/account information including name, timezone, and all configuration settings.
manycontacts.org.updateUpdate organization-level settings such as timezone, auto-reply messages, auto-close behavior, and webhook configuration.
manycontacts.org.schedule.getGet the business hours schedule. Returns the configured working hours for each day of the week, used to determine when the "away" auto-reply activates.
manycontacts.org.apikeyGet the organization's REST API key for direct API integrations.
manycontacts.channels.listList all connected WhatsApp Business and Instagram channels. For WhatsApp channels, shows the phone number and connection status. For Instagram channels, shows the username.
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.
Already have an account? Log in:
New to ManyContacts? Create an account and connect your WhatsApp channel:
Add to your MCP settings (~/.claude/claude_desktop_config.json or similar):
Add to .cursor/mcp.json:
Tip: If you've already logged in via the CLI (
mc auth login), the token is stored in~/.manycontacts/config.jsonand the MCP server will pick it up automatically β noMC_CLI_TOKENenv var needed.
manycontacts.contextGet 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | β | β | No parameters needed |
manycontacts.org.getGet WhatsApp Business organization/account information including name, timezone, and all configuration settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | β | β | No parameters needed |
manycontacts.org.updateUpdate organization-level settings such as timezone, auto-reply messages, auto-close behavior, and webhook configuration.
| Parameter | Type | Required | Description |
|---|---|---|---|
timezone | string | No | Timezone identifier (e.g. Europe/Madrid, America/New_York) |
auto_reply_open | boolean | No | Enable auto-reply when a new chat is opened |
auto_reply_open_text | string | No | Auto-reply message text when chat opens |
auto_reply_close | boolean | No | Enable auto-reply when a chat is closed |
auto_reply_close_text | string | No | Auto-reply message text when chat closes |
auto_reply_close_minutes | number | No | Minutes of inactivity before auto-close |
auto_reply_away | boolean | No | Enable away/out-of-hours auto-reply |
auto_reply_away_text | string | No | Away auto-reply message text |
webhooks_forward | boolean | No | Enable webhook forwarding to an external URL |
webhooks_forward_url | string | No | External URL to forward webhook events to |
manycontacts.org.schedule.getGet the business hours schedule. Returns the configured working hours for each day of the week, used to determine when the "away" auto-reply activates.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | β | β | No parameters needed |
manycontacts.org.apikeyGet the organization's REST API key for direct API integrations.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | β | β | No parameters needed |
manycontacts.channels.listList all connected WhatsApp Business and Instagram channels. For WhatsApp channels, shows the phone number and connection status. For Instagram channels, shows the username.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | β | β | No parameters needed |
All contact operations use phone numbers as identifiers (with country code, no + prefix, e.g. 34600000000).
manycontacts.contacts.listList WhatsApp Business contacts with advanced filters. Returns paginated results with has_more indicator. Filters can be combined freely.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | number | No | Page number (default: 1) |
limit | number | No | Results per page, max 200 (default: 50) |
open | "true" | "false" | No | Filter by conversation open/closed status |
assigned_to | string | No | Filter by assigned user ID |
tags | string | No | Comma-separated tag IDs β contacts must have all specified tags |
team | string | No | Filter by team ID |
stages | string | No | Comma-separated funnel stage IDs |
date_from | string | No | Filter contacts updated after this date (YYYY-MM-DD) |
date_to | string | No | Filter contacts updated before this date (YYYY-MM-DD) |
unread | "true" | No | Only contacts with unread messages |
blacklist | "true" | No | Only blacklisted contacts |
scheduled | "true" | No | Only contacts with pending scheduled messages |
Note: When using
date_fromanddate_totogether, the range cannot exceed 90 days.
Response:
manycontacts.contacts.getGet detailed information about a specific contact including their tags, teams, funnel stages, and custom fields.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number with country code (e.g. 34600000000) |
manycontacts.contacts.createCreate a new WhatsApp Business contact in the CRM. The phone number will be normalized automatically (leading + removed).
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number with country code (e.g. 34600000000) |
name | string | No | Contact display name |
notes | string | No | Free-text notes for the contact |
manycontacts.contacts.updateUpdate an existing contact's name, notes, or custom fields.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact to update |
name | string | No | New contact name |
notes | string | No | New contact notes |
customFields | string | No | Custom fields as a JSON string (e.g. '{"company":"Acme"}') |
manycontacts.contacts.deletePermanently delete a contact from the CRM.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact to delete |
manycontacts.contacts.assignAssign a contact to a specific team member. The assigned user will see this contact in their personal inbox.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact |
userId | string | Yes | User ID to assign the contact to (use manycontacts.users.list to get IDs) |
manycontacts.contacts.unassignRemove the current user assignment from a contact. The contact returns to the general unassigned inbox.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact |
manycontacts.contacts.closeClose a WhatsApp conversation. Closed conversations are archived and won't appear in the active inbox.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact |
manycontacts.contacts.openReopen a previously closed WhatsApp conversation. The contact will appear again in the active inbox.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact |
manycontacts.contacts.tag.addAdd a tag to a contact. Use manycontacts.tags.list to get available tag IDs.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact |
tagId | string | Yes | Tag ID to add |
manycontacts.contacts.tag.removeRemove a tag from a contact.
| Parameter | Type | Required | Description |
|---|---|---|---|
phone | string | Yes | Phone number of the contact |
tagId | string | Yes | Tag ID to remove |
manycontacts.contacts.team.addFactual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/manycontacts-whatsapp-business-crm)<a href="https://allmcps.com/mcp/manycontacts-whatsapp-business-crm"><img src="https://allmcps.com/api/badge/manycontacts-whatsapp-business-crm?style=directory" alt="ManyContacts WhatsApp Business CRM on AllMCPs" /></a>