ManyContacts - WhatsApp Business MCP
NPM · @MANYCONTACTS/MCP · SCANNED SEP 20
WhatsApp Business MCP: send messages, manage contacts, campaigns, and AI agents.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 34 of 109 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 157 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability88
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 2857 tokens (~51/item across 55 items; 55 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "manycontacts.contacts.delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 56 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the ManyContacts - WhatsApp Business MCP server?
ManyContacts - WhatsApp Business MCP runs locally as an npm package, launched with npx -y @manycontacts/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @manycontacts/mcp
claude mcp add manycontacts-whatsapp-mcp -- npx -y @manycontacts/mcp
{
"mcpServers": {
"manycontacts-whatsapp-mcp": {
"command": "npx",
"args": [
"-y",
"@manycontacts/mcp"
]
}
}
} {
"servers": {
"manycontacts-whatsapp-mcp": {
"command": "npx",
"args": [
"-y",
"@manycontacts/mcp"
]
}
}
} codex mcp add manycontacts-whatsapp-mcp -- npx -y @manycontacts/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"manycontacts-whatsapp-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@manycontacts/mcp"
],
"enabled": true
}
}
} openclaw mcp add manycontacts-whatsapp-mcp --command npx --arg -y --arg @manycontacts/mcp
mcp_servers:
manycontacts-whatsapp-mcp:
command: "npx"
args: ["-y", "@manycontacts/mcp"] {
"McpServers": {
"manycontacts-whatsapp-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@manycontacts/mcp"
]
}
}
} assistant mcp add manycontacts-whatsapp-mcp -t stdio -c npx -a -y @manycontacts/mcp
{
"mcpServers": {
"manycontacts-whatsapp-mcp": {
"command": "npx",
"args": [
"-y",
"@manycontacts/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
- 15 Sept 26 +1
- Stability: 0.97 → pass security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 −3
- Stability: pass → 0.83 functional
- 9 Sept 26 +1
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@manycontacts/mcp@1.1.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 109 packages
| Packages resolved | 109 |
|---|---|
| Stale | 34 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
manycontacts.ai_agents.feedback ~35
Get feedback/conversation logs for a WhatsApp AI agent
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | AI Agent ID (UUID) |
No output schema declared.
No examples provided.
manycontacts.ai_agents.get ~37
Get details of a specific WhatsApp AI agent including scenarios and configuration
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | AI Agent ID (UUID) |
No output schema declared.
No examples provided.
manycontacts.ai_agents.list ~25
List AI agents configured to auto-respond to WhatsApp Business messages
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.ai_agents.update ~93
Update a WhatsApp AI agent's configuration (instructions, active status, etc.)
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Enable or disable the agent |
| block_1 | string | – | Agent instructions block 1 |
| block_2 | string | – | Agent instructions block 2 |
| block_3 | string | – | Agent instructions block 3 |
| id | string | yes | AI Agent ID (UUID) |
No output schema declared.
No examples provided.
manycontacts.campaigns.create ~127
Create a WhatsApp Business bulk messaging campaign. Sends a template message to a list of phone numbers at a scheduled time.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | Scheduled send date in ISO format, e.g. 2026-12-01T09:00:00 |
| name | string | yes | Campaign name |
| phones | string | yes | Comma-separated phone numbers to send to |
| templateId | string | yes | WhatsApp template ID to use |
| variables | string | – | Template variables as JSON array, e.g. '["John","20%"]' |
No output schema declared.
No examples provided.
manycontacts.campaigns.delete ~30
Delete a WhatsApp Business campaign
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Campaign ID to delete |
No output schema declared.
No examples provided.
manycontacts.campaigns.list ~31
List WhatsApp Business bulk messaging campaigns with statistics (sent, delivered, read, failed counts)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.channels.list ~19
List connected WhatsApp Business and Instagram channels
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.contacts.assign ~57
Assign a WhatsApp Business contact to a team member
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| userId | string | yes | User ID to assign the contact to |
No output schema declared.
No examples provided.
manycontacts.contacts.bulk ~82
Perform bulk operations on multiple WhatsApp Business contacts (close, open, assign, add_tag, add_team)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Bulk action to perform |
| phones | string | yes | Comma-separated phone numbers |
| value | string | – | Value for action (user_id for assign, tag_id for add_tag, team_id for add_team) |
No output schema declared.
No examples provided.
manycontacts.contacts.close ~38
Close a WhatsApp Business conversation
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.contacts.create ~61
Create a new WhatsApp Business contact in ManyContacts CRM
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Contact name |
| notes | string | – | Contact notes |
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.contacts.delete ~42
Delete a WhatsApp Business contact from ManyContacts CRM
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.contacts.get ~49
Get detailed information about a WhatsApp Business contact including tags, teams, and funnel stages
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.contacts.list ~196
List WhatsApp Business contacts with filters. Returns paginated results.
| Name | Type | Req | Description |
|---|---|---|---|
| assigned_to | string | – | Filter by assigned user ID |
| blacklist | string | – | Only blacklisted contacts |
| date_from | string | – | Filter updated after date (YYYY-MM-DD) |
| date_to | string | – | Filter updated before date (YYYY-MM-DD, max 90 days range) |
| limit | number | – | Results per page, max 200 (default 50) |
| open | string | – | Filter by open/closed status |
| page | number | – | Page number (default 1) |
| scheduled | string | – | Only contacts with pending scheduled messages |
| stages | string | – | Comma-separated funnel stage IDs |
| tags | string | – | Comma-separated tag IDs (contacts must have ALL tags) |
| team | string | – | Filter by team ID |
| unread | string | – | Only contacts with unread messages |
No output schema declared.
No examples provided.
manycontacts.contacts.open ~40
Reopen a closed WhatsApp Business conversation
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.contacts.set_stage ~68
Move a WhatsApp Business contact to a funnel/pipeline stage
| Name | Type | Req | Description |
|---|---|---|---|
| funnel_id | string | yes | Funnel ID |
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| stage_id | string | yes | Stage ID within the funnel |
No output schema declared.
No examples provided.
manycontacts.contacts.tag.add ~54
Add a tag to a WhatsApp Business contact
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| tagId | string | yes | Tag ID to add |
No output schema declared.
No examples provided.
manycontacts.contacts.tag.remove ~54
Remove a tag from a WhatsApp Business contact
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| tagId | string | yes | Tag ID to remove |
No output schema declared.
No examples provided.
manycontacts.contacts.team.add ~54
Add a team to a WhatsApp Business contact
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| teamId | string | yes | Team ID to add |
No output schema declared.
No examples provided.
manycontacts.contacts.team.remove ~54
Remove a team from a WhatsApp Business contact
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| teamId | string | yes | Team ID to remove |
No output schema declared.
No examples provided.
manycontacts.contacts.unassign ~44
Unassign a WhatsApp Business contact (remove user assignment)
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.contacts.update ~79
Update an existing WhatsApp Business contact (name, notes, custom fields)
| Name | Type | Req | Description |
|---|---|---|---|
| customFields | string | – | Custom fields as JSON string |
| name | string | – | New contact name |
| notes | string | – | New contact notes |
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.context ~42
Get ManyContacts account overview: WhatsApp Business channels, contact/user/tag counts, active AI agents, and enabled features. Use this first to understand the account state.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.funnels.add_stage ~51
Add a stage to a sales funnel/pipeline
| Name | Type | Req | Description |
|---|---|---|---|
| funnelId | string | yes | Funnel ID |
| name | string | yes | Stage name |
| order | number | yes | Stage order position |
No output schema declared.
No examples provided.
manycontacts.funnels.contacts ~65
List contacts in a funnel/pipeline, optionally filtered by stage
| Name | Type | Req | Description |
|---|---|---|---|
| funnelId | string | yes | Funnel ID |
| limit | number | – | Results per page |
| page | number | – | Page number |
| stage_id | string | – | Filter by stage ID |
No output schema declared.
No examples provided.
manycontacts.funnels.create ~33
Create a new sales funnel/pipeline for WhatsApp Business contacts
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Funnel name |
No output schema declared.
No examples provided.
manycontacts.funnels.delete ~29
Delete a sales funnel/pipeline
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Funnel ID to delete |
No output schema declared.
No examples provided.
manycontacts.funnels.list ~25
List sales funnels/pipelines for organizing WhatsApp Business contacts by stage
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.funnels.update_stage ~54
Update a stage in a sales funnel/pipeline
| Name | Type | Req | Description |
|---|---|---|---|
| funnelId | string | yes | Funnel ID |
| name | string | – | New stage name |
| stageId | string | yes | Stage ID to update |
No output schema declared.
No examples provided.
manycontacts.messages.list ~76
List WhatsApp Business messages for a contact. Shows the conversation history with timestamps and status.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Messages per page (default 50) |
| page | number | – | Page number (default 1) |
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.messages.send.note ~59
Send an internal note on a WhatsApp Business contact (not visible to the contact)
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Internal note text |
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.messages.send.template ~85
Send a WhatsApp Business template message (for outbound messaging outside the 24h window)
| Name | Type | Req | Description |
|---|---|---|---|
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
| templateId | string | yes | Template ID to send |
| variables | string | – | Template variables as JSON array, e.g. '["John","20%"]' |
No output schema declared.
No examples provided.
manycontacts.messages.send.text ~55
Send a WhatsApp Business text message to a phone number
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Message text to send |
| phone | string | yes | Phone number with country code, e.g. 34600000000 |
No output schema declared.
No examples provided.
manycontacts.org.apikey ~17
Get the organization API key
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.org.get ~24
Get WhatsApp Business organization/account information (name, timezone, settings)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.org.schedule.get ~23
Get the business hours schedule for the WhatsApp Business account
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.org.update ~181
Update WhatsApp Business organization settings (timezone, auto-reply, webhooks, etc.)
| Name | Type | Req | Description |
|---|---|---|---|
| auto_reply_away | boolean | – | Enable away auto-reply |
| auto_reply_away_text | string | – | Away auto-reply text |
| auto_reply_close | boolean | – | Enable auto-reply on chat close |
| auto_reply_close_minutes | number | – | Minutes before auto-close |
| auto_reply_close_text | string | – | Auto-reply text when chat closes |
| auto_reply_open | boolean | – | Enable auto-reply on chat open |
| auto_reply_open_text | string | – | Auto-reply text when chat opens |
| timezone | string | – | Timezone, e.g. Europe/Madrid |
| webhooks_forward | boolean | – | Enable webhook forwarding |
| webhooks_forward_url | string | – | Webhook forward URL |
No output schema declared.
No examples provided.
manycontacts.tags.create ~54
Create a new tag for WhatsApp Business contacts
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Tag color hex, e.g. #ff0000 (default #fab1a0) |
| name | string | yes | Tag name |
No output schema declared.
No examples provided.
manycontacts.tags.delete ~29
Delete a WhatsApp Business contact tag
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Tag ID to delete |
No output schema declared.
No examples provided.
manycontacts.tags.list ~21
List all tags for categorizing WhatsApp Business contacts
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.tags.update ~49
Update an existing WhatsApp Business contact tag
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | New tag color hex |
| id | string | yes | Tag ID |
| name | string | – | New tag name |
No output schema declared.
No examples provided.
manycontacts.teams.add_member ~41
Add a user to a team
| Name | Type | Req | Description |
|---|---|---|---|
| teamId | string | yes | Team ID |
| userId | string | yes | User ID to add |
No output schema declared.
No examples provided.
manycontacts.teams.create ~31
Create a new team in the WhatsApp Business organization
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Team name |
No output schema declared.
No examples provided.
manycontacts.teams.delete ~32
Delete a team from the WhatsApp Business organization
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Team ID to delete |
No output schema declared.
No examples provided.
manycontacts.teams.list ~20
List teams in the WhatsApp Business organization
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manycontacts.teams.remove_member ~41
Remove a user from a team
| Name | Type | Req | Description |
|---|---|---|---|
| teamId | string | yes | Team ID |
| userId | string | yes | User ID to remove |
No output schema declared.
No examples provided.
manycontacts.templates.get ~34
Get details of a specific WhatsApp Business message template including components and configuration
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Template ID |
No output schema declared.
No examples provided.
manycontacts.templates.list ~42
List WhatsApp Business message templates. Templates are required for sending messages outside the 24h conversation window.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Filter by template status |
No output schema declared.
No examples provided.
manycontacts.templates.sync ~33
Sync WhatsApp Business templates from Meta Cloud API. Fetches the latest templates from the connected WhatsApp Business account.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the ManyContacts - WhatsApp Business MCP server?
ManyContacts - WhatsApp Business MCP is listed in the public MCP registry as io.github.ManyContacts/whatsapp-mcp. WhatsApp Business MCP: send messages, manage contacts, campaigns, and AI agents. This page covers its npm package (@manycontacts/mcp).
Is the ManyContacts - WhatsApp Business MCP server safe to use?
ManyContacts - WhatsApp Business MCP scores 84 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the ManyContacts - WhatsApp Business MCP server expose?
ManyContacts - WhatsApp Business MCP exposes 55 tools: manycontacts.context, manycontacts.contacts.list, manycontacts.contacts.get, manycontacts.contacts.create, manycontacts.contacts.update, and 50 more. Their descriptions and schemas cost roughly 2,765 tokens of context every time the server is loaded.
Is the ManyContacts - WhatsApp Business MCP server still maintained?
ManyContacts - WhatsApp Business MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the ManyContacts - WhatsApp Business MCP server under?
ManyContacts - WhatsApp Business MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.