# DocsBot AI — how to use (mcp.ai)

Connect your DocsBot AI account and use 38 tools for AI chatbots straight from your AI agent. Connect with your own API key. DocsBot AI enables the creation of custom chatbots trained on your documentation, facilitating automated customer support and content generation.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_docsbot_ai?ms=1787291460000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `docsbot_ai_capture_conversation_lead`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/docsbot_ai`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/docsbot_ai/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/docsbot_ai/capture/conversation/lead` — Tool to capture lead information by updating conversation metadata and saving the lead. Works whether or not the conversation has been created yet.
  - body: { bot_id: string, conv_id: string, team_id: string, metadata: object, full_change?: boolean }
- `POST https://api.mcp.ai/api/docsbot_ai/create/bot` — Tool to create a new bot within a team. Use when you have a valid team ID and want to provision a new bot.
  - body: { name: string, privacy?: string, team_id: string, language?: string, description?: string }
- `POST https://api.mcp.ai/api/docsbot_ai/create/source` — Tool to create a new source for a bot. Sources can be URLs, files, sitemaps, and other types. Use when you have content to add to a bot's knowledge base. For file-based sources, first upload the file 
  - body: { url?: string, faqs?: object[], file?: string, type: string, title?: string, bot_id: string, team_id: string, scheduleInterval?: string }
