Oya Browser
io.github.OyadotAI/oya-browserVersion 1.0.240Oya, the HIPAA-compliant agentic browser, over MCP: browse, run playbooks, hand a tab to a person.
Status
Responds617 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:41 UTC
- Latency
- 617 ms
- Remotes responding
- 1 of 1
- Sign-in
- API key
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://oyabrowser.com/mcp/poolResponds617 msNo sign-in
Claude Code
claude mcp add --transport http oya-browser https://oyabrowser.com/mcp/pool --header 'Authorization: Bearer <YOUR_TOKEN>'Replace <YOUR_TOKEN> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: oya-browser
Remote MCP server URL: https://oyabrowser.com/mcp/pool
This server expects the header Authorization.Cursor
{
"mcpServers": {
"oya-browser": {
"url": "https://oyabrowser.com/mcp/pool",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Replace <YOUR_TOKEN> before running.
VS Code
code --add-mcp '{"name":"oya-browser","type":"http","url":"https://oyabrowser.com/mcp/pool","headers":{"Authorization":"Bearer <YOUR_TOKEN>"}}'Replace <YOUR_TOKEN> before running.
Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
32 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
analyze_pageAnalyze the current page. Returns its content and every interactive element with an id to use with click/type tools.
Ids stay valid until the next analysis or a navigation, so one analysis covers a whole form; each analysis numbers the page afresh.
plus page facts (url, title, viewport, scroll, and when they apply: panelScroll, modal, covered, truncated) and each element's state (off-screen, disabled, checked, a field's hint).
format picks how it is written: toon (default; one table of blocks, fewer tokens), markdown or jsonl. | No | Yes | Not declared | Yes |
clickClick an interactive element by its ID number (from analyze_page results). | No | No | Not declared | Yes |
click_coordinatesClick at specific x,y pixel coordinates on the page. Use when you know the exact position (e.g. from a screenshot). | No | No | Not declared | Yes |
complete_mfaFill and submit a one-time code (MFA / 2FA) the page asks for, from the persona's authenticator, email or SMS. Call it on a code prompt after signing in. | No | No | Not declared | Yes |
double_clickDouble-click an element by ID or at specific x,y coordinates. | No | No | Not declared | Yes |
dragDrag from one point to another. Useful for sliders, drag-and-drop, or selecting text. | No | No | Not declared | Yes |
findFind the elements that match a description ("search box", "add to cart", "next page"), best first, with ids click and type accept. Much shorter than analyze_page when you know what you are looking for. | No | Yes | Not declared | Yes |
go_backGo back one page in the tab's history, like the browser's back button, and wait for it to load. | No | No | Not declared | Yes |
go_forwardGo forward one page in the tab's history and wait for it to load. | No | No | Not declared | Yes |
handle_dialogAnswer a native browser dialog (confirm or prompt) blocking the page. Alerts are answered automatically. | No | No | Not declared | Yes |
hoverMove the mouse onto an element, for menus, tooltips and previews that open on hover. Tells you what appeared. | No | No | Not declared | Yes |
keyboard_typeType text using the keyboard without targeting a specific element. Types into whatever is currently focused. | No | No | Not declared | Yes |
list_playbooksList the playbooks saved on this key: recorded flows that replay without a model, with their variables. | No | Yes | Not declared | No |
list_saved_loginsList the sites this browser's persona has a saved login for, with the username, never the password. Call it before a sign-in to know whether sign_in can fill the form and which account it will use. | No | Yes | Not declared | No |
mouse_moveMove the mouse cursor to specific x,y coordinates without clicking. Useful for triggering hover states, tooltips, or dropdown menus. | No | No | Not declared | Yes |
navigateNavigate the browser to a URL. | No | No | Not declared | Yes |
pool_statusShow pool size and connected browsers. | No | Yes | Not declared | No |
press_keyPress a safe navigation key. Allowed: Enter, Escape, Tab, ArrowDown, ArrowUp, ArrowLeft, ArrowRight, Backspace, Delete, Space, Home, End, PageUp, PageDown. Do NOT use for F-keys, Meta, Control, Alt, or Shift. | No | No | Not declared | Yes |
reloadReload the page and wait for it to load. For a page stuck loading or showing stale data. | No | No | Not declared | Yes |
run_playbookReplay a saved playbook on this browser with the given variables. Much faster and cheaper than doing the task step by step; a step that no longer fits the page is finished by the agent. | Yes | No | Not declared | Yes |
run_scriptRun JavaScript that READS the page and returns data, for what analyze_page does not show well: every row of a long table, attributes, counts, text across many elements. The body of an async function: `return` the value (JSON-serialisable, cut at 8000 chars). It runs where the page cannot see it and must not change anything: no clicks, typing, requests or navigation; act with the element tools, which replay. Example: return [...document.querySelectorAll('table tr')].map(r => r.innerText); | No | No | Not declared | Yes |
run_taskHand a whole task to Oya's own browser agent on this browser and get its report back (DONE: or FAILED:). Uses this key's configured model; the run can be saved as a playbook afterwards. | Yes | No | Not declared | Yes |
screenshotCapture a screenshot of the visible browser tab as an image. | No | Yes | Not declared | Yes |
scrollScroll the page up or down. | No | No | Not declared | Yes |
select_optionChoose an option in a native dropdown (a select element from analyze_page) by the option text you see. Accepts {{placeholders}} and filters. | No | No | Not declared | Yes |
sign_inSign in on the current page with the credentials stored for this site in the browser's persona. You never see them. Call it on a login form you were not given values for. | No | No | Not declared | Yes |
solve_captchaSolve a CAPTCHA (reCAPTCHA, hCaptcha, Turnstile) on the current page with the configured solver. Call it when a CAPTCHA blocks you, then analyze_page again. | No | No | Not declared | Yes |
start_browserStart 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 stop_browser. | No | No | Not declared | No |
stop_browserStop a browser and release its session. Defaults to the browser the tools are driving. | Yes | No | Not declared | No |
typeType text into an input element by its ID number (from analyze_page results). Clears existing content first. Typing keeps every id valid: fill the next field straight away, without analyzing again. | No | No | Not declared | Yes |
waitWait for an element matching a CSS selector to appear on the page. | No | Yes | Not declared | Yes |
wait_forWait until the page is ready: some text shows, the url contains something, and/or the network has gone quiet. With no text or url it waits for the network to settle. Use it after an action that loads results in the background, rather than analyzing again and again. | No | Yes | Not declared | Yes |
Details
- Registry status
- Active
- Published
- Nov 14, 2026
- Updated
- Nov 14, 2026
- Categories (suggested)
- Browser automationSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared