Extensions
An extension is an installable package that adds capabilities to the platform. It builds on the same action model the core uses — an extension can contribute:
| Block | Adds | Surfaced at |
|---|---|---|
| skills | SKILL.md playbooks |
the skill library |
| mcp | executable agent tools (remote MCP server) | ext__<name>__<tool> |
| ui | a React panel + nav | /x/<name> |
| actions | named callable actions | /api/invoke/ext.<name>.<action> |
| api | an HTTP namespace | /api/ext/<name>/* |
| data | a workspace-scoped KV store | /api/ext/<name>/data/* |
Everything runs under the calling user's context, narrowed to the extension's granted permissions — an extension can never exceed the user that invoked it.
In this section
- Author Guide — the manifest, skills, and the MCP tool tier.
- Contribution Points — the UI/actions/HTTP/data deep reference and security model.
- Authoring Workflows — building workflows and the tools they run.
- Swapping MCP Servers — in-repo vs vendor-hosted.
Manage extensions
Install and manage from the Extensions page in the app. Programmatically,
use the extensions_* actions — see the Extensions reference.