* feat(plugins): add remote MCP runtime Co-authored-by: multica-agent <[email protected]> * chore(plugins): add private Exa example Co-authored-by: multica-agent <[email protected]> * docs(plugins): remove private plugin guide Co-authored-by: multica-agent <[email protected]> * fix(plugins): stabilize remote MCP tool digests Co-authored-by: multica-agent <[email protected]> * fix(plugins): preserve remote MCP notification status Co-authored-by: multica-agent <[email protected]> * fix(plugins): make Exa example runnable end to end Co-authored-by: multica-agent <[email protected]> * fix(codex): record MCP tool calls in agent log Co-authored-by: multica-agent <[email protected]> * chore(plugins): add community skills example Co-authored-by: multica-agent <[email protected]> * feat(plugins): support multi-file skill bundles Co-authored-by: multica-agent <[email protected]> * feat(plugins): add Mobbin MCP example Co-authored-by: multica-agent <[email protected]> * chore(plugins): bundle full Matt Pocock skill set Co-authored-by: multica-agent <[email protected]> * feat(plugins): add remote MCP OAuth connections Co-authored-by: multica-agent <[email protected]> * fix(plugins): gate enable on remote MCP readiness Co-authored-by: multica-agent <[email protected]> * fix(plugin): authenticate remote mcp credential broker Co-authored-by: multica-agent <[email protected]> * fix(plugins): harden remote mcp oauth flow Co-authored-by: multica-agent <[email protected]> * refactor(plugins): use a single feature flag Co-authored-by: multica-agent <[email protected]> * fix(plugins): clean up remote MCP OAuth state Co-authored-by: multica-agent <[email protected]> * chore(plugins): remove Matt Pocock example Co-authored-by: multica-agent <[email protected]> --------- Co-authored-by: Lambda <[email protected]> Co-authored-by: multica-agent <[email protected]>
Bundled Plugin release catalog
This package is the production acquisition boundary for official Plugins that
ship with the Multica server. It discovers release directories generically,
rebuilds their ZIP archives deterministically, validates the manifest and
artifact, and verifies the detached Ed25519 signature against
trust_roots.json before exposing a release to the catalog.
Each release directory contains:
release.json: source and publisher metadata plus the signing-key ID.release.sig: a detached base64 Ed25519 signature.multica.plugin.jsonand the static contribution payloads that form the ZIP.
The signing private key is intentionally not stored in this repository or the
server binary. Release automation must build the same deterministic ZIP, sign
the Plugin release envelope offline, and commit only the detached signature.
Run the reproducibility and trust-boundary checks from server/:
go test ./internal/pluginbundled -count=1
A malformed, tampered, or unknown-key release is isolated as a safe catalog
diagnostic. It does not prevent other releases or the server from starting.
The public API admits only this bundled source in V1; no private_dev upload or
server-file-path acquisition route is exposed.