# ManyContacts - WhatsApp Business MCP (npm · @manycontacts/mcp)

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

- Trust score: 71/100 (medium)
- Change this week: +18
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@manycontacts/mcp`: 71/100 (this document), [markdown](https://verifymcp.io/servers/manycontacts-whatsapp-mcp/manycontacts-mcp.md), [page](https://verifymcp.io/servers/manycontacts-whatsapp-mcp/manycontacts-mcp)

## Channel facts

- Registry: `npm`
- Package: `@manycontacts/mcp`
- Version: `1.1.1`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (108 of 109), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (108 of 109), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 109 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 85/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2857 tokens (~51/item across 55 items; 55 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add manycontacts-whatsapp-mcp -- npx -y @manycontacts/mcp
```

### Codex

```bash
codex mcp add manycontacts-whatsapp-mcp -- npx -y @manycontacts/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "manycontacts-whatsapp-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@manycontacts/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add manycontacts-whatsapp-mcp --command npx --arg -y --arg @manycontacts/mcp
```

### Hermes

```yaml
mcp_servers:
  manycontacts-whatsapp-mcp:
    command: "npx"
    args: ["-y", "@manycontacts/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "manycontacts-whatsapp-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@manycontacts/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 71, +45)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 26, −27)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 53, +29)

- [functional regression] Security disclosure: unverified → fail
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 24, −29)

- [functional regression] Security disclosure: fail → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-07-27 (score 53)

First indexed and scored.

## MCP tools (55)

### `manycontacts.context` (~42 tokens)

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.

### `manycontacts.contacts.list` (~196 tokens)

List WhatsApp Business contacts with filters. Returns paginated results.

Input parameters:

- `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

### `manycontacts.contacts.get` (~49 tokens)

Get detailed information about a WhatsApp Business contact including tags, teams, and funnel stages

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.create` (~61 tokens)

Create a new WhatsApp Business contact in ManyContacts CRM

Input parameters:

- `name` (string): Contact name
- `notes` (string): Contact notes
- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.update` (~79 tokens)

Update an existing WhatsApp Business contact (name, notes, custom fields)

Input parameters:

- `customFields` (string): Custom fields as JSON string
- `name` (string): New contact name
- `notes` (string): New contact notes
- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.delete` (~42 tokens)

Delete a WhatsApp Business contact from ManyContacts CRM

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.assign` (~57 tokens)

Assign a WhatsApp Business contact to a team member

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `userId` (string, required): User ID to assign the contact to

### `manycontacts.contacts.unassign` (~44 tokens)

Unassign a WhatsApp Business contact (remove user assignment)

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.close` (~38 tokens)

Close a WhatsApp Business conversation

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.open` (~40 tokens)

Reopen a closed WhatsApp Business conversation

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.contacts.tag.add` (~54 tokens)

Add a tag to a WhatsApp Business contact

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `tagId` (string, required): Tag ID to add

### `manycontacts.contacts.tag.remove` (~54 tokens)

Remove a tag from a WhatsApp Business contact

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `tagId` (string, required): Tag ID to remove

### `manycontacts.contacts.team.add` (~54 tokens)

Add a team to a WhatsApp Business contact

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `teamId` (string, required): Team ID to add

### `manycontacts.contacts.team.remove` (~54 tokens)

Remove a team from a WhatsApp Business contact

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `teamId` (string, required): Team ID to remove

### `manycontacts.contacts.set_stage` (~68 tokens)

Move a WhatsApp Business contact to a funnel/pipeline stage

Input parameters:

- `funnel_id` (string, required): Funnel ID
- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `stage_id` (string, required): Stage ID within the funnel

### `manycontacts.contacts.bulk` (~82 tokens)

Perform bulk operations on multiple WhatsApp Business contacts (close, open, assign, add_tag, add_team)

Input parameters:

- `action` (string, required): Bulk action to perform
- `phones` (string, required): Comma-separated phone numbers
- `value` (string): Value for action (user_id for assign, tag_id for add_tag, team_id for add_team)

### `manycontacts.messages.list` (~76 tokens)

List WhatsApp Business messages for a contact. Shows the conversation history with timestamps and status.

Input parameters:

- `limit` (number): Messages per page (default 50)
- `page` (number): Page number (default 1)
- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.messages.send.text` (~55 tokens)

