# io.github.OyadotAI/oya-browser

Real Chrome for agents: start a browser, read pages as numbered markdown, click, type, hand off.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.0.83
- **Author:** io.github.OyadotAI
- **License:** Unknown
- **Endpoints:** streamable-http https://browser.getoya.ai/mcp/pool
- **Source:** https://github.com/OyadotAI/oya-browser
- **Endpoint health:** reachable (last checked 2026-09-14T12:48:00.469Z, 1 sample) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-15T13:30:00.475Z
- **Version scanned:** HEAD
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

23 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `internal-pdf-viewer` — Portable Document Format
- `request_human` — Ask a person for help when you are stuck: a question only the user can answer, a login you cannot pass, or something the tools cannot do. Waits for their reply.
- `analyze_page` — Analyze the current page. Returns structured markdown with all interactive elements numbered as [#id type "label"]. Use element IDs with click/type tools. Inclu
- `navigate` — Navigate the browser to a URL.
- `click` — Click an interactive element by its ID number (from analyze_page results).
- `press_key` — Press a safe navigation key. Allowed: Enter, Escape, Tab, ArrowDown, ArrowUp, ArrowLeft, ArrowRight, Backspace, Delete, Space, Home, End, PageUp, PageDown. Do N
- `type` — Type text into an input element by its ID (from analyze_page). Clears existing content first.
- `screenshot` — Capture a screenshot of the visible browser tab.
- `scroll` — Scroll the page up or down.
- `wait` — Wait for an element matching a CSS selector to appear.
- `read_elements` — List interactive elements on the page. Lighter than analyze_page.
- `list_tabs` — List all open tabs (ID, title, URL, which is active).
- `open_tab` — Open a new browser tab, optionally navigating to a URL.
- `switch_tab` — Switch to a different tab by ID (from list_tabs).
- `close_tab` — Close a tab. Closes active tab if no tab_id specified.
- `click_coordinates` — Click at specific x,y pixel coordinates on the page.
- `mouse_move` — Move mouse to x,y coordinates without clicking. Triggers hover states and tooltips.
- `double_click` — Double-click an element by ID or at x,y coordinates.
- `keyboard_type` — Type text into whatever is currently focused, without targeting a specific element.
- `drag` — Drag from one point to another. For sliders, drag-and-drop, or text selection.
- `start_browser` — Start a new browser on this key and make it the one every other tool drives. Uses the key's configured provider unless one is given. It costs a session until st
- `stop_browser` — Stop a browser and release its session. Defaults to the browser the tools are driving.
- `pool_status` — Show pool size and connected browsers.

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"oya-browser\": {\n      \"type\": \"http\",\n      \"url\": \"https://browser.getoya.ai/mcp/pool\"\n    }\n  }\n}"
```

## Blast radius

Moderate to extensive — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: mutates data; runs on someone else's infrastructure.
- Floor 26, ceiling 50 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/io.github.OyadotAI%2Foya-browser
- Install plan: https://forgeregistry.com/api/v1/packages/io.github.OyadotAI%2Foya-browser/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/io.github.OyadotAI%2Foya-browser
- HTML page: https://forgeregistry.com/registry/io.github.OyadotAI%2Foya-browser
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
