Configure chat (JSBOX) via MCP

Last updated: Sep 6, 2026Section: Getting Started

Agent skill: minimum rules for configuring a JSBOX (chat widget) integration over Mailoo MCP. Expand this document as real workflows are confirmed---do not invent steps beyond the tools listed here.

When to use

  • Create or find a JSBOX integration, then read or update its widget / connection settings.
  • Read lifetime counts of messages and chat sessions for one JSBOX integration (numbers only).

Tools

  • list_projects / create_project
  • list_integrations with type=JSBOX (or create_integration with type=JSBOX --- OWNER only)
  • manage_jsbox_integration_settings --- action=get, action=update, upload_kb_file, or delete_kb_file
  • get_activity_digest --- optional; recent counts over a time window (filter with integrationIds)
  • manage_blog_media --- only if setting chatWidget.agent.imageMediaId

Rules

  1. Prefer manage_jsbox_integration_settings for settings after create. Do not rely on raw config on create_integration for ongoing changes.
  2. On update: omit a field to keep it; send null on a section to clear it; omit chatWidget.agent to preserve the stored agent.
  3. When chatWidget.agent.enabled is true, name, kbIntegrationId, instructions, kbDigestPrompt, and kbArticlePrompt are required. kbIntegrationId must be a BLOG integration in the same project. Digest/article templates must include the documented placeholders. Knowledge-base files use upload_kb_file / delete_kb_file (pdf, md, txt, csv, json); they are stored, not injected into the model yet.
  4. get returns settings plus counts (message total; session total and by status OPEN / PENDING / CLOSED). It does not return session ids, visitor data, or message bodies.
  5. Session list, reply, assign, and close are not available via MCP. Use the dashboard for those.
  6. Access follows the MCP token owner: project/integration membership EDITOR or higher. Never assume wider access.
  • mailoo-mcp{.interpreted-text role="doc"} --- tokens, endpoint, full tool list
  • chat-widget{.interpreted-text role="doc"} --- JSBOX product behaviour