MCP Server
Connect AI assistants like Claude, Codex, and Cursor to your Conferbot workspace using the Model Context Protocol (MCP). Query chatbots, analyze responses, manage webhooks, and generate reports — all through natural language.
What is MCP?
Prerequisites
- Starter plan or above — MCP uses the same API access as the REST API
- API key — Generate one from your workspace settings under Developer → API Keys
- MCP-compatible client — Claude Code, Cursor, Windsurf, JetBrains, OpenAI Codex, or any client supporting the MCP standard
Endpoint
The MCP server uses Streamable HTTP transport (stateless mode) over a single endpoint:
POST https://api-v2.conferbot.com/api/v1/mcpAuthenticate with the x-api-key header, same as the REST API. Each MCP request counts as one API call against your monthly quota.
Connect your IDEs to Conferbot MCP
{
"mcpServers": {
"conferbot": {
"type": "url",
"url": "https://api-v2.conferbot.com/api/v1/mcp",
"headers": {
"x-api-key": "ENTER_TOKEN_HERE"
}
}
}
}Add to config file
Create this file in your project root and paste the JSON. If it already exists, add the "conferbot" entry inside the existing mcpServers object:
.mcp.jsonReplace the placeholder token
Find the highlighted ENTER_TOKEN_HEREin the configuration above and replace it with your API token. Generate a new token in the section above if you don't have one.
Restart Claude Code
The MCP server will be picked up automatically on restart.
Verify connection
Confirm the server is running by executing this command:
claude mcp listYou're all set!
Once connected, you can manage your Conferbot chatbots using natural language right from your IDE. Try something like:
"List all my chatbots and show their response counts"Testing with MCP Inspector
Use the official MCP Inspector to test your connection:
npx @modelcontextprotocol/inspectorEnter the endpoint URL and add the x-api-key header in the inspector UI.
Available Tools
Tools are actions your AI assistant can invoke. Conferbot exposes 45 tools across chatbots, responses, analytics, webhooks, flows, templates, knowledge base, widget configuration, and conversations.
Chatbot Tools
| Tool | Description | Parameters |
|---|---|---|
list_chatbots | List all chatbots in your workspace with response counts | None |
get_chatbot | Get detailed information about a specific chatbot | chatbotId (required) |
create_chatbot | Create a new chatbot in your workspace | name (required, max 100), description |
update_chatbot | Update a chatbot's name, description, or disabled status | chatbotId (required), name, description, disabled |
delete_chatbot | Permanently delete a chatbot from the workspace | chatbotId (required) |
duplicate_chatbot | Create a copy of a chatbot with all its configuration | chatbotId (required) |
Response Tools
| Tool | Description | Parameters |
|---|---|---|
list_responses | List responses with pagination and date filtering | chatbotId (required), page, limit (max 100), startDate, endDate |
get_response | Get a single chatbot response by ID | chatbotId (required), responseId (required) |
Analytics Tools
| Tool | Description | Parameters |
|---|---|---|
get_chatbot_analytics | Get analytics including response counts and daily trends | chatbotId (required), days (1–365, default: 30) |
get_api_usage | Get current month API usage statistics | None |
Webhook Tools
| Tool | Description | Parameters |
|---|---|---|
list_webhooks | List all webhook subscriptions | chatbotId (optional filter) |
get_webhook | Get details of a specific webhook | webhookId (required) |
create_webhook | Create a new webhook subscription | chatbotId, url, events[], description |
update_webhook | Update a webhook (URL, events, status, description) | webhookId (required), url, events, status, description |
delete_webhook | Delete a webhook and its delivery logs | webhookId (required) |
regenerate_webhook_secret | Regenerate the signing secret (shown once) | webhookId (required) |
get_webhook_delivery_logs | Get delivery logs for debugging | webhookId (required), page, limit (max 50) |
Flow Tools
| Tool | Description | Parameters |
|---|---|---|
get_chatbot_flow | Get the conversation flow structure of a chatbot | chatbotId (required) |
update_chatbot_flow | Replace the entire conversation flow and save a version | chatbotId (required), flow (required), versionName (max 32 chars) |
add_flow_node | Add a node to the chatbot's conversation flow | chatbotId (required), node (required: id, type, data, position) |
delete_flow_node | Remove a node and its connected edges from the flow | chatbotId (required), nodeId (required) |
connect_flow_nodes | Connect two nodes with an edge in the flow | chatbotId (required), edge (required: source, target, sourceHandle, targetHandle, label) |
list_flow_versions | List saved flow versions for a chatbot | chatbotId (required) |
publish_flow_version | Publish a specific flow version (or draft) as the live flow | chatbotId (required), versionId (optional, omit to publish draft) |
Template Tools
| Tool | Description | Parameters |
|---|---|---|
list_templates | List available chatbot templates with pagination | category, page, limit (max 50) |
get_template_categories | Get all available template categories | None |
create_from_template | Create a new chatbot from a template | templateId (required), name (max 100) |
Knowledge Base & AI Tools
| Tool | Description | Parameters |
|---|---|---|
list_knowledge_base | List knowledge base articles with pagination and filtering | chatbotId (required), categoryId, page, limit (max 50) |
get_knowledge_article | Get a knowledge base article with full content and metrics | chatbotId (required), articleId (required) |
create_knowledge_article | Create a new knowledge base article | chatbotId (required), title (required), description (required), content (required), categoryId, seoKeywords[], metaDescription |
update_knowledge_article | Update a knowledge base article's content or status | chatbotId (required), articleId (required), title, description, content, reviewStatus (draft/in_review/published), seoKeywords[] |
list_knowledge_categories | List all knowledge base categories for a chatbot | chatbotId (required) |
create_knowledge_category | Create a new knowledge base category | chatbotId (required), name (required), description, icon (max 10 chars), color (hex) |
get_ai_config | Get AI agent configuration for a chatbot | chatbotId (required) |
update_ai_config | Update AI agent settings (mode, greeting, enabled status) | chatbotId (required), enabled, mode (ai_first/human_first/ai_only/human_only), greetingOverride |
Widget & Channel Tools
| Tool | Description | Parameters |
|---|---|---|
get_widget_config | Get the widget appearance and behavior settings | chatbotId (required) |
update_widget_config | Update widget colors, position, CTA text, and more | chatbotId (required), config (object with headerBgColor, botMsgColor, widgetPosition, chatIconCtaText, enableKnowledgeBase, botAutoOpen, etc.) |
list_channels | List connected messaging channels for a chatbot | chatbotId (required) |
get_channel_config | Get configuration for a specific channel connection | channelId (required) |
export_chatbot | Export a chatbot's full configuration as JSON | chatbotId (required) |
Conversation Tools
| Tool | Description | Parameters |
|---|---|---|
list_conversations | List conversations with filtering by status, channel, and date | chatbotId (required), page, limit (max 50), status, channel, startDate, endDate |
get_conversation | Get a conversation with all messages and metadata | chatbotId (required), conversationId (required) |
get_conversation_analytics | Get analytics for a specific conversation (sentiment, duration, etc.) | chatbotId (required), conversationId (required) |
list_tickets | List support tickets with status filtering | chatbotId (required), status (open/closed/in-progress/pending), page, limit (max 50) |
get_conversation_summary | Get conversation statistics and trends over a period | chatbotId (required), days (1–365, default: 30) |
Resources
Resources are read-only data your AI assistant can access directly. They provide a quick way to fetch workspace data without invoking tools.
Conferbot exposes 6 resources, including static workspace resources and templated chatbot-specific resources.
| URI | Description |
|---|---|
conferbot://chatbots | All chatbots in your workspace with response counts |
conferbot://chatbot/{chatbotId} | Detailed information about a specific chatbot |
conferbot://chatbot/{chatbotId}/analytics | 30-day analytics data for a specific chatbot |
conferbot://chatbot/{chatbotId}/widget | Widget appearance configuration for a specific chatbot |
conferbot://chatbot/{chatbotId}/conversations | Recent conversation summary for a specific chatbot |
conferbot://usage | Current month API usage statistics |
Prompt Templates
Prompts are pre-built workflows that guide your AI assistant through multi-step analyses. Invoke them by name in your AI client.
| Prompt | Arguments | What It Does |
|---|---|---|
analyze-chatbot-performance | chatbotId (required) | Fetches chatbot details, analytics, and recent responses, then synthesizes a performance analysis with trends and recommendations. |
debug-webhook-deliveries | webhookId (required) | Fetches webhook config and delivery logs, then analyzes failure patterns and suggests fixes. |
generate-analytics-report | chatbotId (required), days (optional) | Generates a formatted analytics report with key metrics, daily trends, and actionable insights. |
build-chatbot-flow | chatbotId (required), description (required) | Guides building a chatbot conversation flow from a natural language description using nodes and edges. |
optimize-chatbot | chatbotId (required) | Analyzes chatbot performance, flow structure, widget config, and AI settings, then provides actionable improvement suggestions. |
setup-knowledge-base | chatbotId (required), topic (required) | Guides setting up a knowledge base with categories, articles, and AI configuration for a specific topic. |
Example Conversations
Once configured, you can ask your AI assistant questions in natural language. The assistant will automatically invoke the right tools.
List Your Chatbots
You:"Show me all my chatbots and their response counts."
Assistant calls list_chatbots and presents a formatted table.
Analyze Performance
You:"How is my Support Bot performing this month? Any trends I should know about?"
Assistant uses the analyze-chatbot-performance prompt to fetch chatbot details, analytics, and recent responses, then provides a comprehensive analysis.
Debug Webhooks
You:"My webhook seems to be failing. Can you check what's going on?"
Assistant calls list_webhooks to find the failing webhook, then uses get_webhook_delivery_logs to analyze failure patterns and HTTP status codes.
Create a Webhook
You:"Set up a webhook for my Support Bot that sends response.created events to https://hooks.example.com/conferbot."
Assistant calls create_webhook with the specified parameters and returns the signing secret.
Build a Conversation Flow
You:"Build a lead capture flow for my Sales Bot that collects name, email, and company size."
Assistant uses the build-chatbot-flow prompt to design and create flow nodes with add_flow_node and connect them with connect_flow_nodes.
Set Up a Knowledge Base
You:"Set up a knowledge base for my product support chatbot with categories for billing, integrations, and troubleshooting."
Assistant uses the setup-knowledge-base prompt to create categories, articles, and enable AI-powered responses.
Customize Widget Appearance
You:"Change my chatbot's widget header color to dark blue and update the CTA text to 'Need help? Chat with us!'"
Assistant calls update_widget_config to apply the color and CTA text changes.
Review Conversations
You:"Show me a summary of conversations from the past week. Are there any escalated tickets I should review?"
Assistant calls get_conversation_summary and list_tickets to provide a complete overview.
Rate Limits & Usage
MCP requests share the same limits as the REST API:
- Rate limit: 60 requests per minute per API key
- Monthly quota: Each MCP request counts as one API call
| Plan | Monthly API Calls |
|---|---|
| Starter | 10,000 |
| Pro | 50,000 |
| Business | 200,000 |
| Enterprise | Unlimited |
Tip
get_api_usage tool to check your current month usage at any time.Troubleshooting
401 — Invalid API Key
Your API key is missing, invalid, or has been revoked. Generate a new one from your workspace Developer settings.
403 — Plan Not Supported
Your current plan does not include API access. Upgrade to Starter or above.
429 — Rate Limit Exceeded
You've exceeded 60 requests/minute or your monthly API call quota. Wait a moment and retry, or upgrade your plan for a higher quota.
Connection Timeout
Ensure your firewall or proxy allows outbound HTTPS connections to the API server. The MCP endpoint uses standard HTTPS (port 443).
Tools Not Appearing in Client
Verify the endpoint URL and headers in your client configuration. Test with the MCP Inspector first:
npx @modelcontextprotocol/inspectorSecurity
- Workspace isolation: Your API key only accesses your own workspace data. Cross-workspace access is not possible.
- Input validation: All tool inputs are validated with strict schemas before reaching your data.
- No secret exposure: Webhook signing secrets are never returned in list or get operations.
- Stateless transport: Each request is independent — no session state is stored on the server.
- Rate limiting: Per-key rate limiting prevents abuse.
Keep Your API Key Secure