Skip to main content
Glama
649,985 tools. Updated 2026-10-08 19:27

"whatsapp" matching MCP tools:

  • Create a WhatsApp or SMS media template via POST /v1/media-block/create. Set type to sms for SMS templates.
    ConnectorNo auth
  • Change an editable-after-connect setting on a connected number WITHOUT re-pairing. Today the only field is `proxy_url` — the SOCKS5/HTTPS proxy WhatsApp connects through (recommended to avoid IP bans). Owner/admin or the connection owner. - `account`: which number (id/wa_jid, phone, or label; omit if only one is connected). - `values`: e.g. { "proxy_url": "socks5://user:pass@host:port" }. An empty string CLEARS the field (e.g. { "proxy_url": "" } connects with no proxy); omit the key to keep the current value. The new value applies on the next (re)connection; the live session cache is invalidated so the next tool call uses it.
    ConnectorNo auth
  • Connect or reconnect the user's WhatsApp account directly in the conversation without leaving the agent. Default mode returns a QR code image to scan from WhatsApp > Linked devices; with phone_number it returns a pairing code to type on the phone instead (useful when the QR image cannot be displayed). Then poll account_connection_status until connected. Requires an active trial/subscription and a free WhatsApp slot on the plan; otherwise the result explains the upgrade. Use account_id to re-authenticate an existing disconnected WhatsApp account.
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables pushing WhatsApp messages into a running Claude Code session, allowing users to reply and approve or deny tool requests from their phone.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to send WhatsApp notifications to their owner and read the owner's replies through a local gateway, without requiring the Meta Business API.
    MIT