Send a WhatsApp Business text message to a phone number

Input parameters:

- `body` (string, required): Message text to send
- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.messages.send.note` (~59 tokens)

Send an internal note on a WhatsApp Business contact (not visible to the contact)

Input parameters:

- `body` (string, required): Internal note text
- `phone` (string, required): Phone number with country code, e.g. 34600000000

### `manycontacts.messages.send.template` (~85 tokens)

Send a WhatsApp Business template message (for outbound messaging outside the 24h window)

Input parameters:

- `phone` (string, required): Phone number with country code, e.g. 34600000000
- `templateId` (string, required): Template ID to send
- `variables` (string): Template variables as JSON array, e.g. '["John","20%"]'

### `manycontacts.templates.list` (~42 tokens)

List WhatsApp Business message templates. Templates are required for sending messages outside the 24h conversation window.

Input parameters:

- `status` (string): Filter by template status

### `manycontacts.templates.get` (~34 tokens)

Get details of a specific WhatsApp Business message template including components and configuration

Input parameters:

- `id` (string, required): Template ID

### `manycontacts.templates.sync` (~33 tokens)

Sync WhatsApp Business templates from Meta Cloud API. Fetches the latest templates from the connected WhatsApp Business account.

### `manycontacts.campaigns.list` (~31 tokens)

List WhatsApp Business bulk messaging campaigns with statistics (sent, delivered, read, failed counts)

### `manycontacts.campaigns.create` (~127 tokens)

Create a WhatsApp Business bulk messaging campaign. Sends a template message to a list of phone numbers at a scheduled time.

Input parameters:

- `date` (string, required): Scheduled send date in ISO format, e.g. 2026-12-01T09:00:00
- `name` (string, required): Campaign name
- `phones` (string, required): Comma-separated phone numbers to send to
- `templateId` (string, required): WhatsApp template ID to use
- `variables` (string): Template variables as JSON array, e.g. '["John","20%"]'

### `manycontacts.campaigns.delete` (~30 tokens)

Delete a WhatsApp Business campaign

Input parameters:

- `id` (string, required): Campaign ID to delete

### `manycontacts.org.get` (~24 tokens)

Get WhatsApp Business organization/account information (name, timezone, settings)

### `manycontacts.org.update` (~181 tokens)

Update WhatsApp Business organization settings (timezone, auto-reply, webhooks, etc.)

Input parameters:

- `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

### `manycontacts.org.schedule.get` (~23 tokens)

Get the business hours schedule for the WhatsApp Business account

### `manycontacts.org.apikey` (~17 tokens)

Get the organization API key

### `manycontacts.users.list` (~21 tokens)

List team members/users in the WhatsApp Business organization

### `manycontacts.users.get` (~28 tokens)

Get details of a specific team member/user

Input parameters:

- `id` (string, required): User ID

### `manycontacts.users.update` (~35 tokens)

Update a team member/user profile

Input parameters:

- `id` (string, required): User ID
- `name` (string): User name

### `manycontacts.users.invite` (~34 tokens)

Invite a new team member to the WhatsApp Business organization

Input parameters:

- `email` (string, required): Email address to invite

### `manycontacts.users.delete` (~32 tokens)

Remove a team member from the WhatsApp Business organization

Input parameters:

- `id` (string, required): User ID to remove

### `manycontacts.tags.list` (~21 tokens)

List all tags for categorizing WhatsApp Business contacts

### `manycontacts.tags.create` (~54 tokens)

Create a new tag for WhatsApp Business contacts

Input parameters:

- `color` (string): Tag color hex, e.g. #ff0000 (default #fab1a0)
- `name` (string, required): Tag name

### `manycontacts.tags.update` (~49 tokens)

