Skip to main content

BubblaV MCP Server

The BubblaV MCP (Model Context Protocol) Server enables you to connect your BubblaV data to MCP-compatible clients like ChatGPT, Claude Desktop, Google Antigravity, and OpenClaw. This allows your AI agents to search your knowledge base, access analytics, and manage your chatbot’s settings — all in real-time.
Looking for recipes? For ready-to-use prompts to diagnose content gaps, add knowledge, tune your bot’s persona, or set up human handoff, see Use AI Agents to Manage & Improve Your Chatbot.

What Can You Do?

  • Search Knowledge Base: Let your AI agents search your indexed website content
  • Manage Knowledge Base: Add, delete, and list knowledge entries; upload files; sync support tickets; manage crawl URLs and sitemaps
  • Access Analytics: Retrieve full analytics reports programmatically
  • Conversation Intelligence: List, search, and inspect conversations and leads
  • Content Gap Analysis: Identify unanswered questions and knowledge gaps
  • Visitor Insights: Get detailed visitor profiles and activity breakdowns
  • Hourly Activity: Analyze peak support times for staffing optimization
  • Scrape Web Pages: Convert any public URL into markdown with bubblav_scrape_url
  • Configure the Chatbot: Read and update the chatbot persona (custom_instructions) and website settings
  • Design the Widget: Edit bot name, greetings, suggestions, colors, and position
  • Human Handoff: Create and manage intent triggers that route visitors to a live agent (Pro+)
  • Manage Custom Tools: Create, update, delete, and toggle custom webhook tools for your chatbot (Pro+)
  • Manage Forms: Create and update AI-powered lead-collection forms
  • Manage API Keys: Create, list, and revoke scoped MCP API keys
  • Build Automations: Create custom workflows that leverage your BubblaV data
  • Real-time Integration: Use Server-Sent Events (SSE) for instant data access

Available Tools

This is a curated reference of the most-used tools. A connected client receives the complete, always-current set via the standard tools/list method.

bubblav_search_knowledge

Search your indexed knowledge base for relevant content. Parameters:
  • query (string, required): Your search query
  • limit (number, optional): Maximum results to return (default: 5, max: 20)
Returns:
Example:

bubblav_read_report

Read the full analytics report for your website — the same data shown on the Reports page. Parameters:
  • date_range (object, optional): Date range for the report (defaults to current calendar month)
    • start (string): Start date in yyyy-MM-dd format
    • end (string): End date in yyyy-MM-dd format
Returns:
Example:

bubblav_add_knowledge

Add a new text knowledge entry to your knowledge base. The content is automatically split into chunks, queued for embedding, and becomes searchable via bubblav_search_knowledge once processed. Parameters:
  • title (string, required): Title for this knowledge entry
  • content (string, required): Full text content to index (plain text or Markdown)
Returns:
Example:
Note: Subject to plan page limits. If your plan limit is reached, you’ll receive a RATE_LIMITED error.

bubblav_scrape_url

Scrape a public web page URL and return markdown content optimized for LLM context. Parameters:
  • url (string, required): The page URL to scrape
Returns:
Example:

bubblav_list_conversations

List conversations for this website with optional filters. Returns conversation metadata (id, title, state, platform, visitor email/country, rating). Parameters:
  • status (string, optional): Filter by conversation state — "bot", "live_support", or "resolved"
  • platform (string, optional): Filter by platform (e.g. "widget", "messenger", "slack", "discord", "whatsapp", "instagram")
  • date_range (object, optional): Date range with start and end in yyyy-MM-dd format
  • limit (number, optional): Maximum results (default: 20, max: 100)
  • offset (number, optional): Results to skip for pagination (default: 0)
Example:

bubblav_get_conversation

Get the full details of a single conversation including all messages. Returns conversation metadata plus a chronological list of messages with sender type, content, confidence score, thumbs rating, and response latency. Parameters:
  • conversation_id (string, required): UUID of the conversation to retrieve
Example:

bubblav_search_conversations

Full-text search across all conversation messages. Returns matching message excerpts with surrounding context, conversation metadata, and visitor email if available. Parameters:
  • query (string, required): Text to search for in message content (case-insensitive)
  • date_range (object, optional): Date range with start and end
  • limit (number, optional): Maximum results (default: 20, max: 100)
  • offset (number, optional): Pagination offset (default: 0)
Example:

bubblav_list_leads

List conversations where the visitor provided their email address (captured leads). Returns email, country, platform, conversation state, and timestamp. Parameters:
  • platform (string, optional): Filter by platform
  • date_range (object, optional): Date range
  • limit (number, optional): Maximum results (default: 20, max: 100)
  • offset (number, optional): Pagination offset (default: 0)
Example:

