Skip to content

Extensions, Skills, and MCP

An Extension is an installed package that can add capabilities to OpenCode Superapp and OpenCode. A package can be declarative-only, run background code, add a right-panel app, or combine those approaches.

Extensions can contribute:

  • Commands and message-composer actions.
  • Apps that open in the right panel.
  • Skills that teach OpenCode agents a workflow.
  • MCP servers that give OpenCode agents tools and context.
  • Downloadable resources such as a local model.

There is no separate Plugin package or nested Plugin object. When an Extension needs executable behavior, its optional JavaScript or TypeScript main file is the code that runs.

Extensions shows installed packages, their publisher, version, trust, compatibility, included capabilities, and management controls.

Skills and MCP show OpenCode’s live runtime inventories. A package-owned Skill or MCP server appears in its Extension details and in its runtime page. A Skill or MCP server added directly to OpenCode appears only in Skills or MCP because it has no Extension package, publisher, or version.

Open Extensions, choose Install, then choose:

  • Install from folder for an unpacked Extension directory.
  • Install package for an .ocx archive.

Selecting a source both imports and installs it. Superapp validates and copies a versioned snapshot into its app-data package store. Editing the original folder does not modify the installed copy. To update, increase version and install it again.

Local executable packages are labeled Unverified local extension. Their code runs in a separate Extension Host so a crash does not take down Superapp or OpenCode, but this is not an operating-system sandbox. Only install code you trust.

.ocx is OpenCode Superapp’s ZIP suffix for an Extension folder. It is not an upstream OpenCode, VS Code, or operating-system format.

example.ocx
├── package.json
├── README.md
├── icon.svg
├── skills/
├── mcp/
└── src/

The archive may contain those files at its root or inside exactly one top-level directory.

Enable or disable applies to every contribution in the package. Disabling removes its right-panel apps, managed Skills, MCP configuration, and executable activation. Open tabs belonging to it close.

Extensions included with Superapp can be disabled when their license permits, but cannot be uninstalled. Local Extensions can be uninstalled from their detail page.

For one loose Skill, use Skills > Import Skill. For one direct MCP connection, use MCP > Add server. Use an Extension when you want a versioned, installable package or several related capabilities.

See Extension authoring to create a folder.