Matching MCP Connectors

  • Your own WhatsApp as an MCP server: read, search and send from any MCP client.

  • Connect a personal/Business WhatsApp account via QR pairing (multi-device, like WhatsApp Web). Send

  • Creates a WhatsApp group and adds the given participants. This NOTIFIES everyone you add and cannot be undone if the participant list is wrong, so it is a write operation: the first call (confirm=false) returns a preview of the name + participants without creating anything; set confirm=true to actually create. Resolve numbers first with whatsapp_search_contacts. ⚠️ Uses Wacli (unofficial WhatsApp client). Accounts may be restricted for ToS violations.
    ConnectorOAuth
  • Check whether this workspace has a connected WhatsApp number. Returns { connected, status, phone_number, verified_name, configured }. When connected is false, broadcasts are a preview and are NOT delivered to real phones. Call this before send_broadcast if the user expects real delivery; if not connected, use whatsapp_connect_link to get the link that connects their number.
    ConnectorOAuth
  • Disconnect this workspace's WhatsApp number. After this, broadcasts are NOT delivered to real phones until a number is reconnected. Use this when the user wants to stop sending from their connected number or to re-run the signup with a different number. Synced templates and contacts are kept and re-sync on reconnect. The workspace can reconnect anytime via connect_whatsapp (own credentials) or whatsapp_connect_link (hosted signup). Confirm with the user before calling. Returns { connected: false, disconnected }.
    Connector
    Destructive
    OAuth
  • Automatically send an approved template to every NEW contact with a tag, e.g. a welcome message whenever a lead tagged "new-lead" is added (by add_or_update_contact, import_contacts, the REST API, or a Zapier/Make integration calling it). Only contacts created AFTER the automation qualify, each at most once: re-importing or tagging existing contacts never triggers it. To message existing contacts, use a broadcast; the response's existing_tagged_contacts says how many already have the tag. Only add contacts who agreed to receive WhatsApp messages. The template must be APPROVED with every {{n}} placeholder mapped (set_template_variables). One automation per tag. delay_minutes (0 to 10080) waits before sending. Returns the automation with live stats and any warnings (e.g. no WhatsApp number connected) that would make sends fail.
    ConnectorOAuth
  • Schedule WhatsApp messages to be sent automatically at a specific time, in one of two modes: bot (default) - sent from Kaption's WhatsApp number, not the user's own. Stored in Kaption's cloud and sent even when this computer is off. One-to-one chats only (no groups); one line, max 800 characters. local ("From this computer") - sent from the user's own WhatsApp number, as them, while this computer and WhatsApp are open. Stays on this device. Kaption keeps it within safe limits automatically (a few messages an hour and a day, minutes apart, only to chats where the other person has written, at most 3 a day to groups) and refuses what does not fit. The only mode that can send to groups (ones the user can post in and posted in within 30 days). Text only. A message whose time passes while this computer is off is missed, never sent late on its own. The local mode must first be turned on by the user in Kaption (its "From this computer" option, after reading the risks); an assistant cannot turn it on. A refused local request says why and ends with a reason code, e.g. "(reason: per-day)". Actions: list - List scheduled messages of both modes (each has "mode"); pass mode to list only one get - Get a specific scheduled message by ID create - Schedule a new message (requires message + datetime + conversation_id) update - Change the message and/or datetime (requires id) delete - Cancel/delete a scheduled message (requires id); in local mode it cancels a waiting message and removes a finished one cancel - Local mode only: cancel a waiting, missed or failed message remove - Local mode only: remove a finished message from the list send_now - Local mode only: send a missed or failed message now (still within the limits) Pass mode "local" for every action on a local message. Examples: List all: { action: "list" } Schedule (Kaption bot): { action: "create", message: "Hey, just following up!", datetime: "2026-03-07T09:00:00Z", conversation_id: "5491157390064@c.us" } Schedule from the user's own number: { action: "create", mode: "local", message: "Running 10 min late", datetime: "2026-03-07T09:00:00-03:00", conversation_id: "5491157390064@c.us" } Schedule to a group: { action: "create", mode: "local", message: "Standup moved to 10", datetime: "2026-03-07T09:00:00Z", conversation_id: "120363000000000000@g.us" } Cancel: { action: "delete", id: "msg_abc123" }
    Connector
    Destructive
    OAuth
  • Send a WhatsApp verification code to the agent's mobile number. Publishing listings requires a verified WhatsApp number — if account_status shows can_publish=false, use this to start verification. A 6-digit code is delivered to the number over WhatsApp; then call verify_whatsapp_code with it.
    ConnectorNo auth
  • Send a WhatsApp verification code to the agent's mobile number. Publishing listings requires a verified WhatsApp number — if account_status shows can_publish=false, use this to start verification. A 6-digit code is delivered to the number over WhatsApp; then call verify_whatsapp_code with it.
    ConnectorNo auth
  • Generate personalized WhatsApp click-to-chat (wa.me) links for a list of contacts from one message template. Everything uses a single {{…}} syntax: {{field}} placeholders are replaced per contact; {{field|fallback}} supplies a default for empty/missing fields; {{FirstName}} is derived from a name field; and {{option a|option b}} spintax (a group whose first option is not a field) picks one variation per contact (stable per number) so messages are not identical. Returns a JSON array of {phone, message, link}. Runs locally; no message is sent: each link opens WhatsApp with the text pre-filled and a human taps send.
    ConnectorNo auth
  • Company facts for Jenesis Travel: licence, contact, WhatsApp, enquiry-led model. Call this first. If the user wants a real person, share the WhatsApp URL.
    ConnectorNo auth
  • Use this when someone asks to send a WhatsApp message from one of their Wapiworld numbers. Returns only that Wapiworld accepted the send, not proof of delivery. The message goes out immediately, each call sends another copy, and recording settings may store its text. Not for broadcasts or bulk sends.
    Connector
    Destructive
    OAuth
  • WhatsApp health check (wacli doctor): which account is linked (number), last sync time, store lock, message/chat counts, a `link_state` verdict — not_linked (the user must scan a QR) · linked_idle (linked, no socket open right now; wacli reconnects on demand, nothing to do) · linked_live — and `sync_running` / `sync_started_at` / `sync_last_completed_at` / `sync_last_result` for the background job whatsapp_sync starts (#1453). Read `link_state` and `requires_user_action`, NOT `connected`: a linked session spends most of its time with `connected: false`, which on its own says nothing about whether sends work — a session WhatsApp refuses by version looks identical. Treating it as an outage tells the user to re-link a healthy link (#2138). ⚠️ Uses Wacli (unofficial WhatsApp client). Accounts may be restricted for ToS violations.
    ConnectorOAuth
  • Reads WhatsApp poll results. With poll_id: that poll's question, options and vote counts; without it: recent polls in the chat. chat_id MUST come from whatsapp_list_chats / whatsapp_list_groups. IMPORTANT — the counts are INDICATIVE, not definitive: WhatsApp poll votes are end-to-end encrypted and a vote can be silently missing if this device was unlinked when it arrived. The response includes a completeness_caveat and, for group polls, the group's participant count as the denominator. NEVER report a poll result as final without the caveat — verify the firm tally in the WhatsApp app. ⚠️ Uses Wacli (unofficial WhatsApp client). Accounts may be restricted for ToS violations.
    ConnectorOAuth
  • Pull the latest message templates (and their approval status) from the connected WhatsApp Business Account into DripRaven. Runs automatically on connect, but call this to refresh after creating or getting a template approved in WhatsApp Manager. Returns { synced }. Then use list_templates to see them.
    ConnectorOAuth
  • Create a new WhatsApp message template on the connected WhatsApp Business Account. Placeholders in body/header/URL use positional {{1}}, {{2}} … syntax. IMPORTANT — personalisation: for EVERY body placeholder you MUST set variable_mapping so it fills with each contact's real data at send time. Map {{1}} to a contact field: { "1": "name" } fills {{1}} with the contact's name; { "1": "name", "2": "fields.plan_tier" } maps a custom field. Without a mapping the placeholder sends as a blank space to everyone — NOT the sample value. body_examples is a SEPARATE thing: one sample value per placeholder (e.g. a name like Alex) used ONLY to satisfy Meta's approval review; it is never sent to a contact. Meta REQUIRES body_examples when the body has placeholders, so supply BOTH body_examples (for approval) and variable_mapping (for real personalisation). name must be lowercase letters, numbers and underscores. category is MARKETING, UTILITY, or AUTHENTICATION. New templates start PENDING Meta review — only APPROVED templates can be broadcast (poll with sync_templates / list_templates). VIDEO HEADER: pass header_video_url with a public link to an .mp4 to attach/embed a video at the top of the message; it is uploaded to WhatsApp for approval and re-sent with every broadcast. A template has ONE header, so set header_text OR header_video_url, not both. Returns the stored template row (or { id, status }).
    ConnectorOAuth
  • Change the profile photo of one of your own WhatsApp accounts — the picture every contact sees. Pass image_base64 (JPEG, PNG or GIF, at most 5 MiB) to replace it: the image is center-cropped to a square and scaled to at most 640x640, as WhatsApp stores it. Or pass remove=true to delete the current photo. The previous photo cannot be restored afterwards. Contacts may keep seeing the old photo for a while until their app refreshes it.
    Connector
    Destructive
    OAuth