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 querylimit(number, optional): Maximum results to return (default: 5, max: 20)
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 inyyyy-MM-ddformatend(string): End date inyyyy-MM-ddformat
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 viabubblav_search_knowledge once processed.
Parameters:
title(string, required): Title for this knowledge entrycontent(string, required): Full text content to index (plain text or Markdown)
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
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 withstartandendinyyyy-MM-ddformatlimit(number, optional): Maximum results (default: 20, max: 100)offset(number, optional): Results to skip for pagination (default: 0)
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
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 withstartandendlimit(number, optional): Maximum results (default: 20, max: 100)offset(number, optional): Pagination offset (default: 0)
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 platformdate_range(object, optional): Date rangelimit(number, optional): Maximum results (default: 20, max: 100)offset(number, optional): Pagination offset (default: 0)
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-qualitydate_range(object, optional): Date rangelimit(number, optional): Maximum results (default: 20, max: 100)offset(number, optional): Pagination offset (default: 0)
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 rangelimit(number, optional): Maximum questions (default: 10, max: 50)
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 rangelimit(number, optional): Maximum questions (default: 10, max: 50)
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)
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 (frombubblav_list_knowledge_sources).
Parameters:
knowledge_id(string, required): UUID of the text knowledge entry to delete
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
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)
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
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 —succeededorfailed. Omit to return both.date_range(object, optional): Date range (defaults to the last 7 days)start(string): Start date inyyyy-MM-ddformatend(string): End date inyyyy-MM-ddformat
offset(number, optional): Number of logs to skip for pagination (default: 0)
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: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 dashboarddescription_for_ai(string, required): Instructions for the AI on when and how to use this tooldescription(string, optional): Short human-readable description shown in dashboard. Auto-generated fromdescription_for_aiif omitted.endpoint_url(string, required): Webhook URL the chatbot will call (HTTPS required)authentication_type(string, required):none,bearer, orhmacargument_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 includetype,description,required,default, andmethod(query,body, orpath). Do not wrap it in JSON Schema keys liketype,properties, andrequired.http_method(string, optional):GET,POST,PUT,PATCH, orDELETE(default: GET)activate_for_website(boolean, optional): Auto-activate for current website (default: true)
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 (frombubblav_list_custom_tools)display_name(string, optional): New human-readable namedescription_for_ai(string, optional): New AI instructionsdescription(string, optional): New human-readable descriptionendpoint_url(string, optional): New webhook URLauthentication_type(string, optional):none,bearer, orhmacargument_schema(object, optional): New parameter schemahttp_method(string, optional): New HTTP methodis_active(boolean, optional): Enable or disable the tool globally
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
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 toggleenabled(boolean, required):trueto enable,falseto disable
Custom Tool Authentication
When creating a tool, choose anauthentication_type based on your endpoint’s security:
Key details:
- A
secret_keyis auto-generated forbearerandhmactypes 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.
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:- ChatGPT - OAuth 2.0, no API key needed
- Claude / Claude Desktop - OAuth 2.0, no API key needed
- Google Antigravity - OAuth 2.0, no API key needed
- API Key - For OpenClaw and other MCP clients
Option 1: ChatGPT (OAuth 2.0)
Use the same MCP server URL: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 Settings → Integrations (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
- Log in to your BubblaV dashboard at https://www.bubblav.com
- Navigate to your Website Settings page
- Click the API Keys tab
- Click Generate New Key
- Enter a name (e.g., “OpenClaw”) and select → MCP scopes
- Click Generate and copy the key immediately — it won’t be shown again
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 filebubblav.json:
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 basebubblav_read_report- Access full analytics reportsbubblav_add_knowledge- Add new knowledge entriesbubblav_delete_knowledge- Remove outdated entriesbubblav_list_knowledge_sources- List all knowledge sourcesbubblav_list_conversations- List and filter conversationsbubblav_get_conversation- Get full conversation detailsbubblav_search_conversations- Full-text search across conversationsbubblav_list_leads- List captured leads (emails)bubblav_list_unanswered_questions- Find knowledge gapsbubblav_get_most_asked_questions- See trending visitor questionsbubblav_get_content_gaps- Identify content improvement areasbubblav_get_answerable_questions- See what your bot can answerbubblav_get_visitor_insights- Get visitor profilesbubblav_get_hourly_activity- Analyze peak support timesbubblav_sync_ticket_to_knowledge- Turn resolved tickets into knowledgebubblav_scrape_url- Scrape web pages to markdownbubblav_list_custom_tools- List custom webhook toolsbubblav_create_custom_tool- Create a new custom toolbubblav_update_custom_tool- Update an existing custom toolbubblav_delete_custom_tool- Delete a custom toolbubblav_toggle_custom_tool- Enable/disable a tool per-websitebubblav_list_tool_logs- Read tool-call logs (status, date range, limit) to debug your custom tools
Option 4: OpenClaw (Automatic Setup)
Setup Everything Automatically
Tell OpenClaw to install and configure everything for BubblaV automatically. Command:- Opens BubblaV dashboard in your browser
- Generates an API key with proper scopes
- Configures OpenClaw with server URL and API key
- Tests connection
- Search knowledge base: Ask your AI agent to search your website content
- Get analytics: Request a conversation or performance report
- 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
429status with aRetry-Afterheader - Check your usage in the dashboard under Integrations → MCP 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
- Simple authentication via
X-API-Keyheader - 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 datamcp: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
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
- Check your usage in the dashboard
- Wait for the monthly window to reset (check
Retry-Afterheader) - 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:executescope
- 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:- Email: support@bubblav.com
