Files
LangBot/en/usage/sandbox/runtime-relationships.mdx
T

47 lines
2.8 KiB
Plaintext

---
title: "Runtimes and Extensions"
description: "Understand LangBot runtimes and extensions: how the Box Runtime, sandbox backends and MCP servers fit together."
---
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>