onUI
Annotate Any UI for AI Agents
Lightweight browser extension (Chrome + Edge + Firefox) + local MCP bridge for annotation-first UI pair programming.
Powered by onLLM.dev.
[!NOTE]
onUIis now stable and production-ready.
Demo
Click the preview above to play the full demo video.
โจ Why onUI
- ๐งฉ No integration into app code
- ๐๏ธ Per-tab ON/OFF control (off by default)
- ๐ฏ In-page annotation dialog with intent + severity
- โ๏ธ Draw mode for region annotations (rectangle + ellipse)
- โ๏ธ Compact toolbar with pop-out settings (output level + clear on copy)
- ๐ Visual markers and hover targeting
- ๐งพ Export outputs in compact / standard / detailed / forensic formats
- ๐ก๏ธ Shadow DOM isolation for stable styling
- ๐ Local MCP server + native bridge (no cloud backend required)
Install (Current)
Option A: Browser Extension Stores (recommended)
Chrome Web Store:https://chromewebstore.google.com/detail/onui/hllgijkdhegkpooopdhbfdjialkhlkan?authuser=0&hl=en-GB
Microsoft Edge Add-ons:https://microsoftedge.microsoft.com/addons/detail/onui/fkcmlckehjhcicihbnmhkadfhjhfnond
Option B: One-command installer from latest GitHub release
Use this if you want the latest version (store updates may lag) or for Firefox:
macOS/Linux:
curl -fsSL https://github.com/onllm-dev/onUI/releases/latest/download/install.sh | bash
macOS/Linux (Firefox artifact):
curl -fsSL https://github.com/onllm-dev/onUI/releases/latest/download/install.sh | bash -s -- --firefox
Windows (PowerShell):
irm https://github.com/onllm-dev/onUI/releases/latest/download/install.ps1 | iex
Windows (PowerShell, Firefox artifact):
iwr https://github.com/onllm-dev/onUI/releases/latest/download/install.ps1 -OutFile install.ps1; .\install.ps1 -Firefox
The installer handles extension install and can set up MCP in the same run.When prompted with Set up local MCP bridge now? [y/N], enter y to enable MCP.
Then load it in Chrome or Edge:
- Open
chrome://extensionsoredge://extensions - Enable Developer mode
- Click Load unpacked
- Select
~/.onui/extensions/current(or%USERPROFILE%\.onui\extensions\currenton Windows)
Chromium browsers require this final manual step for unpacked extensions.
Firefox (manual from release artifact):
- Download
onui-firefox-add-ons-vX.Y.Z.zipfrom the GitHub release page. - Extract it to a local folder.
- Open
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on...
- Select the extracted
manifest.json.
๐ง Usage
- Open any supported website tab.
- Click the onUI extension icon.
- Enable
This Tab. - Use the on-page launcher to open the compact toolbar.
- Toggle Annotate mode for element targeting or Draw mode for region targeting.
- Hold
Shiftand click multiple elements to batch-select targets. - Release
Shiftto open a shared annotation dialog for selected targets. - Save once to create one annotation per selected element (or one region annotation in draw flow).
- Open toolbar Settings to choose output level and configure Clear on copy.
- Copy exported output from the toolbar.
๐ Local MCP Setup
Recommended path: use the same installer command above and answer y when prompted.
If you want to force MCP setup in non-interactive mode:
macOS/Linux (--mcp):
curl -fsSL https://github.com/onllm-dev/onUI/releases/latest/download/install.sh | bash -s -- --mcp
Windows (PowerShell, set env var before running installer):
$env:ONUI_INSTALL_MCP=1; irm https://github.com/onllm-dev/onUI/releases/latest/download/install.ps1 | iex
MCP setup now uses a prebuilt release bundle (no local build required), but still needs Node 20+.
Manual MCP setup from source is still supported:
pnpm build:mcp
pnpm setup:mcp
pnpm doctor:mcp
Manual JSON config for custom MCP routers/clients
If your MCP router uses an object-style mcpServers map, use this canonical entry:
{
"mcpServers": {
"onui-local": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/onUI/packages/mcp-server/dist/bin/onui-cli.js",
"mcp"
]
}
}
}
Use an absolute path for onui-cli.js (relative paths are often rejected or resolved incorrectly by routers).
If your router uses a list/array schema instead of an object map, adapt the same command/args shape like this:
{
"servers": [
{
"name": "onui-local",
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/onUI/packages/mcp-server/dist/bin/onui-cli.js",
"mcp"
]
}
]
}
The list example above is a schema adaptation pattern, not a claim about any specific router's exact key names.
Setup/verification notes:
Run
pnpm build:mcpfirst sopackages/mcp-server/dist/bin/onui-cli.jsexists.Keep the server entry name as
onui-local.Run
pnpm doctor:mcpafter wiring config to confirm local setup health.Auto-registers
onui-localfor Claude Code and Codex when those CLIs are installed.Browser support in this release: Chrome stable + Edge stable + Firefox stable (unpacked).
@onui/mcp-serveris workspace-local (private: true), so run setup/doctor from this repo.
See:
docs/mcp-setup.mddocs/doctor.mddocs/release.md
Maintainer Build + Release
app.sh is the local release entrypoint (no CI/CD dependency).
Local validation + artifact packaging
./app.sh --build
This runs:
- Prereq checks (Node 20+, pnpm, git, zip)
- Build order:
@onui/core->@onui/extension->@onui/mcp-server - MCP tests
- MCP doctor smoke check (warnings allowed, errors fail)
- Artifact packaging into
artifacts/vX.Y.Z/
Artifacts:
onui-extension-unpacked-vX.Y.Z.ziponui-chrome-web-store-vX.Y.Z.zip(manifestkeystripped for CWS)onui-edge-add-ons-vX.Y.Z.zip(manifestkeystripped for Edge Add-ons)onui-firefox-add-ons-vX.Y.Z.ziponui-mcp-bundle-vX.Y.Z.zipinstall.shinstall.ps1checksums.txt
Local release + GitHub publish
./app.sh --release
Release gates:
- Clean git tree
- Current branch is
main gh auth statussucceeds
Release actions:
- Auto patch bump from root
package.json - Sync version across extension + MCP runtime strings
- Run full
--build - Commit + tag
vX.Y.Z - Push commit/tag
- Create GitHub release with packaged assets
๐ ๏ธ Development
pnpm install
pnpm check
pnpm test:coverage
๐๏ธ Repository Structure
packages/
core/ Shared annotation/report types + formatters
extension/ Browser extension runtime (background/content/popup)
mcp-server/ Local MCP server + native bridge setup/doctor tooling
โญ Support
If onUI is useful to you, please star the repo:https://github.com/onllm-dev/onUI
It helps other users discover the product.
Star History
๐ License
GPL-3.0