- `POST https://api.mcp.ai/api/docsbot_ai/create/webhook` — Tool to create a new webhook subscription for a bot. Use when you want to receive real-time notifications for specific events (lead.created, deep_research.done, conversation.escalated, conversation.ra
  - body: { label?: string, bot_id: string, events: string[], source?: string, team_id: string, targetUrl: string, expirationDate?: string }
- `POST https://api.mcp.ai/api/docsbot_ai/delete/bot` — Tool to delete a specific bot by its ID. Use after confirming the bot ID is correct to permanently remove a bot from the system.
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/delete/conversation` — Tool to delete a specific conversation by its ID. Use after confirming the conversation ID is correct to permanently remove a conversation. Requires edit permission.
  - body: { bot_id: string, team_id: string, conversation_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/delete/lead` — Tool to delete a specific lead by ID. Use after confirming the lead ID to permanently remove a lead record from the system.
  - body: { bot_id: string, lead_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/delete/question` — Tool to delete a specific question from history. Use after confirming the question ID to permanently remove a question log entry from the system.
  - body: { bot_id: string, team_id: string, question_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/delete/source` — Tool to delete a specific source from a bot by its ID. Use after confirming the source ID is correct to permanently remove a source from the bot's knowledge base.
  - body: { bot_id: string, team_id: string, source_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/delete/webhook` — Tool to delete a webhook (unsubscribe) by its ID. Use after confirming the webhook ID is correct to permanently remove a webhook subscription.
  - body: { bot_id: string, team_id: string, webhook_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/docsbot/conversation/ticket/creation` — Generates a structured support ticket from a Chat Agent conversation. Use this tool to convert an existing bot conversation into a formatted helpdesk ticket containing a subject line and message body 
  - body: { bot_id: string, team_id: string, conversation_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/get/bot` — Tool to fetch details of a specific bot by ID within a team. Use after confirming valid team and bot IDs.
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/get/bot/reports` — Tool to retrieve monthly statistical reports for a bot. Returns question resolution metrics for a selected month. Use this to analyze bot performance and track question resolution trends over time.
  - body: { month?: string, bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/get/bot/stats` — Tool to retrieve comprehensive statistics and analytics for a bot over a time period or date range. Returns key metrics (resolution rate, deflection rate, time saved), time series data for questions a
  - body: { bot_id: string, endDate?: string, team_id: string, startDate?: string, timeDelta?: integer }
- `POST https://api.mcp.ai/api/docsbot_ai/get/source` — Tool to retrieve detailed information about a specific source by its ID. Use when you need complete metadata about a source including indexed URLs, FAQs, and processing status.
  - body: { bot_id: string, team_id: string, source_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/get/team` — Tool to fetch details of a specific team by its ID. Use when you need full team info including members and settings after confirming the team ID.
  - body: { team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/get/upload/url` — Get a presigned upload URL for uploading files as sources. Use this before uploading large files to DocsBot. The workflow is: 1) Get upload URL, 2) Upload file to the URL, 3) Create source with the fi
  - body: { bot_id: string, team_id: string, fileName: string }
- `POST https://api.mcp.ai/api/docsbot_ai/get/webhook` — Tool to retrieve details of a specific webhook by ID. Use when you need webhook configuration, delivery status, or subscription details.
  - body: { bot_id: string, team_id: string, webhook_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/bots` — List all bots for a given team. Returns detailed information about each bot including configuration, statistics, and status. Use this action to discover available bots before performing operations lik
  - body: { team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/conversations` — Tool to list conversation history for a bot with pagination. Returns a limited subset of conversation properties including titles, timestamps, sentiment, and status. Use this to discover conversations
  - body: { page?: integer, bot_id: string, perPage?: integer, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/leads` — Tool to list captured leads for a bot with pagination and date filtering. Use after confirming valid team and bot IDs. Example: "List leads for bot abc123 starting from 2024-01-01."
  - body: { page?: integer, bot_id: string, endDate?: string, perPage?: integer, team_id: string, startDate?: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/questions` — Tool to list all questions asked of a specific bot. Use after confirming the bot's identifier. Example: "List questions for bot abc123 with status 'unanswered'."
  - body: { limit?: integer, bot_id: string, offset?: integer, search?: string, status?: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/research/jobs` — Tool to list all deep research jobs for a bot with pagination support. Use after confirming valid team and bot IDs. Returns details about each research job including status, question, and timestamps.
  - body: { page?: integer, bot_id: string, perPage?: integer, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/sources` — Retrieves a paginated list of all sources for a specific bot within a team. Sources are the content (URLs, files, sitemaps, etc.) that have been indexed for the bot's knowledge base. Use this to see w
  - body: { page?: integer, bot_id: string, team_id: string, per_page?: integer }
- `POST https://api.mcp.ai/api/docsbot_ai/list/team/members` — Tool to list all members of a team including their roles. Use when you need to see who has access to a team and their permission levels.
  - body: { team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/list/teams` — Tool to list all teams. Use when you need to retrieve every team associated with the authenticated user.
- `POST https://api.mcp.ai/api/docsbot_ai/list/webhooks` — List all registered webhooks for a bot. Returns webhook configurations including target URLs, subscribed events, and status. Use this action to discover configured webhooks before creating, updating, 
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/rate/answer` — Tool to rate an answer from chat APIs as positive (1), neutral (0), or negative (-1). Use when recording user feedback on bot responses for statistics shown in chat logs.
  - body: { bot_id: string, rating: integer, team_id: string, answer_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/refresh/source` — Tool to refresh a source to re-index its content. Use when a source needs to be updated with the latest content from its origin. Only works with failed sources for retry purposes.
  - body: { bot_id: string, team_id: string, source_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/search/semantic` — Tool to perform semantic search on a bot's indexed content. Returns the most relevant source chunks for a query. Use when you need to search the bot's knowledge base without triggering a full conversa
  - body: { alpha?: number, query: string, top_k?: integer, bot_id: string, autocut?: boolean|integer, team_id: string, use_glossary?: boolean }
- `POST https://api.mcp.ai/api/docsbot_ai/test/escalated/webhook` — Tool to trigger a test delivery of the conversation.escalated webhook. Use to verify webhook configuration is working correctly.
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/test/lead/webhook` — Tool to trigger a test lead webhook delivery. Use when you need to test webhook integration for lead capture events. Requires owner or admin permissions.
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/test/research/webhook` — Tool to trigger a deep research webhook delivery test. Use to verify webhook configurations are working correctly.
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/trigger/rated/webhook/test` — Tool to trigger a conversation.rated webhook delivery test for a specific bot. Use when you need to test webhook integration for conversation rating events.
  - body: { bot_id: string, team_id: string }
- `POST https://api.mcp.ai/api/docsbot_ai/update/bot` — Update a bot's configuration settings such as name, description, model, temperature, and appearance. Only fields provided in the request will be modified; omitted fields remain unchanged. Requires val
  - body: { name?: string, color?: string, model?: string, bot_id: string, privacy?: string, team_id: string, language?: string, description?: string, supportLink?: string, temperature?: number, customPrompt?: string, showCopyButton?: boolean }
- `POST https://api.mcp.ai/api/docsbot_ai/update/team` — Tool to update specific fields for a team. Use after confirming the team ID when you need to change the team's name or OpenAI API key. Returns the updated team record.
  - body: { name?: string, team_id: string, openAIKey?: string }
- `POST https://api.mcp.ai/api/docsbot_ai/update/webhook` — Tool to update a webhook's status, target URL, label, or expiration date. Use when you need to modify webhook configuration. Requires valid team_id, bot_id, and webhook_id. Only provided fields will b
  - body: { label?: string, bot_id: string, events?: string[], team_id: string, targetUrl?: string, webhook_id: string, expirationDate?: string }
- `POST https://api.mcp.ai/api/docsbot_ai/upload/file/to/cloud/storage` — Upload a file to cloud storage via a presigned URL. Use this tool after obtaining a presigned upload URL from the DocsBot API (GET /teams/:teamId/bots/:botId/upload-url?fileName=FILENAME). The workflo
  - body: { file: object, fields?: object, headers?: object, upload_url: string }

## Example prompts
- "What can I do in DocsBot AI?"
- "Show me a summary of my DocsBot AI account"

## More
- Page: https://mcp.ai/docsbot_ai
- Agent spec (llms.txt): https://mcp.ai/docsbot_ai/llms.txt
- Postman collection: https://mcp.ai/docsbot_ai/postman.json