bubblav_list_unanswered_questions

Find visitor questions that the AI could not answer well — bot replies with low confidence score, fallback responses, or messages rated thumbs-down by the visitor. Parameters:
  • confidence_threshold (number, optional): Confidence score cutoff (0.0–1.0, default: 0.5). Replies below this are considered low-quality
  • date_range (object, optional): Date range
  • limit (number, optional): Maximum results (default: 20, max: 100)
  • offset (number, optional): Pagination offset (default: 0)
Example:

bubblav_get_most_asked_questions

Return the most frequently asked visitor questions over a date range (default: last 30 days). Questions are aggregated and deduplicated. Parameters:
  • date_range (object, optional): Date range
  • limit (number, optional): Maximum questions (default: 10, max: 50)
Example:

bubblav_get_content_gaps

Return visitor questions that the AI struggled to answer — bot replies with low confidence score or a thumbs-down rating. Use this to prioritise knowledge base improvements. Parameters:
  • date_range (object, optional): Date range
  • limit (number, optional): Maximum questions (default: 10, max: 50)
Example:

bubblav_get_answerable_questions

Return AI-generated questions that the chatbot can confidently answer from its knowledge base. Questions are generated and cached automatically when knowledge is indexed. Parameters:
  • limit (number, optional): Maximum questions (default: 30, max: 50)
Example:

bubblav_delete_knowledge

Delete a text knowledge entry from the knowledge base. Removes the entry and all associated chunks/embeddings. Requires the knowledge entry ID (from bubblav_list_knowledge_sources). Parameters:
  • knowledge_id (string, required): UUID of the text knowledge entry to delete
Example:

bubblav_sync_ticket_to_knowledge

Sync a resolved support ticket to the knowledge base. Formats the ticket conversation as a searchable article, splits into chunks, and queues for embedding. Requires Pro plan or higher. Parameters:
  • ticket_id (string, required): UUID of the live support ticket to sync
Example:

bubblav_list_knowledge_sources

List all knowledge sources for this website. Returns sources from: text entries, Notion pages, Google Docs, Zendesk articles/tickets, and crawled website pages. Parameters: None Example:

bubblav_get_visitor_insights

Get insights for a specific visitor including profile data, conversation count, active support tickets, e-commerce orders (Shopify), and subscription status. Parameters:
  • visitor_id (string, required): Visitor ID (from conversation data or live support session)
Example:

bubblav_get_hourly_activity

Get hourly activity breakdown showing conversation and support ticket counts per hour (UTC). Returns 24 data points (one per hour), total counts, and peak hour. Defaults to today. Parameters:
  • date_range (object, optional): Date range
Example:

bubblav_list_tool_logs

Read the audit log of tool calls made for this website — built-in tools and custom webhook tools — to troubleshoot failures. Each entry includes the tool name, succeeded/failed outcome, error message, a truncated result preview, result size, and the request args (with secrets masked). Returns the most recent calls first. Parameters:
  • limit (number, required): Maximum number of logs to return (max 200)
  • status (string, optional): Filter by outcome — succeeded or failed. Omit to return both.
  • date_range (object, optional): Date range (defaults to the last 7 days)
    • start (string): Start date in yyyy-MM-dd format
    • end (string): End date in yyyy-MM-dd format
  • offset (number, optional): Number of logs to skip for pagination (default: 0)
Returns:
Note: Especially useful for debugging custom webhook tools — ask your AI assistant to pull the failed calls and read the error messages directly. This tool is not available in the ChatGPT integration; it works in Claude, Cursor, OpenClaw, and the dashboard. Example:

Custom Tool Management

These tools let AI agents create and manage custom webhook tools for your chatbot. For example, you can ask Claude to add a tool that searches for products, looks up inventory, or finds nearby events. Custom tools require a Pro plan or higher.

bubblav_list_custom_tools

List all custom webhook tools for this website with their activation status. Parameters: None Returns:
Example:

bubblav_create_custom_tool

Create a new custom webhook tool. The tool is activated for the current website by default. Parameters:
  • tool_name (string, required): Unique identifier (letters, numbers, underscores, hyphens)
  • display_name (string, required): Human-readable name shown in dashboard
  • description_for_ai (string, required): Instructions for the AI on when and how to use this tool
  • description (string, optional): Short human-readable description shown in dashboard. Auto-generated from description_for_ai if omitted.
  • endpoint_url (string, required): Webhook URL the chatbot will call (HTTPS required)
  • authentication_type (string, required): none, bearer, or hmac
  • argument_schema (object, optional): Flat parameter map defining the parameters the tool accepts. Each top-level key must be the real parameter name, and each value may include type, description, required, default, and method (query, body, or path). Do not wrap it in JSON Schema keys like type, properties, and required.
  • http_method (string, optional): GET, POST, PUT, PATCH, or DELETE (default: GET)
  • activate_for_website (boolean, optional): Auto-activate for current website (default: true)