Update an existing WhatsApp Business contact tag

Input parameters:

- `color` (string): New tag color hex
- `id` (string, required): Tag ID
- `name` (string): New tag name

### `manycontacts.tags.delete` (~29 tokens)

Delete a WhatsApp Business contact tag

Input parameters:

- `id` (string, required): Tag ID to delete

### `manycontacts.teams.list` (~20 tokens)

List teams in the WhatsApp Business organization

### `manycontacts.teams.create` (~31 tokens)

Create a new team in the WhatsApp Business organization

Input parameters:

- `name` (string, required): Team name

### `manycontacts.teams.add_member` (~41 tokens)

Add a user to a team

Input parameters:

- `teamId` (string, required): Team ID
- `userId` (string, required): User ID to add

### `manycontacts.teams.remove_member` (~41 tokens)

Remove a user from a team

Input parameters:

- `teamId` (string, required): Team ID
- `userId` (string, required): User ID to remove

### `manycontacts.teams.delete` (~32 tokens)

Delete a team from the WhatsApp Business organization

Input parameters:

- `id` (string, required): Team ID to delete

### `manycontacts.funnels.list` (~25 tokens)

List sales funnels/pipelines for organizing WhatsApp Business contacts by stage

### `manycontacts.funnels.create` (~33 tokens)

Create a new sales funnel/pipeline for WhatsApp Business contacts

Input parameters:

- `name` (string, required): Funnel name

### `manycontacts.funnels.add_stage` (~51 tokens)

Add a stage to a sales funnel/pipeline

Input parameters:

- `funnelId` (string, required): Funnel ID
- `name` (string, required): Stage name
- `order` (number, required): Stage order position

### `manycontacts.funnels.update_stage` (~54 tokens)

Update a stage in a sales funnel/pipeline

Input parameters:

- `funnelId` (string, required): Funnel ID
- `name` (string): New stage name
- `stageId` (string, required): Stage ID to update

### `manycontacts.funnels.delete` (~29 tokens)

Delete a sales funnel/pipeline

Input parameters:

- `id` (string, required): Funnel ID to delete

### `manycontacts.funnels.contacts` (~65 tokens)

List contacts in a funnel/pipeline, optionally filtered by stage

Input parameters:

- `funnelId` (string, required): Funnel ID
- `limit` (number): Results per page
- `page` (number): Page number
- `stage_id` (string): Filter by stage ID

### `manycontacts.ai_agents.list` (~25 tokens)

List AI agents configured to auto-respond to WhatsApp Business messages

### `manycontacts.ai_agents.get` (~37 tokens)

Get details of a specific WhatsApp AI agent including scenarios and configuration

Input parameters:

- `id` (string, required): AI Agent ID (UUID)

### `manycontacts.ai_agents.update` (~93 tokens)

Update a WhatsApp AI agent's configuration (instructions, active status, etc.)

Input parameters:

- `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, required): AI Agent ID (UUID)

### `manycontacts.ai_agents.feedback` (~35 tokens)

Get feedback/conversation logs for a WhatsApp AI agent

Input parameters:

- `id` (string, required): AI Agent ID (UUID)

### `manycontacts.channels.list` (~19 tokens)

List connected WhatsApp Business and Instagram channels

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/manycontacts-whatsapp-mcp/manycontacts-mcp#diagnostics

## Score history

- 2026-08-03: 71
- 2026-08-02: 71
- 2026-08-01: 26
- 2026-07-31: 26
- 2026-07-30: 53
- 2026-07-28: 24
- 2026-07-27: 53

## Links

- npm package: https://www.npmjs.com/package/@manycontacts/mcp
- Socket report: https://socket.dev/npm/package/@manycontacts/mcp
- Repository: https://github.com/manycontacts/mcp
- Changelog RSS feed: https://verifymcp.io/servers/manycontacts-whatsapp-mcp/manycontacts-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/manycontacts-whatsapp-mcp/manycontacts-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/manycontacts-whatsapp-mcp/manycontacts-mcp
