Plugins and marketplace

How Ambient Desktop extends safely. Four install classes with visible permissions, the Plugin Manager, a Capability Builder for custom tools, and a curated marketplace direction.

Every way Ambient Desktop gains a new tool falls into one of four install classes, each with a visible permission profile and an uninstall path; a Capability Builder covers jobs the catalog does not. The marketplace direction is curated and legible, not a raw feed of arbitrary executable code.

Ambient Desktop Plugin Manager.
Default capabilities are selected, described, pinned, sandboxed, and validated before they become easy install paths.

How capabilities stay accountable#

Plugins are how an agent grows, and how supply-chain risk usually enters one. Ambient Desktop's answer is legibility: every capability has a known class, the permissions it runs under are visible, and you can inspect, validate, repair, and remove it. The Plugin Manager is where that state lives.

The marketplace is curated: a default capability is selected, described, pinned, sandboxed, and validated before it becomes an easy install path. Curated defaults covers that catalog and the pipeline behind it.

The install classes#

What you can add falls into four classes, ordered by how much trust each one asks for. The class tells you how it is contained.

INSTALL CLASSES · BY TRUST ASKED1Curated defaultsReviewed MCP +ToolHive runtimeCONTAINEDpinned · sandboxed2Pi packagesSandboxed toolsfor one jobCONTAINEDno host access3Custom MCPYour own serverby descriptorCONTAINEDtrust prompt + policy4PrivilegedLifecycle, native,or host mutationCONTAINEDexplicit reviewlowest frictionhighest review

Four install-class columns ordered left to right by how much trust each asks for, rising like a ladder. Curated defaults: reviewed MCP capabilities with a ToolHive runtime, contained by being pinned and sandboxed. Pi packages: sandboxed tools for one job, with no privileged host access. Custom MCP servers: your own server by descriptor, contained by a one-time trust prompt and an MCP permission policy. Privileged packages: anything wanting lifecycle hooks, native dependencies, or host mutation, contained by explicit privileged review. An axis beneath runs from lowest friction to highest review.

Every install class carries a visible permission profile. They line up by how much trust each asks for (from curated defaults at lowest friction to privileged packages at highest review), and each shows how it is contained.
Class What it is How it is contained
Curated defaults (lowest friction) Reviewed MCP capabilities with ToolHive runtime boundaries, the safe common path, covered in curated defaults Pre-vetted, pinned, and sandboxed; still installed behind user approval, with diagnostics and an uninstall path
Pi packages (narrow tools) Sandboxed, tool-shaped extensions for a specific job Kept separate from privileged host access
Custom MCP servers (bring your own) Your own MCP server by descriptor: command, args, environment First use triggers a one-time trust prompt, then it runs under an MCP permission policy
Privileged packages (highest review) Anything wanting lifecycle hooks, native dependencies, or host mutation Explicit privileged review before it runs

Custom MCP servers and privileged packages run under an MCP permission policy after their trust prompt; you can see and change that policy, and uninstall the plugin, from the Plugin Manager. How those policies are enforced at runtime is the security model.

The Plugin Manager#

The Plugin Manager is the single surface for installed capability state: the curated defaults, what is installed, and where each capability's trust boundary sits. Per capability you can:

  • Read the permission policy it runs under, and change it.
  • Preview and validate it before you depend on it.
  • Repair a broken install, update it, or re-register it after a change.
  • Remove it.

Build your own capability#

When the catalog does not cover a narrow, repeatable job, the Capability Builder turns it into a first-class capability instead of a brittle prompt. You describe:

  • the provider it wraps,
  • its locality: local, network, or either,
  • the outputs you expect,
  • any secrets it needs.

Ambient turns that into an installer-friendly descriptor.

Generated capabilities expose their command contract, dependency approvals, and secret requests up front; they can be previewed, validated, repaired, updated, re-registered, and removed from the Plugin Manager; and they run under the same MCP permission policy as any other capability. Building it yourself earns it no special trust.

Worked example: a Hacker News digest#

Suppose you want a repeatable way to see the front page of Hacker News without re-typing the request each time. Turn it into a capability once, then call it whenever you like.

  1. Describe it in Plugin Setup#

    Open Plugin Setup, choose Create capability, and describe the job in plain language:

    Create a skill that captures the top stories on Hacker News
    and prints them for the user.
  2. Set the contract#

    Mark it as a network capability (it reads a public site), declare the output (a ranked list of titles, points, and links), and confirm it needs no secrets. Ambient turns that into an installer-friendly descriptor.

  3. Review the generated descriptor#

    Before anything runs, the descriptor shows its command contract, any dependency approvals, and that it requests no credentials. Reading a public page still passes through the same permission and isolation boundaries as any other capability. See browser and scraping safety.

  4. Validate once#

    Run it a single time to confirm the output shape. You should get the current top stories with their titles, scores, and links: proof it works before you depend on it.

  5. Invoke it anytime#

    From then on, call it like any reviewed tool ("Run my Hacker News digest") and it prints the current front page. Update, re-register, or remove it from the Plugin Manager whenever you want.

Where the marketplace is headed#

Today the experience is a curated catalog plus your own local additions. The roadmap is a hosted storefront for reviewed Web2 and Web3 capabilities built on Ambient, with signing, checksums, and provenance policy, so that breadth arrives without giving up the trust posture.

FAQ#

What happens the first time a plugin runs? Custom and imported plugins trigger a one-time trust prompt and then run under an MCP permission policy. You can see and change that policy, and uninstall the plugin, from the Plugin Manager.

Can I add a plugin that is not in the catalog? Yes. Import a custom MCP server by descriptor, or build one with the Capability Builder. It runs through trust and permission review rather than arriving pre-vetted.

Keep going#