RUMO MCP

Cloudflare Worker exposing the RUMO platform as MCP tools.

Connect

Authentication is OAuth 2.1 — your MCP client registers itself, then a browser window opens the RUMO consent page:

claude mcp add rumo --transport http https://mcp.rumohq.com/mcp

Tools (14)

rumo_whoami — Returns the bound phone, account, and session info. In LOCAL_DEV mode this is read from env; in production it comes from the verified MCP session.
rumo_list_inboxes — List all RUMO inboxes (channels) for the bound account.
rumo_list_conversations — List recent conversations in the bound account. Filter by status; paginate.
rumo_list_contacts — List contacts in the bound account.
rumo_list_projects — List Studio AI projects for the bound account. Goes through the RUMO studio/* proxy → Studiochat (no direct Studiochat call).
rumo_list_kbs — List Knowledge Bases in a Studio project. If project_id is omitted, the account's default Studio project is used.
rumo_list_playbooks — List Suggestion Playbooks in a Studio project. If project_id is omitted, the account's default Studio project is used.
rumo_preview_template — Preview a WhatsApp template as a rendered MCP-UI card (a real Meta-accurate WhatsApp bubble the client shows inline). Call this DIRECTLY — inbox_id is OPTIONAL and you should NOT ask the user for it; if omitted, a sample/first template is previewed. Optionally pin a template by template_id or name, and pass sample_variables to fill {{placeholders}}.
rumo_parse_contacts — Parse and clean a raw CSV of contacts for a campaign. The CSV may be messy — any delimiter, any column names, phone numbers in any format. Returns the detected columns, a normalized contact list (phones as E.164), and a report of invalid/duplicate rows. Call this first when the user uploads or pastes contacts.
rumo_build_campaign — Show an INTERACTIVE campaign confirmation card for the user to review and approve. It renders the template, a summary (how many contacts, what time it sends), and a contact picker that live-updates the real WhatsApp preview so the user can see the exact final message per contact. It has an Approve button. Call this to confirm a campaign before scheduling — pass the parsed contacts (the sample from rumo_parse_contacts) so the picker works. After the user approves in the card, you will get a message to call rumo_schedule_campaign.
rumo_schedule_campaign — Commit a one-off campaign after the user has APPROVED it in the rumo_build_campaign card. In LOCAL_DEV / test mode nothing is actually sent — it confirms the plan. Only call this once the user has approved.
rumo_send_direct — Send a WhatsApp Direct message via a pre-configured Direct campaign wrapper. STEP-UP REQUIRED: first call returns an approval token + a summary of what will be sent; the user must confirm. Second call with `approval_token` actually sends. Honors the dedup window from PR #159.
rumo_label_conversation — Set the full label list on a RUMO conversation (replaces existing labels). STEP-UP REQUIRED: first call returns approval token + summary; second call with `approval_token` applies.
rumo_create_template — Create a WhatsApp message template. STEP-UP REQUIRED: first call returns an approval token + a rendered MCP-UI preview of exactly what will be submitted; the user confirms, then the second call (with approval_token) submits it. In LOCAL_DEV / test mode it composes and previews the template without calling Meta (status TEST_DRAFT); in production it POSTs to the WhatsApp Cloud inbox. Variables use {{name}} placeholders and may not sit at the very start or end of the body.

Status

Built: 2026-07-17

See github.com/Kaption-AI for sources (when published).