Whatsteam mcp
Skill whatsteamhq/whatsapp-claude-skills/skills/whatsteam-mcp
Reference for the WhatsTeam Model Context Protocol (MCP) server, scoped to the official WhatsApp Business API (WABA). Use when the agent needs to choose which WhatsTeam tool to call, understand parameter shapes, or troubleshoot tool errors. Covers the WABA-supported tool modules — messaging, templates, chats, chat-messages, labels, contacts, team, departments, queue, campaigns, devices, files, numbers, ping. The detailed per-tool catalog lives in references/tools-reference.md and loads on demand.From its SKILL.md
npx -y skills add whatsteamhq/whatsapp-claude-skills --skill whatsteam-mcpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.0 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
WhatsTeam MCP
The WhatsTeam MCP server (hosted at https://api.whats.team/mcp, connected via mcp-remote) wraps the WhatsTeam REST API as a Model Context Protocol server so any compatible agent can manage WhatsApp by calling typed tools instead of issuing HTTP requests.
When to use
This skill is consulted by the agent whenever it has to pick a WhatsTeam tool. Activate it when:
- The user describes a WhatsApp task and the agent is unsure which MCP tool to call.
- A tool returned an error and the agent needs to confirm parameter shape or required envvars.
- The user asks "what can WhatsTeam do?" or wants a quick capability map.
- An industry skill (
whatsteam-ecommerce, etc.) refers back to a specific tool category.
If the user has not yet installed the MCP server, route to whatsteam-setup first.
Prerequisites
WHATSTEAM_API_KEYset and validated (seewhatsteam-setup).- The MCP server registered in the agent's config under the name
whatsteam. - A device connected (
status: ready) — many tools take adeviceparameter.
Tool catalog (14 modules)
Each module groups related tools. Names below are the canonical category — the actual tool names within a module follow the pattern <verb>_whatsapp_<entity> (get_whatsapp_chats, send_whatsapp_message, etc.). The exhaustive list with signatures lives in references/tools-reference.md.
The WhatsTeam MCP also exposes modules that only work on legacy QR-paired devices (WhatsApp Status updates, group management, channel management, live messages). They are omitted from this catalog because this pack targets the official WABA only — see
whatsteam-setupfor the rationale.
Messaging
- messages — send text, media, location, contact card, poll, scheduled, agent-attributed messages.
- templates — list approved WABA templates, send a template, manage variables.
Conversations
- chats — search, filter (status, contact type, archived, assigned, unread), and get chat metadata.
- chat-messages — pull message history with filters (recent, date range, sender, type, thread, by id).
- labels — create, list, update, delete labels (CRUD). To apply/remove a label on a chat, use the
send_whatsapp_messageagentaction (labels:add/labels:remove).
Audience
- contacts — no general contacts tool in the MCP. Reach contact data via
search_whatsapp_chats_by_name, campaign contacts (manage_whatsapp_campaign_contacts),verifyWhatsAppNumberExists, the embeddedchat.contact, or the REST/contactsAPI (seewhatsteam-contacts).
Multi-agent inbox
- team — create, update, delete team members; grant or revoke device access.
- departments — list, create, update, delete departments and their agent assignments.
- queue — get queue status, update status (pause / active / reject / freeze), delete queued messages.
Outbound campaigns
- campaigns — create, update, start, stop, delete campaigns; manage their contact lists.
Infrastructure
- devices — list devices, get details, filter by status or session.
- files — upload from URL, search inbound/outbound files, get details, update metadata, delete.
- numbers — verify whether a phone number is on WhatsApp before sending.
- ping — health check the MCP / API connection.
How to choose the right tool
When deciding which tool to call, walk down this short decision tree:
- Is the user asking to send something? →
messages(text/media inside the 24h window) ortemplates(WABA template outside the window) orcampaigns(bulk). - Is the user asking to read something? →
chats(chat list/metadata) orchat-messages(message history) orcontacts(audience). - Is the user asking to organize things? →
labels(tag chats),team/departments(assignment),queue(control delivery). - Is the user asking about the account itself? →
devices(numbers connected),ping(health),files(media storage),numbers(validate a phone).
Use the unified get_whatsapp_chats with the right action (e.g. action: "unread" for unread chats, action: "by_status" for resolved/active). Thin convenience wrappers like get_whatsapp_unread_chats exist and call the same backend, so either form works.
Common pitfalls
- 24-hour customer service window. On WABA numbers, free-form messages are only allowed within 24 h of the contact's last inbound message. Outside that window, you must send a pre-approved template via the
templatesmodule. Always checkchat.lastInboundAtbefore sending a free-form message — if older than 24 h, switch to a template. - Templates are pre-approved per language. Listing them with
list_whatsapp_templatesshows statusAPPROVED/PENDING/REJECTED. OnlyAPPROVEDones can be sent. - No groups / channels / WhatsApp Status on WABA. Official WABA numbers do not support those features. If a recipe seems to need a "group", redesign it around 1:1 chats, a broadcast campaign, or a different communication channel for internal coordination.
- Conversation tiers. WABA paces outbound by the device's daily conversation tier (250 / 1K / 10K / 100K / unlimited unique users per 24 h). Check via
get_whatsapp_device_detailsbefore large sends. - Rate limits. Heavy outbound traffic is paced by the WhatsTeam queue. Use
queuetools to monitor andcampaigns(not loop-sending) for any audience over ~50 contacts. - Media must be uploaded first (or referenced by URL). For local files, call
upload_whatsapp_file_from_url(or the upload-file flow), grab the returnedfile.id, then attach it to asend_whatsapp_messagecall. - Always supply
device. Almost every tool needsdevice(the device ID). If the user has only one device, fetch it once viaget_whatsapp_devicesand reuse the ID. If they have multiple, ask.
Reference
The full catalog with per-tool parameters, return shapes, and example prompts is in references/tools-reference.md. Load it when you need exact tool names or argument shapes.
External docs:
- Official MCP repo (source of truth for tool changes): https://whats.team/mcp
- Full WhatsTeam API reference: https://app.whats.team/docs
- WhatsApp Business policy windows: https://developers.facebook.com/docs/whatsapp/cloud-api/guides/send-messages/
What ships with it: 1 file
17.8 KB alongside SKILL.md
references/
- tools-reference.md17.8 KB
Gives 0 of the 12 instructions most mcp tooling skills give in ~1.5k tokens
Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07
- Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
- Test servers using MCP Inspectorin 61 of 638, across 19 files
- Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
- Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
- Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
- Define structured output schemas where possiblein 50 of 638, across 8 files
- Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
- Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
- Load framework documentation using WebFetchin 45 of 638, across 3 files
- Verify each evaluation answer independentlyin 45 of 638, across 3 files
- Implement API client with authentication and paginationin 45 of 638, across 3 files
- Define input schemas with validationin 27 of 638, across 9 files
Said here and by no other author read
- route uninstalled servers to whatsteam-setup
- require a ready device status before calling tools
- load references for exact tool names or arguments
- send a template outside the 24-hour service window
- check conversation tier before large sends
- use campaigns for audiences over 50 contacts
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.