BotUyo MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOTUYO_API_KEY | Yes | Your BotUyo API key (pk_live_...). Get it from admin.botuyo.com → your tenant → Settings → API Keys |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_agentsA | Lists all agents for the authenticated tenant. Returns id, name, description, status (draft/published), and how many tools each agent has enabled. |
| get_agentA | Get the full configuration of a specific agent, including identity (tone, language, objective, customInstructions), stages, and enabled tools. |
| get_agent_statusA | Get the channel connection status of an agent (WhatsApp, Instagram, Telegram, Web). Shows which channels are connected and provides a direct link to the admin panel to connect missing channels. |
| create_agentA | Create a new agent for the tenant. The agent is created in "draft" status. Use update_agent to configure identity, stages, and tools afterward. Requires role: owner, admin, or developer. |
| update_agentA | Update an agent's configuration with partial merge. Only the fields you provide are changed — everything else is preserved. Field behavior:
Nested objects (identity, widgetConfig, voice, widgetConfig.cssVariables) are deep-merged: update_agent({ widgetConfig: { logoUrl: "https://..." } }) → only logoUrl changes, all other widgetConfig fields preserved Arrays (channels, enabledTools) are replaced entirely: update_agent({ channels: ["web", "whatsapp"] }) → replaces the full channels array Use this to configure WHO the agent is and HOW it looks. For defining WHAT the agent does in each conversation flow, use upsert_stage. For changing which tools the agent can call, use update_enabled_tools. Requires role: owner, admin, or developer. |
| upsert_stageA | Create or update a named stage in an agent's conversation flow. A stage defines what the agent does at a particular step in the conversation. Stages are nodes in a graph connected by edges (connections). Examples of stage names: "welcomeStage", "salesStage", "hostStage", "checkoutStage" The stage config is merged with existing stages — existing stages you don't specify are kept unchanged. Connections and channelFlows replace existing values when provided. Requires role: owner, admin, or developer. |
| list_available_toolsA | List all tools available for this tenant. Returns both "core" tools (available to all tenants) and "tenant" tools (custom tools specific to your tenant). Use tool IDs when enabling tools with update_enabled_tools or configuring stage tools. |
| update_enabled_toolsA | Set which tools are enabled for an agent. This REPLACES the current list of enabled tools. Use list_available_tools to see the valid tool IDs for your tenant first. Requires role: owner, admin, or developer. |
| publish_agentA | Publish or unpublish an agent. Published agents are live and handle incoming conversations. Unpublished agents are in "draft" status. Requires role: owner, admin, or developer. |
| switch_tenantA | Switch the active tenant for this MCP session. If no tenantId is provided, lists all available tenants (including sub-tenants within organizations). If a tenantId is provided, switches to that tenant or sub-tenant. The switch takes effect immediately for subsequent tool calls. |
| export_agent_jsonA | Export the full agent configuration as clean, editable JSON. Returns the complete agentConfig including identity, stages, connections (graph edges), channelFlows, enabledTools, channels, widgetConfig, voice, and all other settings. Also includes apiKey (read-only) for external integrations. The exported JSON is automatically saved to a local file for easy editing:
Use import_agent_json to re-import after editing. |
| import_agent_jsonA | Import/replace an agent's FULL configuration from a local JSON file or from a JSON object. This is a FULL REPLACE operation — the entire agentConfig is overwritten with the provided config. For partial updates (changing just one field), use update_agent instead. Null handling:
Preferred workflow:
You can provide the config either via:
If both are provided, filePath takes priority. Requires role: owner, admin, or developer. |
| list_templatesA | List all available agent templates for quick agent creation. Returns templates organized by industry vertical (beauty, clinic, restaurant, fitness, etc.). Each template includes pre-configured stages, connections (graph flow), tools, and channel overrides. Use create_from_template to create an agent from any template. |
| create_from_templateA | Create a new agent from a pre-built template. Templates contain pre-configured stages, connections (graph flow), tools, and channel overrides for specific industries. Business data (name, phone, email, services) is automatically hydrated into the template placeholders. Use list_templates first to see available templates. Requires role: owner, admin, or developer. |
| example_agentA | Returns a complete, documented example of an agent configuration JSON with ALL possible fields explained. Use this as a reference when creating or editing agents. Every field includes a description of what it does, its type, valid values, and conditions. This is a read-only reference tool — it doesn't create or modify anything. Useful for:
|
| delete_agentA | Delete an agent (soft delete). This action is IRREVERSIBLE — the agent will be deactivated and hidden. ⚠️ IMPORTANT: This tool requires explicit confirmation. You MUST set Requires role: owner, admin, or developer. |
| list_knowledge_documentsC | Lists all knowledge base documents for the current tenant. Returns document id, name, type, status, chunks count, and file size. |
| delete_knowledge_documentB | Deletes a knowledge base document and all its chunks from the current tenant. |
| associate_knowledge_to_agentA | Associates (links) knowledge base document IDs to an agent. Replaces the current list of knowledgeDocumentIds on the agent. Use list_knowledge_documents to get valid document IDs. |
| ingest_knowledge_urlA | Add a URL to the knowledge base. BotUyo will scrape the page content and index it for intelligent search. The document can then be associated to agents using associate_knowledge_to_agent. |
| configure_agent_toolA | Crea o actualiza la config de un tool para un agente. Si la tool no está en Dos modos:
|
| list_tool_configsC | Lista las configs de tools de un agente agrupadas: configuradas (single y multi-instance), habilitadas sin config, y resumen de multi-instance. |
| remove_tool_configB | Elimina la configuración de un tool. Si es multi-instance, también la remueve de enabledTools automáticamente. |
| get_tool_configC | Ver el config completo de un tool específico de un agente (formato JSON). |
| get_tools_catalogC | Lista el catálogo completo de tools disponibles con su metadata: configurable, allowMultiInstance, configSchema, requiredIntegrations. |
| list_avatarsB | Lista los avatares 3D gratuitos disponibles en el catálogo. Muestra nombre, formato y categoría. |
| select_avatarC | Selecciona un avatar 3D para un agente. Puede ser del catálogo (por ID) o una URL custom (.glb/.vrm). |
| upload_agent_mediaA | Upload a local image file to the CDN and assign it to an agent as avatar or logo. Reads the file from the local filesystem, uploads it via the backend media API (Cloudinary), and updates the agent's widgetConfig with the resulting URL. Supported formats: webp, png, jpg, jpeg, svg. Max size: 2MB. |
| list_agent_versionsA | List version history for an agent. Returns all saved snapshots with version number, change source, and timestamp. Useful to see what changed and when before deciding to restore. |
| restore_agent_versionA | Restore an agent to a previous version (rollback). The current config is automatically saved as a new snapshot before restoring, so you can always undo a restore. Use list_agent_versions first to see available versions. Requires role: owner, admin, or developer. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarcoAR1/botuyo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server