Returns:
Note: The secret_key is only shown once at creation time. Save it immediately. Example:

bubblav_update_custom_tool

Update an existing custom webhook tool. Only the fields you provide will be changed. Parameters:
  • tool_id (string, required): UUID of the tool to update (from bubblav_list_custom_tools)
  • display_name (string, optional): New human-readable name
  • description_for_ai (string, optional): New AI instructions
  • description (string, optional): New human-readable description
  • endpoint_url (string, optional): New webhook URL
  • authentication_type (string, optional): none, bearer, or hmac
  • argument_schema (object, optional): New parameter schema
  • http_method (string, optional): New HTTP method
  • is_active (boolean, optional): Enable or disable the tool globally
Example:

bubblav_delete_custom_tool

Permanently delete a custom webhook tool. This removes the tool and deactivates it from all websites. Cannot be undone. Parameters:
  • tool_id (string, required): UUID of the tool to delete
Example:

bubblav_toggle_custom_tool

Enable or disable a custom tool for this specific website. Tools must be activated per-website before the chatbot can use them. Parameters:
  • tool_id (string, required): UUID of the tool to toggle
  • enabled (boolean, required): true to enable, false to disable
Example:

Custom Tool Authentication

When creating a tool, choose an authentication_type based on your endpoint’s security: Key details:
  • A secret_key is auto-generated for bearer and hmac types and returned only once at creation time.
  • For HMAC, the signature is computed as HMAC-SHA256(secret, "<timestamp>.<compact_json_body>").
  • Your backend must validate the secret/key on every incoming request.
For detailed validation code examples (Node.js, Python), see Custom Tools → Authentication Methods.

Website & Chatbot Configuration

These tools let an AI agent read and change how your chatbot behaves and looks — the same controls as the dashboard’s Settings and Design pages, plus knowledge sources, forms, and API keys. They are what make agent-driven chatbot management possible.

Chatbot persona & website settings

Widget appearance (Design page)

Hiding the “Powered by” branding (powered_by_visible: false) requires a paid plan.

Human-handoff scenarios (Pro+)

Knowledge files & crawl sources

Forms

API keys

Setup Guide

BubblaV MCP Server supports these connection methods:
  1. ChatGPT - OAuth 2.0, no API key needed
  2. Claude / Claude Desktop - OAuth 2.0, no API key needed
  3. Google Antigravity - OAuth 2.0, no API key needed
  4. API Key - For OpenClaw and other MCP clients

Option 1: ChatGPT (OAuth 2.0)

Use the same MCP server URL:
If your client expects an API-style path, this also works:
ChatGPT will start OAuth automatically. Sign in to BubblaV and select the website you want to connect.

Option 2: Claude (OAuth 2.0)

No API key needed. Claude handles authentication automatically via OAuth — just add the server URL.

Step 1: Add the BubblaV connector

In Claude (web or desktop), open SettingsIntegrations (or Connected tools) and add a new MCP server with this URL:

Step 2: Authorize

Claude will open a BubblaV login page. Sign in and select which website to connect. That’s it — no config files to edit, no API keys to copy.

Option 3: OpenClaw (API Key)

Step 1: Generate an MCP API Key

  1. Log in to your BubblaV dashboard at https://www.bubblav.com
  2. Navigate to your Website Settings page
  3. Click the API Keys tab
  4. Click Generate New Key
  5. Enter a name (e.g., “OpenClaw”) and select → MCP scopes
  6. Click Generate and copy the key immediately — it won’t be shown again
Your API key will look like:

Step 2: Configure OpenClaw using mcporter

We recommend using mcporter to easily configure OpenClaw with BubblaV.

Install mcporter

Configure BubblaV in OpenClaw

Create a configuration file bubblav.json:
Then run mcporter:

Manual Configuration

If you prefer manual configuration, add this to your OpenClaw config:

Step 3: Test the Connection

