> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langbot.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Runtimes and Extensions

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

| Capability | Provided by                                      | How the Agent sees it                                                       | When to use                                                                        |
| ---------- | ------------------------------------------------ | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| Sandbox    | Box Runtime                                      | The six tools `exec/read/write/edit/glob/grep` are attached directly        | Agent needs to run code or read/write files                                        |
| Skills     | Box Runtime skill store                          | After the Agent calls `activate`, instructions are injected via Tool Result | Hand the Agent a workflow, template, or script, triggered on demand                |
| MCP Server | LangBot MCP Loader (stdio mode is hosted by Box) | Tools land directly in the Agent's tool list                                | Connect an existing MCP service                                                    |
| Plugin     | Plugin Runtime                                   | Capabilities are exposed through the plugin system                          | Long-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

| Symptom                                     | Check first                                                                           |
| ------------------------------------------- | ------------------------------------------------------------------------------------- |
| Agent has no `exec/read/write` tools        | `box.enabled`, backend availability, and whether the pipeline uses the built-in Agent |
| Skill list is empty                         | Box Runtime status, `box.local.skills_root`, pipeline binding                         |
| stdio MCP fails to start                    | Box Runtime status, MCP command and environment variables, startup timeout            |
| Sandbox fails to start in Docker deployment | Whether `langbot_box` mounts `docker.sock`, and whether Box root paths match          |
| File read/write fails                       | `box.local.host_root`, `box.local.allowed_mount_roots`                                |
| Backend selection has no effect             | Confirm `BOX__BACKEND` is set on the `langbot` service, not on `langbot_box`          |

<Note>
  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.
</Note>
