horizon-browser

Featured

Control, inspect, or audit Horizon browser panels through public browser_* MCP tools.

AI & Automation 710 stars 28 forks Updated today MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
95
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Horizon browser control Native VNC Device panels, simulators, and isolated desktop tests use the `horizon-device` skill. The workflow below applies to browser pages. Use the `browser_*` MCP tools as the only agent-facing browser contract. Do not inspect Horizon runtime files, connect to raw CDP/BiDi/WebDriver endpoints, or invoke a browser-control CLI. If the MCP tools are unavailable, report that the Horizon browser MCP server is not connected. Start with `browser_list` when the panel id is unknown. If it returns no panels, call `browser_create`; this opens a panel in the current agent's Horizon workspace and returns its ready panel id once the backend is ready and, when you passed a `url`, once that page committed (`navigation: committed`). A `navigation: pending` result means the panel is controllable but the first page had not committed within the bounded startup wait, so use `browser_wait` or `browser_panel` before reading it; `navigation: failed` means that page failed to load (`navigation_error` says why) and you must navigate again or fix the URL; `navigation: superseded` means the user navigated the panel first, so read `panel.url` before acting. If `browser_list` returns a usable panel, reuse that panel for iframe, popup, dialog, and consent interactions. Never create or reveal a helper panel as a workaround. Only when the user explicitly requests another independent browser session may you call `browser_create` with `allow_additional: true`. Omit `backend` to ...

Details

Author
peters
Repository
peters/horizon
Created
6 months ago
Last Updated
today
Language
Rust
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category