Once connected, your OpenClaw agent will have access to:
  • bubblav_search_knowledge - Search your knowledge base
  • bubblav_read_report - Access full analytics reports
  • bubblav_add_knowledge - Add new knowledge entries
  • bubblav_delete_knowledge - Remove outdated entries
  • bubblav_list_knowledge_sources - List all knowledge sources
  • bubblav_list_conversations - List and filter conversations
  • bubblav_get_conversation - Get full conversation details
  • bubblav_search_conversations - Full-text search across conversations
  • bubblav_list_leads - List captured leads (emails)
  • bubblav_list_unanswered_questions - Find knowledge gaps
  • bubblav_get_most_asked_questions - See trending visitor questions
  • bubblav_get_content_gaps - Identify content improvement areas
  • bubblav_get_answerable_questions - See what your bot can answer
  • bubblav_get_visitor_insights - Get visitor profiles
  • bubblav_get_hourly_activity - Analyze peak support times
  • bubblav_sync_ticket_to_knowledge - Turn resolved tickets into knowledge
  • bubblav_scrape_url - Scrape web pages to markdown
  • bubblav_list_custom_tools - List custom webhook tools
  • bubblav_create_custom_tool - Create a new custom tool
  • bubblav_update_custom_tool - Update an existing custom tool
  • bubblav_delete_custom_tool - Delete a custom tool
  • bubblav_toggle_custom_tool - Enable/disable a tool per-website
  • bubblav_list_tool_logs - Read tool-call logs (status, date range, limit) to debug your custom tools
You can test by asking your agent to search for information or add new content to your knowledge base.

Option 4: OpenClaw (Automatic Setup)

Setup Everything Automatically

Tell OpenClaw to install and configure everything for BubblaV automatically. Command:
What this does:
  1. Opens BubblaV dashboard in your browser
  2. Generates an API key with proper scopes
  3. Configures OpenClaw with server URL and API key
  4. Tests connection
Example prompt:
  1. Search knowledge base: Ask your AI agent to search your website content
  2. Get analytics: Request a conversation or performance report
  3. Add knowledge: Test adding a new knowledge entry with title and content

Rate Limits

MCP API calls are tracked separately from your AI message limits. Each subscription plan includes a monthly MCP call allowance: How it works:
  • Rolling 30-day window (resets every month from your first call)
  • When exceeded, you’ll receive a 429 status with a Retry-After header
  • Check your usage in the dashboard under IntegrationsMCP Settings

Security

Authentication Methods

OAuth 2.0 (Claude):
  • Claude handles the full OAuth flow — you only enter the server URL
  • Uses PKCE (Proof Key for Code Exchange) for enhanced security
  • Tokens expire after 1 hour (access) or 30 days (refresh)
  • No credentials to store or rotate
API Key (OpenClaw and other clients):
  • Simple authentication via X-API-Key header
  • Keys can be rotated and revoked
  • Supports scoped permissions

API Key & Token Management

  • Keep your API key secret - Treat it like a password
  • Rotate keys regularly - Generate new keys and revoke old ones
  • Use scopes - Only grant the permissions you need
  • Monitor usage - Review audit logs regularly

Scopes

Available scopes for MCP API keys and OAuth tokens:
  • mcp:read - Read-only access to your website data
  • mcp:tools:execute - Execute MCP tools and scrape URLs via API

Audit Logging

All MCP tool calls are logged and available in your dashboard:
  • Tool name and arguments
  • Success/failure status
  • API key or OAuth token used
  • Timestamp
View logs at ChatbotLog

Troubleshooting

Connection Issues

Problem: “Authentication failed” error Solutions:
  • Verify your API key is correct
  • Check that the key hasn’t been revoked
  • Ensure the key has the correct scopes
  • Confirm your account is active
Problem: “Rate limit exceeded” error Solutions:
  • Check your usage in the dashboard
  • Wait for the monthly window to reset (check Retry-After header)
  • Consider upgrading your plan for higher limits

Tool Errors

Problem: “Unknown tool” error Solutions:
  • Verify you’re using the correct tool names
  • Check that your website has indexed content (for knowledge search)
  • Ensure your API key has mcp:tools:execute scope
Problem: “Invalid argument” error Solutions:
  • Check that all required parameters are provided
  • Verify parameter types match the schema
  • Ensure dates are in ISO format (YYYY-MM-DD)

Knowledge Base Not Available

Problem: bubblav_search_knowledge tool not available Solutions:
  • Ensure your website has been crawled and content indexed
  • Check crawl status in the dashboard under Knowledge Base
  • Trigger a new crawl if needed

Example Use Cases

Customer Support Agent

Create an agent that can search your documentation and provide analytics:

Reporting Bot

Build a bot that generates monthly performance reports:

Knowledge Search API

Create a simple search API for your internal tools:

Knowledge Gap Auto-Filler

Build an agent that identifies content gaps and fills them automatically:

Custom Tool Manager

Let an AI agent manage custom webhook tools for your chatbot:

Lead Pipeline Agent

Monitor leads and feed them into your CRM:

Support

Need help? Contact us at:

API Reference

Endpoints

MCP (JSON-RPC 2.0):
OAuth Discovery:
OAuth Authorize:
Redirects unauthenticated users to login, then shows a website-selection consent page. OAuth Token Exchange:

Error Codes