@botuyo/mcp
BotUyo MCP Server — create and manage AI agents via Model Context Protocol
Versions
0.7.0latest0.6.00.5.10.4.10.4.0+ show 36 moreshow less
0.3.230.3.220.3.210.3.160.3.130.3.120.3.110.3.100.3.90.3.80.3.70.3.60.3.50.3.40.3.30.3.10.3.00.2.170.2.160.2.150.2.140.2.130.2.120.2.110.2.100.2.90.2.80.2.70.2.60.2.50.2.40.2.30.2.20.2.10.2.00.1.0Tools 42
list_agents Lists all agents for the authenticated tenant. Returns a name-first text summary (AgentFamily variants are tagged with their variantKey) plus structured data (full id, shortId, name, description, status, enabled tools count, familyId, variantKey).
update_enabled_tools 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.
get_tool_config Ver el config completo de un tool específico de un agente (formato JSON).
remove_tool_config Elimina la configuración de un tool. Si es multi-instance, también la remueve de enabledTools automáticamente.
list_avatars Lista los avatares 3D gratuitos disponibles en el catálogo. Muestra nombre, formato y categoría.
select_avatar Selecciona un avatar 3D para un agente. Puede ser del catálogo (por ID) o una URL custom (.glb/.vrm).
audit_agent_family Read-only audit of agent families for config-quality issues (changes NOTHING). For each variant\'s
example_agent 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: - New users learning the agent config structure - Checking available fields before using import_agent_json - Understanding how stages, connections, channelFlows, and tools work together - Learning the widget theming system (cssVariables, darkCssVariables, animations, effects) - Understanding per-tool configuration (toolConfigs) with single and multi-instance patterns
update_agent Update an agent's configuration with partial merge. Only the fields you provide are changed — everything else is preserved. **Field behavior:** - **Omitted field** → not touched (keeps existing value) - **Field with value** → sets/overwrites that field - **Field set to null** → deletes that field from the agent config **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.
configure_agent_tool Crea o actualiza la config de un tool para un agente. Si la tool no está en \
list_knowledge_documents Lists all knowledge base documents for the current tenant. Returns document id, name, type, status, chunks count, and file size.
create_from_template 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.
create_agent 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.
export_agent_json Export an agent's configuration as clean, editable JSON. Unified model: if the agent belongs to a family (the normal case — every agent created via create_agent is a family-of-one), this exports the WHOLE logical agent as a portable FOLDER ({slug}/family.json + variants/<key>.json; a simple agent has exactly one variant file) — identical to export_agent_family. Re-import with import_agent_json or import_agent_family. For a legacy standalone agent (e.g. module-managed) it falls back to a single flat JSON file: 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: - Default: saves to ./agents/{agent-name}.json in the current working directory - Custom: use savePath to specify a different directory Use import_agent_json to re-import after editing.
publish_agent Publish or unpublish an agent. Published agents are live and handle incoming conversations. Unpublished agents are in "draft" status.\n\nRequires role: owner, admin, or developer.
get_agent_status 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.
restore_agent_version 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.\n\nRequires role: owner, admin, or developer.
associate_knowledge_to_agent 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.
upload_agent_media 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.
upsert_stage 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_agent_families List all agent families (one logical agent = shared base config + variants) for the current tenant.
get_agent_family Get a single agent family (shared base + all variants) by id.
create_agent_family Create a new agent family with a shared base config and an initial set of variants.
update_family_base Replace the shared base config of a family. Re-materializes EVERY variant (the base is
add_family_variant Add a new variant to a family (materialized into a real draft agent). Subject to the per-plan
update_family_variant Update a single variant (label/overrides/handoffTargets/order) by its key. The variant key itself
remove_family_variant Remove a variant from a family (soft-deletes its materialized agent). Cannot remove the entry
publish_agent_family Publish a family: marks the family and ALL of its member agents as published/active.
delete_agent_family Delete a family and soft-delete ALL of its member agents. This action is IRREVERSIBLE.\n\n
export_agent_family Export a family to a readable FOLDER: {savePath}/{slug}/family.json (name, slug, entryVariantKey,
import_agent_family Import/replace a family\'s base + variant set from a local FOLDER, a single JSON file, or an inline object (FULL REPLACE).\n\n
list_available_tools 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.
delete_agent Delete an agent (soft delete). This action is IRREVERSIBLE — the agent will be deactivated and hidden.\n\n
ingest_knowledge_url 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.
switch_tenant Switch the active tenant for this MCP session.
get_tools_catalog Lista el catálogo completo de tools disponibles con su metadata: configurable, allowMultiInstance, configSchema, requiredIntegrations.
get_agent Get the full configuration of a specific agent, including identity (tone, language, objective, customInstructions), stages, and enabled tools.
delete_knowledge_document Deletes a knowledge base document and all its chunks from the current tenant.
list_agent_versions 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.
list_templates 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.
import_agent_json Import/replace an agent's FULL configuration from a local JSON file or from a JSON object. Unified model: if filePath points to a FAMILY export (a folder with family.json + variants/, a family.json, or a payload carrying \
list_tool_configs Lista las configs de tools de un agente agrupadas: configuradas (single y multi-instance), habilitadas sin config, y resumen de multi-instance.
Permissions 3
network medium shell high env_vars low