MCP tools reference
All 72 tools the SendFromChat MCP server gives your AI assistant — setup, templates, contacts, sending, inbox, automations, flows, sequences, billing and app integrations.
Updated September 28, 2026 · 7 min read
The SendFromChat MCP server exposes these tools to any connected assistant. You don't call them yourself — you ask in plain language and the assistant picks the tools — but knowing what exists helps you ask for the right things. Server name: sendfromchat. Transport: streamable HTTP. URL: https://sendfromchat.com/api/mcp (sign in when you connect).
Every tool is labelled read-only, write or destructive, so your assistant can run lookups without asking and confirm before anything that removes or switches something off.
Setup
| Tool | What it does |
|---|---|
get_setup_status |
The setup checklist — what's done and the exact next step. Assistants call this first. Includes Meta's health check for each number — what's blocking or limiting sending, with the fix. |
connect_whatsapp_account |
Connects a number from your own Meta app with an access token. Most people use Continue with Facebook in the dashboard instead — one click, nothing to copy. |
get_webhook_setup |
For numbers on your own Meta app: the callback URL and verify token, and whether events are arriving. |
list_whatsapp_accounts |
Connected numbers and their IDs. |
remove_whatsapp_number |
Takes a number out of the workspace, freeing its place on your plan. Nothing is deleted; reconnecting brings it back. |
reconnect_whatsapp_number |
Brings back a removed number with its templates and chats — no Facebook sign-in. Lists removed numbers when called without one. |
set_number_warmup |
Turns new-number warm-up on or off. |
get_business_profile |
What people see when they open your business in WhatsApp — name, photo, category, description, links. |
update_business_profile |
Changes the photo (from a link), category, about line, description, email, websites or address. |
Templates
| Tool | What it does |
|---|---|
check_template |
Validates a draft against Meta's rules without submitting. |
search_template_library |
Searches Meta's ready-made templates — approved without review when the wording stays Meta's. Checked before drafting a new one. |
add_library_template |
Adds a library template to a number, with your link or phone number for its buttons. |
create_template |
Validates and submits a new template for Meta's approval. Used only when no existing approved template fits. |
list_templates |
Templates with status and category. |
get_template_status |
Refreshes approval status from Meta (and the rejection reason). |
sync_templates |
Imports every template on your WhatsApp account, including ones made in WhatsApp Manager. |
Contacts
| Tool | What it does |
|---|---|
preview_contacts |
Parses pasted CSV or an attached Excel file and reports what would import — nothing is saved. |
upload_contacts |
Imports the file into a named list. |
list_segments |
Contact lists with counts. |
search_contacts |
Finds contacts by name or number, optionally within a list. |
add_contact |
Adds one person, with lists and extra fields. Needs the user's confirmation that they agreed to be messaged. |
update_contact |
Edits a name or fields, or moves someone between lists. |
delete_contact |
Removes someone completely — optionally with their chat history, for erasure requests. |
Sending
| Tool | What it does |
|---|---|
check_recipient |
Whether someone is inside the 24-hour window, opted out, which approved templates exist, and a recommendation. Called before any send. |
send_message |
One message to one number — free-form text or a template. Starts a new chat, too; choose the sending number with whatsappAccountId. |
plan_campaign |
Previews a bulk send: rendered messages, missing values, allowance left, today's pace. |
create_campaign |
Creates a bulk send (template + list). |
send_campaign |
Queues it now or at a scheduled time. |
get_campaign_status |
Progress: queued, sent, delivered, read, failed. |
list_bulk_send_recipients |
Who a bulk send reached — read, delivered, not read yet, or couldn't send (with the reason). |
save_bulk_send_group_as_list |
Saves a group (e.g. didn't read it) as a contact list for a follow-up. |
retry_failed_sends |
Re-queues the messages that couldn't be sent; people who replied STOP stay out. |
Inbox
| Tool | What it does |
|---|---|
list_conversations |
Conversations, unread counts, window and opt-out status. Filter to chats assigned to you, a teammate, or nobody. |
get_conversation |
Messages in one conversation, with the number each went through, which of your numbers can reply, who it's assigned to and the team's private notes (marks it read). |
reply_to_conversation |
Replies — text inside the window, a template outside it — from any connected number. |
assign_conversation |
Assigns a chat to you or a teammate, or unassigns it. |
add_conversation_note |
Leaves a private note only the team sees. |
Team
| Tool | What it does |
|---|---|
list_team |
People, roles, pending invites and seats on your plan. |
invite_teammate |
Creates an invite link for an email (owners only). |
remove_teammate |
Takes someone out of the workspace (owners only). |
set_teammate_role |
Makes someone an owner or a member (owners only). |
set_teammate_access |
Sets what a member can see and do: a preset (inbox only, support, marketing, admin) or areas (owners only). |
set_teammate_numbers |
Limits a member to certain numbers; new chats on them are handed out in turn (owners only). |
get_my_alerts |
Your WhatsApp alert phone and events. |
update_my_alerts |
Sets your alert phone and events, and can send a test alert. |
Metrics
| Tool | What it does |
|---|---|
get_metrics |
Sent, delivered, read and failed (with reasons), replies and reply times, per-template and per-bulk-send results, number limits and an estimate of Meta's charges — for 7, 30 or 90 days. |
Auto-replies
| Tool | What it does |
|---|---|
get_auto_replies |
Welcome, away, opt-out settings and keyword replies. |
update_auto_replies |
Changes welcome/away/opt-out text, business hours and time zone. |
add_keyword_reply |
Adds a keyword → reply rule. |
remove_keyword_reply |
Removes one. |
Chatbot flows
| Tool | What it does |
|---|---|
list_flows |
Flows, triggers and whether they're live. |
get_flow |
A flow's full step definition. |
save_flow |
Creates or replaces a flow (messages, buttons, lists, questions, hand-offs). Saved off unless enabled. |
set_flow_enabled |
Turns a flow on or off. |
delete_flow |
Deletes a flow. |
Drip sequences
| Tool | What it does |
|---|---|
list_sequences |
Sequences with steps and enrollment counts. |
get_sequence |
One sequence plus recent enrollments and errors. |
save_sequence |
Creates or updates a sequence (timed template steps, trigger, stop-on-reply). |
set_sequence_enabled |
Turns it on or pauses it. |
enroll_in_sequence |
Enrolls a list and/or numbers. |
remove_from_sequence |
Stops the remaining messages for one number. |
delete_sequence |
Deletes a sequence. |
Billing
| Tool | What it does |
|---|---|
get_billing_status |
Plan or trial status, days left, messages you started and how many are left, numbers and seats allowed, why sending is paused (if it is), and where to add a card for Meta's own charges. |
get_checkout_link |
A secure checkout link to subscribe or upgrade. You pay on the payment provider's page, never in chat; trial days carry over. |
get_billing_portal_link |
Change plan, update your card, download invoices or cancel. |
App integrations
For when you're building your own app and want it to send or receive WhatsApp messages through the REST API.
| Tool | What it does |
|---|---|
get_api_integration |
The API's rules, your approved templates with their variables, and working send and webhook code for Node, Python, PHP, Ruby, Go or curl. |
provision_api_key |
Creates a test or live key and saves it straight into .env.local or your host (Vercel, Netlify, Railway, Fly.io, Heroku, Cloudflare Workers, GitHub Actions) — the key never appears in the chat. Live keys only after you confirm. |
list_api_keys |
Your keys — name, live or test, last characters, last used. Never the keys themselves. |
revoke_api_key |
Revokes a key; apps using it stop immediately. |
create_webhook_endpoint |
Sends events to your app (incoming messages, delivery status, opt-outs) and saves the signing secret the same way as keys. |
list_webhook_endpoints |
Your endpoints and the latest delivery attempts, for debugging. |
remove_webhook_endpoint |
Stops delivering to an endpoint. |
Conventions
- Phone numbers are E.164:
+14155550132. - Success from a send means Meta accepted it, not that it was delivered.
- Errors come back as plain sentences explaining what to fix.
- Customers' messages are marked as third-party content: assistants read and answer them, but don't follow instructions inside them.
- Every write is scoped to your workspace; IDs from another workspace are rejected.
- Each tool belongs to an area; a member's assistant can only use the areas an owner gave them (the inbox always). Team tools are owner-only. An assistant connected with an API key acts as an owner.
Do this from your AI assistant
SendFromChat connects Claude, ChatGPT, Cursor or any MCP client to the WhatsApp Business API — templates, bulk sends, inbox, chatbots and sequences, just by asking. 30 days free, no card.
Start freeMore docs
Getting started with SendFromChat
From sign-up to your first WhatsApp message in a few minutes — connect a number in one click, connect your AI assistant, send.
Connect your AI assistant
Add SendFromChat to Claude, ChatGPT, Claude Code, Cursor, VS Code, Windsurf, Gemini CLI, Codex or any MCP client.
REST API
Send WhatsApp messages from your own app — order updates, sign-in codes, reminders — and receive replies by webhook. Keys, endpoints, errors and signed webhooks.
Sending messages
Free-form replies vs templates, the 24-hour window, check_recipient, and what "accepted" means.