Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
WhatsApp Business messaging, live chat, chatbots, campaigns and CRM for a LetsBot workspace.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://letsbot.net/mcpRun this in your terminal
claude mcp add --transport http letsbot https://letsbot.net/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"letsbot": {
"url": "https://letsbot.net/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"letsbot": {
"type": "http",
"url": "https://letsbot.net/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://letsbot.net/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
send_text_messageSend a text message to a contact on any connected platform: a WhatsApp number (international format without +, e.g. 201234567890), or the `phone` / `chat_id` of a website chat, Messenger, Instagram, Telegram, X or SMS contact exactly as get_conversations_awaiting_reply or get_con
send_imageSend an image to a WhatsApp number with an optional caption.
send_videoSend a video to a WhatsApp number with an optional caption.
send_audioSend an audio file or voice note to a WhatsApp number.
send_fileSend a document/file to a WhatsApp number. `file_url` must be a DIRECT url to the file itself. If you generated the file yourself, or it is not already at a direct public url, call upload_file first (it takes the bytes as base64 and returns a url plus the filename to pass here).
send_locationSend a location to a WhatsApp number.
send_contact_cardSend a contact card (vCard) to a WhatsApp number.
send_templateSend a WhatsApp-approved message template to a number. Templates are required for sending messages outside the 24-hour window.
send_buttonsSend an interactive message with buttons to a WhatsApp number. Maximum 3 buttons.
send_listSend an interactive list/menu message to a WhatsApp number.
send_carouselSend a carousel of cards (title, subtitle, image, up to 3 buttons each; max 10 cards) to a Messenger or Instagram contact. Provide the recipient PSID/IGSID and platform.
reply_to_messageReply to a specific message in a conversation on any connected platform (WhatsApp, website chat, Messenger, Instagram, Telegram, …). Also replies inside a WhatsApp group when "phone" is the group's chat_id from get_groups (QR-connected numbers only), optionally tagging members wi
send_reactionAdd an emoji reaction to a message in a WhatsApp conversation.
forward_messageForward a message from one WhatsApp chat to another.
upload_filePut a file into LetsBot storage and get back a direct https url plus the filename to pass to send_file / send_group_file / send_image / send_video / send_audio. Two ways in — pass exactly one: `source_url` when the file is already online (a public link, including a Google Drive "
get_contactsGet a paginated list of WhatsApp contacts with optional search and filter.
get_contactGet detailed information about a specific WhatsApp contact including labels, moderators, last message, and the workspace's contact custom fields (custom_fields: every available field with its key, label, type, current value — null when empty — and allowed options for select field
create_contactCreate a new WhatsApp contact in the system. Optionally set the workspace's contact custom fields in the same call (custom_fields: key → value).
update_contactUpdate a contact's information: name, email, city, country, and the workspace's own contact custom fields (custom_fields: key → value, null clears). Call get_contact first to see which custom field keys exist, their types and allowed options. Only the fields you pass are changed.
get_my_chatsGet the chats assigned to the person this connection acts as. A workspace-level connection (API key) gets every assigned chat.
get_conversations_awaiting_replyList conversations where the customer wrote last and nobody has replied yet, newest first. This is a backlog of work outstanding, NOT a read/unread state: it is derived from who spoke last, so it clears when a reply is sent from any device and returns if the customer writes again
pin_contactPin or unpin a contact chat so it stays at the top of the list.
archive_contactArchive or unarchive a contact chat.
block_contactBlock or unblock a WhatsApp contact.
delete_contactPermanently delete one contact (a one-to-one chat) together with its whole conversation: every message and media file is erased shortly after, and this cannot be undone. Same as Delete on the contact in the LetsBot panel. Requires confirm: call with confirm=false first to get a p
assign_labelAssign or remove a label from a contact. Toggles the label — if already assigned it will be removed, if not assigned it will be added.
assign_moderatorAssign a team member (moderator) to a conversation, or remove them from it. Pass action=assign or action=unassign to say which; without action the call toggles (adds if absent, removes if present). The assigned member is notified. To move many conversations from one member to ano
reassign_conversationsMove conversations from one team member to another in one step — e.g. "move Ahmed's waiting chats to Mona". By default only the conversations awaiting a reply (the customer wrote last) move; use scope=all for every open conversation the member holds, or waiting_longer_than_minute
get_assignment_rulesRead how new conversations are automatically given to team members (operators): the assignment mode (off / round robin / least open), which team receives them, whether only available operators count, the per-operator cap, reassigning a conversation when its operator does not repl
update_assignment_rulesChange how new conversations are automatically given to team members. Pass ONLY the settings to change; everything else stays as it is. Call get_assignment_rules first to see the current values, the teams and the operators you can use. Examples: turn it on with mode="round_robin"
add_noteAdd an internal note to a conversation — visible only to the merchant's team in the LetsBot inbox, never sent to the customer. Use it to leave context for colleagues (e.g. "customer wants a refund, waiting for the warehouse"). A note does not count as a reply to the customer. To
get_account_overviewSummarise this LetsBot workspace's account in one call: (1) subscription — current plan, billing period, start and end/renewal date, status, whether it renews automatically and the next automatic charge, trial state and days left, any temporary plan boost, the line items and the
get_owner_briefingA short briefing of what needs the owner's attention in this LetsBot workspace right now, in one call: conversations where a customer is still waiting for a reply (how many, how long the oldest has waited, and the first few names), customer messages and new contacts in the last 2
get_reportRead one tab of the LetsBot Reports page for a period: KPI cards with the change vs the previous period, the main chart (labels + series), the table rows (max 100) and footnotes. Tabs: conversations (opened/closed/open), responses (reply speed), resolutions, messages (inbound/out
list_whatsapp_templatesList the WhatsApp message templates (Meta-approved message formats) of this workspace: name, exact language code, category (MARKETING / UTILITY / AUTHENTICATION), Meta review status and the rejection reason when Meta gave one, body text, header type, and the placeholders each tem
create_whatsapp_templateCreate a new WhatsApp message template and submit it to Meta for review (Official WhatsApp / Cloud API workspaces only). A template is the only way to start a conversation or message a customer outside the 24-hour reply window; once Meta APPROVES it, send it with send_template. I
list_scheduled_activityList messages that are still waiting to go out to customers: pending store notifications from Salla, Zid and WooCommerce (order updates, abandoned-cart reminders, …) and the outgoing WhatsApp send queue (including failed sends that would be re-sent when the number reconnects). Us
cancel_scheduled_activityStop messages that are still waiting to be sent (as listed by list_scheduled_activity): either ONE row (pass source + source_id; it is cancelled immediately — stopping a send needs no approval) or ALL rows matching optional filters (pass all=true; this needs the user's confirmati
get_messagesGet messages from a WhatsApp conversation. Returns the most recent messages paginated.
get_message_statusCheck what WhatsApp actually did with messages you already sent — delivered, read, still pending, or FAILED with Meta's own reason. A send tool returning status "sent" only means Meta accepted the message; Meta can still refuse to deliver it seconds later, and this tool is the on
search_messagesSearch messages across all conversations (individual chats and groups), or within one specific contact chat or group.
mark_as_readMark a conversation as opened in the LetsBot inbox, and send a read receipt to the customer on channels that support one. This affects inbox read state ONLY. It does NOT clear the conversation from get_conversations_awaiting_reply — only sending a reply does that — so do not call
get_groupsGet a paginated list of WhatsApp group conversations. Read-only: listing groups never marks anything as read. Counts report what has not been opened in the LetsBot inbox, which is not the same as what the merchant has seen on their own phone. Use get_group_messages to read a grou
get_group_messagesGet messages from a WhatsApp group conversation, newest first, with the sender of each message. Read-only: reading a group NEVER marks its messages as read and sends no read receipts. Use get_groups to list groups and their ids.
send_group_messageSend one real WhatsApp text message from the workspace's WhatsApp number into one WhatsApp group, after the user confirms. Every member of that group (real people outside LetsBot) receives it, and a sent message cannot be recalled or edited. Works on a number connected to LetsBot
send_group_fileSend one real file — a document such as a PDF, an image, or a video — from the workspace's WhatsApp number into one WhatsApp group, after the user confirms. Every member of that group receives it and it cannot be recalled. `file_url` must be a DIRECT url to the file: if the file
get_labelsGet all labels/tags available in the account. Labels are used to categorize and organize contacts.
create_labelCreate a new label/tag for organizing contacts.
get_label_contactsGet all contacts that are assigned to a specific label.
get_moderatorsGet all moderators/agents available in the account. Moderators are team members who can handle conversations.
get_quick_repliesGet all quick replies/canned responses available. Quick replies are pre-written message templates that can be sent quickly.
create_quick_replyCreate a new quick reply/canned response. Quick replies let agents send pre-written messages instantly.
update_quick_replyUpdate an existing quick reply/canned response by ID. Only the provided fields change; everything else stays as it was. Run get_quick_replies first to find the quick reply ID.
delete_quick_replyDelete a quick reply (canned response) by ID. Run get_quick_replies first to find the ID. To only hide it, use update_quick_reply with status=false instead.
update_labelRename or recolour an existing contact label by ID. Only the fields you pass change. Run get_labels first to find the ID. Contacts keep the label; they just show the new name/colour.
delete_labelDelete a contact label by ID. The label is removed from every contact that has it and from the inbox filters; the contacts themselves are not touched. Run get_labels first to find the ID.
ai_suggest_replyReturn the recent conversation and contact context so the assistant can draft suggested replies. The assistant generates the reply suggestions from the returned context (nothing is sent).
ai_summarize_conversationReturn the recent conversation history with a contact so the assistant can summarize it (key topics, issues, and outcomes). The assistant writes the summary from the returned messages.
ai_analyze_contactReturn a contact profile and recent conversation sample so the assistant can analyze the customer (engagement level, interests, recommendations). The assistant performs the analysis on the returned data.
ai_improve_messageReturn a draft message together with the desired tone and context so the assistant can rewrite it (grammar, tone, clarity) while keeping the original intent. The assistant produces the improved version.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry lists no source repo, so we cannot match the publisher (letsbot.net) to the code
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 339 ms (HTTP 200)
No sign-in needed
Read 60 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
No README found in the repo