Skip to main content
LangBot ships four extension mechanisms in parallel — plugins, MCP, Skills, and the sandbox — and they are easy to confuse. This page sorts out what each one does and when to use it.

One-line Summary

  • Sandbox: an execution environment that lets the Agent run commands and read/write files
  • Skills: on-demand instruction packages that hand the Agent a specialized workflow when needed
  • MCP Server: connects to external tool services
  • Plugin: a long-running extension process that can ship its own config page, event listeners, and knowledge components

Comparison

CapabilityProvided byHow the Agent sees itWhen to use
SandboxBox RuntimeThe six tools exec/read/write/edit/glob/grep are attached directlyAgent needs to run code or read/write files
SkillsBox Runtime skill storeAfter the Agent calls activate, instructions are injected via Tool ResultHand the Agent a workflow, template, or script, triggered on demand
MCP ServerLangBot MCP Loader (stdio mode is hosted by Box)Tools land directly in the Agent’s tool listConnect an existing MCP service
PluginPlugin RuntimeCapabilities are exposed through the plugin systemLong-lived capability with a config page, event listeners, or knowledge components

Pipeline Binding

Skills, MCP Servers, and plugins are all pipeline extensions. After installing or creating them in the WebUI, the pipeline extension config still decides where they’re enabled:
  • Enable all extensions, or
  • Bind only specific extensions
Skill binding decides which skills the Agent can see (it controls the <available_skills> list). The actual skill content is only injected after the Agent calls activate.

Troubleshooting Map

SymptomCheck first
Agent has no exec/read/write toolsbox.enabled, backend availability, and whether the pipeline uses the built-in Agent
Skill list is emptyBox Runtime status, box.local.skills_root, pipeline binding
stdio MCP fails to startBox Runtime status, MCP command and environment variables, startup timeout
Sandbox fails to start in Docker deploymentWhether langbot_box mounts docker.sock, and whether Box root paths match
File read/write failsbox.local.host_root, box.local.allowed_mount_roots
Backend selection has no effectConfirm BOX__BACKEND is set on the langbot service, not on langbot_box
Sandbox built-in tools and Skills currently target the built-in Agent. External runners (Dify, n8n, Langflow, Coze, etc.) should use their own tools and execution model.