Skip to main content
Every tool below is exposed by POST /v1/mcp and delegates to the same service as its REST counterpart, so the behaviour, validation, and tenancy rules documented across these pages apply unchanged. The Scope column is the scope your token needs. Without it the tool still appears in tools/list, and the call fails with INSUFFICIENT_SCOPE — see how scopes are enforced. Tools marked 🔴 delete data permanently.

Contacts

Read and write the people on the other side of your channels. See the Contacts endpoints for the full field reference.

CRM

The full pipeline: customers, tickets, tasks, notes. See the CRM overview for how the entities relate.
CRM reads are company-wide. Every *_list and *_get tool returns records from every project in your company, not just the one the token was minted for.

Customers

Tickets

Tasks

Notes

Knowledge

Retrieval and authoring against the tenant knowledge base. See the Knowledge overview.

Messaging

Everything under /v1/messages. Every send tool takes an optional channel (whatsapp, whatsapp_qr, instagram, messenger; defaults to whatsapp) plus channel_id or phone_number_id to pick the concrete channel. Free-form sends only work inside the 24-hour window; outside it, only keebai_send_template gets through.

WhatsApp Flows

In-chat forms. See the Flows guide for the full lifecycle.

Media

Uploading and downloading the binary itself is REST-only — POST /v1/media/upload is multipart and GET /v1/media/{id}/download returns raw bytes, and neither fits a JSON tool call.

Ecommerce

Read-only access to the catalog, carts, and sales. See the ecommerce overview for how the records relate — a cart is not a draft sale.
There are no write tools here. Creating a sale or pushing a product goes through the platform integration, not the API.

Loyalty

Points, stamps, and wallet cards. See the loyalty overview for the data model — in particular that there is no reward entity and that balances are a projection, not a sum of the ledger.
Tools marked ⚠️ have effects outside Keebai. keebai_loyalty_ledger_record moves a balance a customer can spend and is not idempotent — a retried call double-counts. keebai_loyalty_pass_notify sends a push notification to a real phone.Neither is destructive, so neither carries the 🔴 marker, but hand loyalty:write to an agent with the same care you would give messages:send.

Assistants

Read and write the configuration of the assistants themselves: the blocks that make up their prompt and the webhook functions they can call. Thirty tools, all on assistants:read or assistants:write.
Writing here changes what your bots say to customers. An agent with assistants:write can rewrite any prompt block and create webhook functions that make Keebai’s infrastructure call an external host — the URL is validated against loopback, private ranges and internal names, but a public host of the agent’s choosing is allowed. Treat it as a higher-privilege scope than the read side, and read webhook security before handing it out.Functions are company-wide, unlike assistants and blocks, which are scoped to the token’s project.

Not exposed as tools

Scheduling, templates, channels, webhooks, tenants, and setup links have no MCP tools yet. Use the REST API for those. The binary Apple .pkpass has no tool either, for the same reason as media download: it is a file, not JSON. The Apple link tool covers the same use case.