External Agents
BuilderIO/agent-native
Connect external agents and MCP hosts (Claude, Claude Desktop, Claude Code, ChatGPT custom MCP apps, Codex, Cursor, Claude Cowork, VS Code GitHub Copilot, Goose, Postman, MCPJam) to an agent-native…
Enable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman).
$ npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install awslabs/cli-agent-orchestrator cao-mcp-apps --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/awslabs/cli-agent-orchestrator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cao-mcp-apps .claude/skills/cao-mcp-apps && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cao-mcp-apps" agent skill from https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-apps into .claude/skills/cao-mcp-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cao-mcp-apps", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-appsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install awslabs/cli-agent-orchestrator cao-mcp-apps --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awslabs/cli-agent-orchestrator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cao-mcp-apps .agents/skills/cao-mcp-apps && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cao-mcp-apps" agent skill from https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-apps into .agents/skills/cao-mcp-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cao-mcp-apps", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install awslabs/cli-agent-orchestrator cao-mcp-apps --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awslabs/cli-agent-orchestrator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cao-mcp-apps .cursor/skills/cao-mcp-apps && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cao-mcp-apps" agent skill from https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-apps into .cursor/skills/cao-mcp-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cao-mcp-apps", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/awslabs/cli-agent-orchestrator.git --path skills/cao-mcp-apps--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install awslabs/cli-agent-orchestrator cao-mcp-apps --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awslabs/cli-agent-orchestrator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cao-mcp-apps .gemini/skills/cao-mcp-apps && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cao-mcp-apps" agent skill from https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-apps into .gemini/skills/cao-mcp-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cao-mcp-apps", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install awslabs/cli-agent-orchestrator cao-mcp-appsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/awslabs/cli-agent-orchestrator.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cao-mcp-apps .github/skills/cao-mcp-apps && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cao-mcp-apps" agent skill from https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-apps into .github/skills/cao-mcp-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cao-mcp-apps", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install awslabs/cli-agent-orchestrator cao-mcp-apps --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awslabs/cli-agent-orchestrator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cao-mcp-apps .opencode/skills/cao-mcp-apps && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cao-mcp-apps" agent skill from https://github.com/awslabs/cli-agent-orchestrator/tree/main/skills/cao-mcp-apps into .opencode/skills/cao-mcp-apps/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cao-mcp-apps", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cao-mcp-appsEnable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman).
Cao MCP Apps is an agent skill from awslabs/cli-agent-orchestrator, published by the product's own GitHub organization. Enable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman). Use when the user says "enable MCP Apps in CAO", "the ui://cao views aren't rendering", "rebuild MCP Apps bundles", "add a new ui://cao/ view", or "configure the MCP Apps OAuth scope layer". Operates on the CAOMCPAPPSENABLED surface and caomcpapps/ build system. Not for the localhost:9889 browser dashboard, not for plugins, providers, or…
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts, reference files and assets (for example `assets/mcp-apps-example.md`, `evals/evals.json` and `references/extending-views.md`). Compatibility notes: Requires CAOMCPAPPSENABLED=true, cao-server running, and an MCP App-capable host (SEP-1865).
It sits in Agent Workflows, covering MCP servers, Authentication and API testing. It works with Model Context Protocol, OpenAI, Postman and Visual Studio Code. The repository describes itself as: Multi-agent orchestration for AI coding CLIs — Claude Code, Kiro, Codex, and more, coordinated in isolated tmux sessions. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 01c179a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
npmuvcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
modelcontextprotocol.iogithub.comnpmjs.comapps.extensions.modelcontextprotocol.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires CAO_MCP_APPS_ENABLED=true, cao-server running, and an MCP App-capable host (SEP-1865).
From compatibility in the SKILL.md frontmatter.
Cao MCP Apps loads about 1.9k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 139 tokens; SKILL.md has 658 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from awslabs/cli-agent-orchestrator at commit 01c179a, republished under its Apache-2.0 licence (© awslabs). 658 words, ~1,876 tokens.
.claude/skills/cao-mcp-apps/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Operator + developer playbook for CAO's host-rendered fleet UI. Reference docs:
docs/mcp-apps.md; example: examples/mcp-apps/.
Authoritative spec & sources of truth:
MCP Apps Overview ·
Build an MCP App ·
capability negotiation ·
client matrix ·
stable spec 2026-01-26/apps.mdx
(SEP-1865, Status: Stable) ·
SDK @modelcontextprotocol/ext-apps v1.7.4
(API ref ·
repo) ·
provenance PR #1865.
The surface is default-off. Enable and run:
export CAO_MCP_APPS_ENABLED=true
uv run cao-server # :9889 (REST + SSE /events)
uv run cao-mcp-server # registers tools/resources via the mcp_apps pluginIt is packaged as the built-in mcp_apps plugin (cao.plugins entry-point). The
plugin's on_mcp_server hook registers the ui://cao/* resources, the five app
tools, the topology widget, and advertises the io.modelcontextprotocol/ui
capability — best-effort and default-off, so nothing changes when the flag is unset.
ui://cao/dashboard — fleet overview + the mutation entry point.ui://cao/agent — one terminal's status, output tail, inbox, sub-agents.ui://cao/event-stream — live governance ticker (app-only).cao://widget/topology + /widgets/topology/ — build-free live event view.All mutations flow through submit_command(kind, payload) — kinds:
send_message, assign, create_session (standard); interrupt, pause,
resume (lifecycle); shutdown_session (destructive).
For full payload schemas and scope requirements per kind, see references/submit-command-kinds.md.
Beyond tools/call, the views exercise the spec's bidirectional channel:
ui/open-link) — the dashboard shows
"Open full Web UI ↗" → http://127.0.0.1:9889 only when the host
advertises hostCapabilities.openLinks (gate on app.canOpenLinks(); the
sandbox forbids window.open).ui/request-display-mode) — views declare
availableDisplayModes: ["inline","fullscreen"] at ui/initialize.ui/notifications/tool-input / -partial) — render
before the result lands.ui/update-model-context) — body-free gesture
summaries keep the agent aware without leaking message contents.preferredFrameSize and requiredScopes are CAO additions, not spec
_meta.ui fields (the spec sizes via containerDimensions +
ui/notifications/size-changed); CAO requests no elevated permissions.
See assets/mcp-apps-example.md for a worked MCP Apps integration example.
CAO_MCP_APPS_ENABLED=true and that
initialize advertises io.modelcontextprotocol/ui (the host must speak
SEP-1865). Non-SEP-1865 hosts still get text-only tool results.cd cao_mcp_apps && npm ci && npm run build:all. The topology widget needs no
build and is the quickest smoke test (curl /widgets/topology/topology.html).cao:write/cao:admin (cao:admin for delete_session). Unset
AUTH0_DOMAIN/CAO_AUTH_JWKS_URI to disable enforcement.GET /events (SSE) directly; the bus is
drop-on-slow, so a stalled consumer silently loses events — re-hydrate via
cao_fetch_history.agui-author skill
— it teaches how to call emit_ui with the six allow-listed components. Your
emit_ui intents feed the L2 constructs that these views render.mcp-apps-builder skill first.
It equips the official ext-apps Agent Skills (create-mcp-app,
add-app-to-server, migrate-oai-app, convert-web-app) and the build guide.
Use add-app-to-server when adding a new ui://cao/<name> view.submit_command's classifier + router in
mcp_server/app_tools.py (map to a real Backplane HTTP endpoint; never bypass
the HTTP-only boundary) and to the scope pre-check.ui://cao/<name> resource in ext_apps/apps.py + an entry
point under cao_mcp_apps/, build it, and tag the rendering tool with
ui_meta(...).
For the full step-by-step view creation procedure, see references/extending-views.md.McpApp bridge
(cao_mcp_apps/src/shared/mcpApp.ts) that issues the spec ui/* request
(e.g. openLink → ui/open-link, requestDisplayMode →
ui/request-display-mode); gate UI on the matching hostCapabilities flag and
cover it with a mockHost test.mcp_server/* must reach state only over HTTP; the AST
guard test (test/test_http_only_boundary.py) enforces it.eval/new Function (host CSP forbids it); the
CI scan fails the build otherwise.After building or modifying views, regenerate the demo media:
cd cao_mcp_apps && npm run build:all && npm run demoThis runs scripts/record-demo.mjs which:
docs/media/mcp-apps-demo.webm)docs/media/mcp-apps-{dashboard,agent,unified,event-stream}.png)docs/media/mcp-apps-demo.gif) when ffmpeg is availableThe GIF is referenced in README.md and docs/mcp-apps.md — always regenerate after
view changes so docs stay current.
Env overrides: CHROMIUM_BIN (path to Chrome), FFMPEG_BIN (for GIF), DEMO_PORT.
For a worked example of the full MCP Apps surface in action, see assets/mcp-apps-example.md.
© awslabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references, assets) in skills/cao-mcp-apps of awslabs/cli-agent-orchestrator.
Open the folder on GitHubat commit 01c179a
Cao MCP Apps next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cao MCP Apps this skillawslabs/cli-agent-orchestrator | 1.4k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| External AgentsBuilderIO/agent-native | 7.1k | — | ~7.2k | Automated safety check: Notes | None | |
| Xquik MCPXquik-dev/x-twitter-scraper | 211 | 1 repos | ~997 | Automated safety check: Pass | MIT | |
| Setup MCP Servernesquikm/mcp-rubber-duck | 178 | — | ~1.3k | Automated safety check: Notes | MIT | |
| UI Widget Developermicrosoft/work-iq | 1k | — | ~6.1k | Automated safety check: Notes | Custom licence | |
| MCP Server Builder with mcp-usemcp-use/mcp-use | 11k | — | ~923 | Automated safety check: Pass | Apache-2.0 |
BuilderIO/agent-native
Connect external agents and MCP hosts (Claude, Claude Desktop, Claude Code, ChatGPT custom MCP apps, Codex, Cursor, Claude Cowork, VS Code GitHub Copilot, Goose, Postman, MCPJam) to an agent-native…
Xquik-dev/x-twitter-scraper
Connect, verify, and troubleshoot Xquik's remote MCP server.
nesquikm/mcp-rubber-duck
Add mcp-rubber-duck MCP server to an AI coding tool (Claude Desktop, Cursor, VS Code, Windsurf, etc.)
microsoft/work-iq
Build MCP servers for Copilot Chat using the OpenAI Apps SDK or MCP Apps SDK widget rendering support (any language).
mcp-use/mcp-use
Builds, modifies, debugs, migrates and verifies TypeScript MCP servers and MCP Apps with the mcp-use framework, treating the installed package's types as the source of truth.
jumodada/Drissionpage-MCP-Server
A skill your agent uses when a drissionpage-mcp task targets an iframe such as a payment widget, challenge, SSO flow, or embedded checkout.
awslabs/cli-agent-orchestrator
Author live dashboard UI from an agent via the emitui MCP tool.
awslabs/cli-agent-orchestrator
Load the official MCP Apps builder skills (create-mcp-app, migrate-oai-app, add-app-to-server, convert-web-app) from github.com/modelcontextprotocol/ext-apps.
awslabs/cli-agent-orchestrator
Create a new CAO (CLI Agent Orchestrator) plugin. An agent skill from awslabs/cli-agent-orchestrator.
awslabs/cli-agent-orchestrator
Create a new CLI agent provider for CAO (CLI Agent Orchestrator).
awslabs/cli-agent-orchestrator
Find and select the best installed CAO agent profile for a task before delegating with assign or handoff.
awslabs/cli-agent-orchestrator
Contribute changes to the CAO (CLI Agent Orchestrator) codebase — the local dev loop, the CI gate map, and the pre-PR checklist.
Categories
Enable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman). Cao MCP Apps is an agent skill from awslabs/cli-agent-orchestrator, published by the product's own GitHub organization. Enable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman).
Cao MCP Apps fits situations like: the user says enable MCP Apps in CAO; the ui://cao views arent rendering; rebuild MCP Apps bundles; add a new ui://cao/ view.
Run `npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a claude-code`. Or copy the skill folder (skills/cao-mcp-apps in awslabs/cli-agent-orchestrator) into .claude/skills/cao-mcp-apps in your project. Claude Code loads it when a task matches its description.
Run `npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a codex`. Or copy the skill folder (skills/cao-mcp-apps in awslabs/cli-agent-orchestrator) into .agents/skills/cao-mcp-apps in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add awslabs/cli-agent-orchestrator --skill cao-mcp-apps -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cao-mcp-apps, .gemini/skills/cao-mcp-apps, .github/skills/cao-mcp-apps and .opencode/skills/cao-mcp-apps in your project.
Going by SKILL.md and its folder, Cao MCP Apps needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, uv and curl). Our summary lists: A Bash shell. Compatibility (from SKILL.md): Requires CAO_MCP_APPS_ENABLED=true, cao-server running, and an MCP App-capable host (SEP-1865)..
SKILL.md names 4 domains. As links in the text: modelcontextprotocol.io, github.com, npmjs.com and apps.extensions.modelcontextprotocol.io. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cao MCP Apps is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cao MCP Apps: External Agents (BuilderIO/agent-native, 7.1k stars), Xquik MCP (Xquik-dev/x-twitter-scraper, 211 stars), Setup MCP Server (nesquikm/mcp-rubber-duck, 178 stars) and UI Widget Developer (microsoft/work-iq, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
awslabs (a GitHub organization, an official publisher) maintains it in awslabs/cli-agent-orchestrator, which has 1,406 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 11, 2026.
Source: awslabs/cli-agent-orchestrator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.