# Botpress — how to use (mcp.ai)

Connect your Botpress account and use 53 tools for AI chatbots straight from your AI agent. Connect with your own API key. Botpress is an open-source platform for building, deploying, and managing chatbots.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_botpress?ms=1787293740000`
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. `botpress_break_down_workspace_usage_by_bot`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/botpress`
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/botpress/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/botpress/break/down/workspace/usage/by/bot` — Tool to break down workspace usage by bot. Use this to get detailed usage metrics for individual bots within a workspace, such as invocation calls, storage count, or AI spend.
  - body: { id: string, type: string, period?: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/charge/workspace/unpaid/invoices` — Tool to charge unpaid invoices for a specific Botpress workspace. Use when you need to manually trigger payment for outstanding workspace invoices. Returns details of successfully charged invoices and
  - body: { id: string, invoiceIds: string[] }
- `POST https://api.mcp.ai/api/botpress/check/handle/availability` — Tool to check if a workspace handle is available in Botpress. Use when creating or renaming a workspace to verify the handle is not already taken. Returns availability status and suggestions for alter
  - body: { handle: string }
- `POST https://api.mcp.ai/api/botpress/create/admin/integration` — Tool to create a new integration in a Botpress workspace via the Admin API. Use when you need to provision a new integration with configuration including name, version, code, actions, events, and chan
  - body: { dev?: boolean, url?: string, code?: string, icon?: string, name: string, user?: object, title?: string, events?: object, layers?: string[], public?: boolean, readme?: string, states?: object, actions?: object, secrets?: object, version: string, channels?: object, entities?: object, attributes?: object, identifier?: object, interfaces?: object, visibility?: string, description?: string, configuration?: object, configurations?: object, x-workspace-id: string, extraOperations?: object, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/create/admin/workspace` — Tool to create a new workspace in Botpress via the Admin API. Use when you need to provision a new workspace for organizing bots and managing team resources. The workspace will be created under the au
  - body: { name: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/create/bot` — Tool to create a new bot in a Botpress workspace via the Admin API. Use when you need to provision a new bot with optional configuration including name, code, tags, events, states, and integrations.
  - body: { dev?: boolean, url?: string, code?: string, name?: string, tags?: object, user?: object, events?: object, medias?: object[], states?: object, actions?: object, message?: object, conversation?: object, configuration?: object, subscriptions?: object, recurringEvents?: object }
- `POST https://api.mcp.ai/api/botpress/create/conversation` — Tool to create a new conversation in Botpress via the Runtime API. Use when you need to initiate a new conversation thread. The required tags must be provided according to the specific integration bei
  - body: { id?: string, tags: object, botId: string, channel: string, integrationId?: string, integrationAlias?: string }
- `POST https://api.mcp.ai/api/botpress/delete/admin/workspace` — Tool to permanently delete a workspace from Botpress admin. Use this to remove workspaces that are no longer needed. The deletion is irreversible and removes all associated bots and data.
  - body: { id: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/delete/file` — Permanently deletes a file from a Botpress bot's storage by its file ID. Use this tool to remove files that are no longer needed. The deletion is irreversible. Requires a valid file ID and the bot ID 
  - body: { id: string, botId: string }
- `POST https://api.mcp.ai/api/botpress/delete/integration/shareable/id` — Tool to delete a shareable ID for an integration installed in a Botpress bot. Use when you need to remove the human-readable identifier for a specific bot-integration crossover. This is an experimenta
  - body: { botId: string, integrationId?: string, x-workspace-id: string, x-multiple-integrations?: string, integrationInstanceAlias?: string }
- `POST https://api.mcp.ai/api/botpress/delete/knowledge/base` — Permanently deletes a knowledge base from Botpress by its knowledge base ID. Use this tool to remove knowledge bases that are no longer needed. The deletion is irreversible. Requires a valid knowledge
  - body: { id: string, botId: string, userId?: string, userRole?: string, integrationId?: string, integrationName?: string, integrationAlias?: string }
- `POST https://api.mcp.ai/api/botpress/get/account` — Tool to get details of the authenticated account. Use after confirming valid credentials.
- `POST https://api.mcp.ai/api/botpress/get/account/preference` — Tool to get a preference of the account. Use when you need to retrieve a specific account preference value by its key.
  - body: { key: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/all/workspace/quota/completion` — Tool to get a map of workspace IDs to their highest quota completion rate. Use when monitoring workspace usage or checking quota limits across multiple workspaces.
  - body: { x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/dereferenced/public/plugin/by/id` — Tool to get a public plugin by ID with all interface entity references resolved to the corresponding entities as extended by the backing integrations. Use when you need to retrieve a plugin with its i
  - body: { id: string, interfaces: object, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/integration` — Tool to get a specific Botpress integration by name and version. Use this to retrieve detailed information about an integration including its configuration, actions, events, channels, and metadata. Su
  - body: { name: string, version: string, x-workspace-id: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/integration` — Tool to retrieve a public integration by name and version from the Botpress hub. Use when you need to get integration details, check available actions/events/channels, or verify integration configurat
  - body: { name: string, version: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/integration/by/id` — Tool to retrieve detailed information about a public Botpress integration by its ID. Use when you need to fetch integration details including configuration, channels, actions, events, and metadata.
  - body: { id: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/interface` — Tool to get a public interface by name and version from the Botpress Hub. Use when you need to retrieve interface specifications, schemas, or metadata for integrations.
  - body: { name: string, version: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/interface/by/id` — Tool to retrieve a public interface by its ID from the Botpress Hub. Use when you need to get detailed information about a specific interface including its actions, events, channels, and entities.
  - body: { id: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/plugin` — Tool to retrieve detailed information about a public plugin from Botpress Hub by name and version. Use when you need to inspect plugin configuration, dependencies, actions, events, or metadata before 
  - body: { name: string, version: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/plugin/by/id` — Tool to retrieve details of a public plugin by its unique ID. Use this to get full plugin information including configuration, actions, events, and metadata.
  - body: { id: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/public/plugin/code` — Tool to retrieve public plugin code from Botpress Hub. Use when you need to access the source code for a specific plugin version on a particular platform (node or browser).
  - body: { id: string, platform: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/table/row` — Tool to fetch a specific row from a table using the row's unique identifier. Use when you need to retrieve detailed data for a specific table row.
  - body: { id: integer, botId: string, table: string, userId?: string, userRole?: string, integrationId?: string, integrationName?: string, integrationAlias?: string }
- `POST https://api.mcp.ai/api/botpress/get/upcoming/invoice` — Tool to get the upcoming invoice for a workspace. Use this to preview upcoming charges before they are billed.
  - body: { id: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/workspace` — Tool to get detailed information about a specific Botpress workspace by ID. Use this when you need to retrieve workspace details such as plan, bot count, owner, billing info, or settings for a known w
  - body: { id: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/get/workspace/quota` — Tool to get workspace quota information for a specific usage type. Use when you need to check resource limits or usage for a workspace.
  - body: { id: string, type: string, period?: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/action/runs` — Tool to list action runs for a specific integration of a bot. Use when you need to retrieve execution history of actions for a bot's integration, optionally filtering by timestamp range and paginating
  - body: { id: string, nextToken?: string, timestampFrom?: string, timestampUntil?: string, x-workspace-id: string, integrationName: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/bot/issues` — Tool to list issues associated with a specific bot. Use when you need to discover errors or configuration problems tied to a bot, optionally paginating through results.
  - body: { id: string, nextToken?: string }
- `POST https://api.mcp.ai/api/botpress/list/conversations` — Tool to list all Conversations. Use when you need to retrieve and page through chat threads.
  - body: { tags?: object, botId: string, channel?: string, nextToken?: string, sortField?: string, sortDirection?: string, participantIds?: string[], integrationName?: string }
- `POST https://api.mcp.ai/api/botpress/list/file/tag/values` — Tool to list all values for a given file tag across all files. Use after determining the tag name; supports pagination via nextToken.
  - body: { tag: string, botId: string, nextToken?: string }
- `POST https://api.mcp.ai/api/botpress/list/file/tags` — Tool to list all tags used across all bot files. Use when you need to retrieve or display file tag metadata; supports pagination via nextToken.
  - body: { botId: string, nextToken?: string }
- `POST https://api.mcp.ai/api/botpress/list/hub/integrations` — Tool to list public integrations from the Botpress hub. Use when you need to browse available integrations, search for specific integration types, or filter integrations by various criteria such as ve
  - body: { name?: string, limit?: integer, search?: string, sortBy?: string, version?: string, direction?: string, nextToken?: string, interfaceId?: string, interfaceName?: string, installedByBotId?: string, verificationStatus?: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/integration/api/keys` — Tool to list Integration API Keys (IAKs) for a specific integration. Use when you need to retrieve all API keys associated with an integration within a workspace.
  - body: { integrationId: string, x-workspace-id: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/integrations` — Tool to list integrations with filtering and sorting capabilities. Use when you need to browse available integrations, search for specific integration types, or filter integrations by various criteria
  - body: { dev?: boolean, name?: string, limit?: integer, search?: string, sortBy?: string, version?: string, direction?: string, nextToken?: string, visibility?: string, interfaceId?: string, interfaceName?: string, x-workspace-id: string, installedByBotId?: string, verificationStatus?: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/knowledge/bases` — Tool to list knowledge bases for a bot. Use when you need to retrieve or display knowledge bases with optional tag filtering; supports pagination via nextToken.
  - body: { tags?: string, botId: string, userId?: string, userRole?: string, nextToken?: string, integrationId?: string, integrationName?: string, integrationAlias?: string }
- `POST https://api.mcp.ai/api/botpress/list/plugins` — Tool to list Botpress plugins. Use to discover available plugins, filter by name or version, or page through all plugins in a workspace.
  - body: { name?: string, version?: string, nextToken?: string, xWorkspaceId: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/public/interfaces` — Tool to retrieve a list of public interfaces available in the Botpress Hub. Use when browsing available interfaces to integrate with bots.
  - body: { name?: string, version?: string, nextToken?: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/public/plugins` — Tool to retrieve a list of public plugins available in the Botpress hub. Use when browsing available plugins or searching for specific plugins by name and version.
  - body: { name?: string, version?: string, nextToken?: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/public/workspaces` — Tool to retrieve a list of public workspaces. Use when browsing publicly available workspaces before selection.
  - body: { search?: string, nextToken?: string, workspaceIds?: string[] }
- `POST https://api.mcp.ai/api/botpress/list/usage/history` — Tool to retrieve usage history for a bot or workspace. Use to track resource consumption, monitor quota usage, or analyze historical trends for metrics like AI spend, member count, or invocation calls
  - body: { id: string, type: string, x-workspace-id: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/workspace/invoices` — Tool to list all invoices billed to a workspace. Use when you need to retrieve billing history and invoice details for a specific workspace.
  - body: { id: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/list/workspaces` — List all Botpress workspaces accessible to the authenticated user. Use this to enumerate workspaces, check workspace details like bot count and plan type, or find a specific workspace by handle. Suppo
  - body: { handle?: string, nextToken?: string }
- `POST https://api.mcp.ai/api/botpress/request/integration/verification` — Tool to request verification for a Botpress integration via the Admin API. Use when you need to submit an integration for verification to make it available for public use.
  - body: { integrationId: string, x-workspace-id: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/run/vrl` — Tool to execute a VRL (Vector Remap Language) script against input data using the Botpress Admin API. Use when you need to transform or process data using VRL syntax. The script receives the input dat
  - body: { data: object, script: string, xWorkspaceId: string, xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/send/message` — Tool to send a message to an existing Botpress conversation via the Runtime API. Use when you need to create and deliver a message to a user.
  - body: { tags?: object, type: string, botId: string, origin?: string, userId: string, payload: object, schedule?: object, conversationId: string }
- `POST https://api.mcp.ai/api/botpress/set/account/preference` — Tool to set a preference for the account. Use when you need to create or update a specific account preference by its key.
  - body: { key: string, value: string|integer|number|boolean|object|string|integer|number|boolean[], x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/set/workspace/preference` — Tool to set a preference for a Botpress workspace. Use when you need to store or update a workspace-specific preference value by its key.
  - body: { key: string, value: string|integer|number|boolean|object|string|integer|number|boolean|object[], workspaceId: string, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/update/account` — Tool to update details of the authenticated account. Use when you need to change the display name, profile picture, or refresh account data.
  - body: { refresh?: boolean, displayName?: string, profilePicture?: string }
- `POST https://api.mcp.ai/api/botpress/update/admin/bots` — Tool to update an existing bot in a Botpress workspace via the Admin API. Use when you need to modify bot configuration, update tags, change code, or adjust any other bot properties. Only the fields y
  - body: { id: string, dev?: boolean, url?: string, code?: string, name?: string, tags?: object, user?: object, events?: object, layers?: string[], medias?: object[], states?: object, actions?: object, blocked?: boolean, message?: object, plugins?: object, alwaysAlive?: boolean, conversation?: object, integrations?: object, configuration?: object, subscriptions?: object, authentication?: string, x-workspace-id?: string, recurringEvents?: object, maxExecutionTime?: integer, shouldMergePlugins?: boolean, x-multiple-integrations?: string }
- `POST https://api.mcp.ai/api/botpress/update/admin/workspace` — Tool to update a Botpress workspace via the Admin API. Use this to modify workspace properties including name, description, contact information, public visibility, handle, profile picture, social acco
  - body: { id: string, name?: string, about?: string, handle?: string, website?: string, isPublic?: boolean, contactEmail?: string, spendingLimit?: number, profilePicture?: string, socialAccounts?: string[], xMultipleIntegrations?: string }
- `POST https://api.mcp.ai/api/botpress/update/workflow` — Tool to update a workflow object in Botpress by setting parameter values. Use when you need to change workflow status, add output data, update tags, or set failure reasons. Any parameters not provided
  - body: { id: string, tags?: object, botId: string, output?: object, status?: string, userId?: string, eventId?: string, timeoutAt?: string, failureReason?: string, integrationId?: string, integrationAlias?: string }
- `POST https://api.mcp.ai/api/botpress/validate/integration/update` — Tool to validate an integration update request in Botpress Admin API. Use when you need to verify that integration update parameters are valid before performing the actual update. Returns success if t
  - body: { id: string, url?: string, code?: string, icon?: string, user?: object, title?: string, events?: object, layers?: string[], public?: boolean, readme?: string, states?: object, actions?: object, secrets?: object, channels?: object, entities?: object, attributes?: object, identifier?: object, interfaces?: object, visibility?: string, description?: string, configuration?: object, configurations?: object, x-workspace-id: string, extraOperations?: object, maxExecutionTime?: integer, x-multiple-integrations?: string }

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

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