Apps examples
Bun standalone HTML examples for vanilla browser code and React with local shadcn UI.
Build the adapter first because both examples import its public package root.
Vanilla app
The vanilla example
uses Elysia, a model-visible weather tool, an app-only refresh tool, and minimal browser code for
the stable view handshake and same-server calls. It uses the v2 App API with an origin-bound
parent transport and bounded request timeouts.
bun run examples:setup
bun run build
bun run --cwd examples/apps-vanilla smokeReact and shadcn app
The React example
uses React 19, @modelcontextprotocol/ext-apps@2.0.3, its React APIs, local shadcn-style component
source, Tailwind host variables, responsive sizing, display mode, tool input/result handling, and
an app-only task mutation.
bun run examples:setup
bun run build
bun run --cwd examples/apps-react smokeBoth examples use the split @modelcontextprotocol/client and @modelcontextprotocol/ext-apps
v2 packages with Zod v4. Bun produces standalone HTML without Vite configuration, CDN links,
runtime asset fetches, external fonts, or unresolved local assets. Server tests verify tool and
resource contracts. The host fixture also connects the actual v2 App and AppBridge through
linked in-memory transports.
Client availability changes independently of this package. Consult the canonical MCP Extension Support Matrix.