
ManyContacts - WhatsApp Business CRM
io.github.ManyContactsPublished by GitHub account ManyContactsv1.1.0Updated Oct 24, 2026
WhatsApp Business CRM: send messages, manage contacts, campaigns, and AI agents.
Overview
Lets an assistant operate a ManyContacts WhatsApp Business CRM: send messages, run campaigns, and manage contacts, tags, teams, and AI agents.
- What you can do
- Connects an assistant to a ManyContacts WhatsApp Business CRM account through about 55 tools. It can list, create, update, and delete contacts; add or remove tags, teams, and funnel stages; read and send WhatsApp text, template, and internal note messages; manage approved templates and bulk campaigns; and inspect or adjust AI auto-reply agents and organization settings. It also exposes account context, channels, users, and the organization REST API key.
- When to use it
- Useful when a team already runs its WhatsApp Business support or sales on ManyContacts and wants an assistant to look up conversations, triage and tag contacts, move them through pipelines, or prepare and schedule template campaigns without switching to the web app.
- Requirements
- Runs locally as an npm package (@manycontacts/mcp) via npx, so Node.js is needed, and it is desktop-only. It requires a ManyContacts account and authentication: either the MC_CLI_TOKEN environment variable or a token stored by the ManyContacts CLI login. A connected WhatsApp Business channel and Meta-approved templates are needed for outbound messaging.
Installation
In SourceWeft
- Open ManyContacts - WhatsApp Business CRM in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
Already have an account? Log in:
New to ManyContacts? Create an account and connect your WhatsApp channel:
2. Configure in your MCP client
Claude Desktop / Claude Code
Add to your MCP settings (~/.claude/claude_desktop_config.json or similar):
Cursor
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.
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.
manycontacts.org.get
Get WhatsApp Business organization/account information including name, timezone, and all configuration settings.
manycontacts.org.update
Update organization-level settings such as timezone, auto-reply messages, auto-close behavior, and webhook configuration.
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.
manycontacts.org.apikey
Get the organization's REST API key for direct API integrations.
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.
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.
Note: When using
date_fromanddate_totogether, the range cannot exceed 90 days.
Response:
manycontacts.contacts.get
Get detailed information about a specific contact including their tags, teams, funnel stages, and custom fields.
manycontacts.contacts.create
Create a new WhatsApp Business contact in the CRM. The phone number will be normalized automatically (leading + removed).
manycontacts.contacts.update
Update an existing contact's name, notes, or custom fields.
manycontacts.contacts.delete
Permanently delete a contact from the CRM.
manycontacts.contacts.assign
Assign a contact to a specific team member. The assigned user will see this contact in their personal inbox.
manycontacts.contacts.unassign
Remove the current user assignment from a contact. The contact returns to the general unassigned inbox.
manycontacts.contacts.close
Close a WhatsApp conversation. Closed conversations are archived and won't appear in the active inbox.
manycontacts.contacts.open
Reopen a previously closed WhatsApp conversation. The contact will appear again in the active inbox.
manycontacts.contacts.tag.add
Add a tag to a contact. Use manycontacts.tags.list to get available tag IDs.
manycontacts.contacts.tag.remove
Remove a tag from a contact.
manycontacts.contacts.team.add
Add a team to a contact. Use manycontacts.teams.list to get available team IDs.
manycontacts.contacts.team.remove
Remove a team from a contact.
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.
manycontacts.contacts.bulk
Perform bulk operations on multiple contacts at once. Supports closing, opening, assigning, tagging, and team assignment.
Messaging
manycontacts.messages.list
List WhatsApp conversation messages for a contact. Returns messages in a conversation-friendly format with timestamps, status, and sender information.
manycontacts.messages.send.text
Send a WhatsApp text message to a contact. Only works within the 24-hour conversation window. Use manycontacts.messages.send.template to initiate conversations outside this window.
manycontacts.messages.send.note
Create an internal note on a contact's conversation. Notes are only visible to team members and are not sent to the WhatsApp contact.
manycontacts.messages.send.template
Send a WhatsApp Business template message. Templates are required to initiate conversations outside the 24-hour window or for bulk outbound messaging. Templates must be pre-approved by Meta.
Templates
WhatsApp Business templates are pre-approved message formats required for outbound messaging outside the 24-hour conversation window.
manycontacts.templates.list
List all WhatsApp Business message templates. Shows template name, code, status, components, and media flags.
manycontacts.templates.get
Get full details of a specific template including its components (header, body, footer, buttons), configuration, and media attachments.
manycontacts.templates.sync
Sync WhatsApp Business templates from Meta Cloud API. Fetches the latest templates from the connected WhatsApp Business account. Useful after creating or modifying templates in the Meta Business Manager.
Campaigns
Campaigns allow bulk sending of WhatsApp template messages to a list of phone numbers at a scheduled time.
manycontacts.campaigns.list
List all WhatsApp Business bulk messaging campaigns with statistics (sent, delivered, read, and failed counts), template names, and scheduled dates.
manycontacts.campaigns.create
Create a new WhatsApp Business bulk messaging campaign. The campaign will send a template message to the specified phone numbers at the scheduled time.
manycontacts.campaigns.delete
Delete a WhatsApp Business campaign. Only pending (not yet sent) campaigns can be deleted.
Tags
Tags are colored labels used to categorize and filter WhatsApp Business contacts (e.g. "VIP", "Support", "Lead").
manycontacts.tags.list
List all available tags with their names, colors, and IDs.
manycontacts.tags.create
Create a new tag for categorizing contacts.
manycontacts.tags.update
Update an existing tag's name or color.
manycontacts.tags.delete
Delete a tag. The tag will be removed from all contacts that have it.
Teams
Teams group users together for assignment routing and contact organization.
manycontacts.teams.list
List all teams in the organization.
manycontacts.teams.create
Create a new team.
manycontacts.teams.add_member
Add a user to a team.
manycontacts.teams.remove_member
Remove a user from a team.
manycontacts.teams.delete
Delete a team. Team members are not deleted, only the team grouping.
Sales Funnels / Pipelines
Funnels allow you to track contacts through a multi-stage sales or support pipeline (e.g. "New Lead" -> "Qualified" -> "Proposal" -> "Won").
manycontacts.funnels.list
List all sales funnels/pipelines with their stages.
manycontacts.funnels.create
Create a new sales funnel/pipeline.
manycontacts.funnels.add_stage
Add a new stage to an existing funnel.
manycontacts.funnels.update_stage
Update a stage's name within a funnel.
manycontacts.funnels.contacts
List contacts currently in a specific funnel, optionally filtered by stage. Returns paginated results.
manycontacts.funnels.delete
Delete a sales funnel/pipeline and all its stages. Contacts in the funnel are not deleted.
Users / Team Members
Manage the team members who have access to the WhatsApp Business CRM.
manycontacts.users.list
List all team members/users in the organization with their roles and details.
manycontacts.users.get
Get details of a specific team member.
manycontacts.users.update
Update a team member's profile information.
manycontacts.users.invite
Invite a new team member to the organization by email. They will receive an invitation email to join.
manycontacts.users.delete
Remove a team member from the organization. Their assigned contacts will become unassigned.
AI Agents
AI agents auto-respond to incoming WhatsApp messages using configurable instructions and scenarios. Only active agents are listed.
manycontacts.ai_agents.list
List all active AI auto-reply agents with their configuration.
manycontacts.ai_agents.get
Get full details of a specific AI agent including its scenarios (conversation flows), instruction blocks, and configuration.
manycontacts.ai_agents.update
Update an AI agent's configuration. You can enable/disable the agent or modify its instruction blocks.
manycontacts.ai_agents.feedback
Get feedback and conversation logs for an AI agent. Shows how the agent has been responding and user satisfaction data.
Available Prompts (6 total)
Pre-built prompts that guide AI agents through common workflows. Use these to quickly accomplish multi-step tasks.
contact-lookup
Look up a WhatsApp contact and get a complete summary of their profile, tags, funnel stage, and recent messages.
send-campaign
Step-by-step guide to creating a WhatsApp bulk campaign: lists available templates, asks for recipients and schedule, then creates the campaign.
daily-dashboard
Generates a complete overview of your ManyContacts account including channels, open conversations, team structure, and sales funnels.
reply-to-contact
Reviews recent conversation history with a contact, then sends a WhatsApp message with full context.
manage-funnel
Displays all sales funnels with their stages and contact counts per stage, giving a visual pipeline overview.
bulk-tag-contacts
Tags multiple contacts at once — finds or creates the tag, then applies it in bulk.
Environment Variables
*If you've logged in via the CLI, the token is stored locally at
~/.manycontacts/config.jsonand the MCP server reads it automatically.
Authentication
The MCP server authenticates using CLI tokens. Each token is scoped to an organization and has configurable permissions.
Rate Limits
- Paying accounts: 60 requests/minute
- Free/trial accounts: 10 requests/minute
When rate limited, the server returns a 429 error with a link to upgrade.
License
MIT
Source: README.md at commit cdfb35b
Tools
0Version history
1- v1.1.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.