Documentation
Connect Claude or any MCP client to Chat Manager and manage your WhatsApp groups programmatically.
Overview
Chat Manager exposes a Model Context Protocol (MCP) server. Once connected, an MCP client such as Claude can read and manage your starred WhatsApp groups on your behalf: create groups, generate a shareable web invite link for a website, list members, read stored messages, send messages, add or remove people, rename groups, and register webhooks.
The server speaks the MCP Streamable HTTP transport (JSON-RPC 2.0 over
HTTP POST) and implements protocol revision 2025-06-18.
Before you start
- A Chat Manager account โ register for free.
- Your WhatsApp device linked in Chat Manager (open the app and scan the QR code).
- At least one starred group. The MCP server only ever reads or changes groups you have starred โ never arbitrary ones.
Step 1 โ Create a personal access token
Sign in to the dashboard and open Settings โ Claude & MCP (app.chat-man.net/app/settings/mcp). Enter a name (for example Claude Desktop) and click Create token.
Copy the token immediately โ for your security it is shown only once and cannot be retrieved again. You can create and revoke tokens at any time.
Step 2 โ Connect your client
The endpoint
The MCP server lives at a single HTTPS endpoint:
https://app.chat-man.net/mcp
Authenticate every request with your personal access token as an
Authorization: Bearer header:
Authorization: Bearer YOUR_TOKEN
Only POST is supported (each tool call is a single request โ response).
A missing or invalid token returns 401 Unauthorized; too many requests
in a short window return 429 Too Many Requests.
Clients that speak Streamable HTTP
If your client supports remote MCP servers directly, point it at the endpoint above and set the bearer token. For example:
{
"mcpServers": {
"chat-manager": {
"url": "https://app.chat-man.net/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Clients that need a stdio bridge (e.g. Claude Desktop)
For clients that launch local MCP servers over stdio, use
mcp-remote to bridge
to the HTTP endpoint. It requires Node.js. Add this to
your client's MCP configuration:
{
"mcpServers": {
"chat-manager": {
"command": "npx",
"args": [
"mcp-remote",
"https://app.chat-man.net/mcp",
"--header",
"Authorization: Bearer YOUR_TOKEN"
]
}
}
}
Replace YOUR_TOKEN with the token from Step 1, then restart your client.
The dashboard shows a ready-to-copy version of this snippet.
Step 3 โ Use it
Most tools operate on your starred groups. Call list_starred_groups first
to discover each group's jid (its WhatsApp identifier, like
123456789-987654@g.us), then pass that jid to the other tools.
Write actions (sending messages, adding or removing members, renaming, setting a
description) require your WhatsApp device to be connected.
Add a "message us" link to your website
A common flow โ for example on a site built with Lovable โ is to spin up a WhatsApp group and let visitors message it from a button on your page. Ask your MCP client to:
- Call
create_groupwith a name (e.g. "Acme Support"). It creates the group, stars it, and returns the group'sjidplus aninviteLink. - Put that
inviteLinkโ ahttps://chat.whatsapp.com/โฆURL โ on your website as a link or button. Anyone who opens it joins the group and can message it.
For an existing group, fetch the same link any time with get_group_invite_link:
<a href="https://chat.whatsapp.com/YOUR_INVITE_CODE">
Message us on WhatsApp
</a>
Need to revoke a link (for example if it leaked)? Call get_group_invite_link
with reset: true to invalidate the old link and generate a fresh one.
Available tools
Reading groups
| Tool | What it does |
|---|---|
list_starred_groups |
List your starred groups with each group's name, JID, participant count, and how many members have joined or left since you last visited. Call this first. |
get_starred_group |
Get details for one group: name, description, participant count, when it was starred and last visited, and pending membership changes. |
list_group_participants |
List a group's current members with name, phone number, admin role, last-message time, and message count. Live lookup โ your device must be connected. |
get_membership_changes |
List members who joined or left since the group was last visited, as two lists. |
get_group_messages |
Read stored messages, newest first, with pagination. Messages are captured live while your device is online, from when the group was starred onward. Media is returned as metadata only, never file contents. |
Managing groups
| Tool | What it does |
|---|---|
create_group |
Create a new WhatsApp group by name. You become the owner, the group is starred automatically, and a shareable web invite link is returned. Requires a connected device. |
get_group_invite_link |
Get a group's shareable web invite link (https://chat.whatsapp.com/โฆ) โ
anyone who opens it joins the group and can message it. Pass reset to
revoke the old link. Admins only. |
star_group |
Star one of your WhatsApp groups so it can be tracked and managed. |
unstar_group |
Remove the star from a group and discard its tracked membership history. |
mark_group_visited |
Mark a group as visited now, clearing its pending "since last visit" changes. |
send_group_message |
Send a text message to a starred group. Requires a connected device. |
add_group_members |
Add members by phone number (international format) or JID. Admins only. |
remove_group_members |
Remove members by phone number or JID. Admins only. |
rename_group |
Change a group's name (subject). Admins only. |
set_group_description |
Set or clear a group's description (topic). Admins only. |
Webhooks
Webhook tools manage outbound HTTP endpoints and are not tied to a single group.
| Tool | What it does |
|---|---|
list_webhooks |
List your registered webhooks: id, URL, name, created time, last delivery. |
add_webhook |
Register an endpoint to receive events. Returns a signing secret exactly once โ save it to verify deliveries. |
delete_webhook |
Delete a registered webhook by its id. |
Notes & limits
- Starred groups only. Every read and write is scoped to groups you
have starred. To act on a new group, star it first (in the app or with
star_group). - Device connection. Live reads and all write actions need your linked WhatsApp device to be online. If it is offline, those calls fail with a clear error.
- Admin actions. Adding, removing, renaming, and setting a description require you to be an admin of the group, just like in WhatsApp.
- Rate limits. Requests are rate-limited per token. If you hit the
limit you receive
429with aRetry-Afterheader. - Message history. Stored messages exist only from the moment a group is starred, and only while message storage is enabled in your account settings.
Need help? Email hello@chat-man.net.