This release supports:
- Chrome + Edge + Firefox extension runtime
- Local Native Messaging host (
com.onui.native) - Local MCP server (
onui-local) for Claude Code, Codex, VS Code, and other MCP clients
Browser support in this release: Chrome stable + Edge stable + Firefox stable (unpacked).
This release formalizes two complementary capture flows in the extension UI:
- Annotate mode: target individual elements (or Shift multi-select groups) for precise element-level issues.
- Draw mode: drag rectangle/ellipse regions for layout, spacing, and grouping issues that span multiple elements.
- Compact toolbar + pop-out settings: primary controls remain in a compact rail, while output level and clear-on-copy are configured in a readable settings pop-out.
MCP consumers receive these captures through the same local tools (onui_get_annotations, onui_search_annotations, onui_get_report) with region metadata preserved in report output.
macOS/Linux:
curl -fsSL https://github.com/onllm-dev/onUI/releases/latest/download/install.sh | bash -s -- --mcpWindows (PowerShell):
irm https://github.com/onllm-dev/onUI/releases/latest/download/install.ps1 | iexWhen prompted, enter y to enable MCP setup.
Installer-based MCP setup uses a prebuilt release bundle and requires Node 20+.
Manual source setup is also supported:
pnpm --filter @onui/mcp-server run setupWhat setup does:
- Installs a local Native Messaging wrapper and manifest.
- Registers browser native hosts for
com.onui.nativein Chrome, Edge, and Firefox. - Registers MCP server
onui-localin:- Claude Code (
claude mcp add ...) - Codex (
codex mcp add ...)
- Claude Code (
Optional extension ID overrides:
ONUI_CHROME_EXTENSION_IDS: comma-separated Chrome extension IDs to append.ONUI_EDGE_EXTENSION_IDS: comma-separated Edge extension IDs to append.ONUI_FIREFOX_EXTENSION_IDS: comma-separated Firefox add-on IDs to append.ONUI_FIREFOX_EXTENSION_ID: single Firefox add-on ID override.ONUI_EXTRA_EXTENSION_IDS: comma-separated IDs appended for all browsers.
After running the install script with --mcp, configure your AI agent to use onUI.
The MCP CLI is installed at:
- macOS/Linux:
~/.onui/mcp/v2.2.3/dist/bin/onui-cli.js - Windows:
%USERPROFILE%\.onui\mcp\v2.2.3\dist\bin\onui-cli.js
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"onui-local": {
"command": "node",
"args": ["~/.onui/mcp/v2.2.3/dist/bin/onui-cli.js", "mcp"]
}
}
}Restart Claude Desktop after saving.
Requires VS Code 1.99+.
Config file location:
- macOS:
~/Library/Application Support/Code/User/mcp.json - Linux:
~/.config/Code/User/mcp.json - Windows:
%APPDATA%\Code\User\mcp.json
{
"servers": {
"onui-local": {
"command": "node",
"args": ["~/.onui/mcp/v2.2.3/dist/bin/onui-cli.js", "mcp"]
}
}
}Reload VS Code → open Copilot Chat in Agent mode → click the tools icon to verify.
Config file location:
- Global:
~/.cursor/mcp.json - Project:
.cursor/mcp.json(in project root)
{
"mcpServers": {
"onui-local": {
"command": "node",
"args": ["~/.onui/mcp/v2.2.3/dist/bin/onui-cli.js", "mcp"]
}
}
}Restart Cursor after saving. Open Settings → Features → MCP to verify.
Config file location:
- macOS/Linux:
~/.codeium/windsurf/mcp_config.json - Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
"mcpServers": {
"onui-local": {
"command": "node",
"args": ["~/.onui/mcp/v2.2.3/dist/bin/onui-cli.js", "mcp"]
}
}
}Restart Windsurf after saving. Click the MCPs icon in Cascade panel to verify.
pnpm --filter @onui/mcp-server run doctorUse deep mode for V2 sync readiness checks:
pnpm --filter @onui/mcp-server run doctor -- --deepThe local MCP server exposes:
onui_list_pagesonui_get_annotationsonui_get_reportonui_search_annotationsonui_update_annotation_metadataonui_bulk_update_annotation_metadataonui_delete_annotationonui_clear_page_annotations
- Open the page and capture issues with Annotate mode for elements or Draw mode for regions.
- Use toolbar Settings to choose the output level your agent needs (
compact,standard,detailed,forensic). - Query page state through
onui_get_annotationsor generate a page-level summary withonui_get_report. - Search region or element issues with
onui_search_annotationswhen iterating on a subset of UI work. - After fixes are verified, update or clear annotations through the metadata/delete tools.
{
"tool": "onui_search_annotations",
"arguments": {
"query": "region ellipse",
"pageUrl": "https://example.com/ui"
}
}onui_search_annotations matches rounded region geometry tokens (x, y, width, height) in addition to comment/selector/path/tag text.
{
"tool": "onui_search_annotations",
"arguments": {
"query": "width 120 height 80",
"pageUrl": "https://example.com/ui",
"status": "pending"
}
}{
"tool": "onui_get_report",
"arguments": {
"pageUrl": "https://example.com/ui",
"level": "detailed"
}
}In detailed and forensic levels, region annotations include target type, shape, and geometry fields in report output.
If you want agents to process annotations and then remove them:
- Pull page annotations with
onui_get_annotations. - After processing each item, call
onui_delete_annotationfor the handled IDs. - If all annotations on the page were handled, call
onui_clear_page_annotationsfor that page URL.
- macOS:
~/Library/Application Support/onui/store.v1.json - Linux:
${XDG_DATA_HOME:-~/.local/share}/onui/store.v1.json - Windows:
%APPDATA%\\onui\\store.v1.json
claude mcp remove onui-local --scope user
codex mcp remove onui-local