start_supervised_session
Start supervised browser session
Start a supervised browser session: a hosted Chromium browser your agent drives while a person can watch live, take exclusive control and hand it back. It signs in with the browser profile this API key keeps, so cookies and sign-ins carry over between sessions. Next, call create_viewer_grant to get the person a viewer link. While the person holds control, agent actions are refused; after they hand back, call get_a11y_tree or screenshot before acting again. Later tools use this session unless you pass session_id. viewport_mode defaults to follow-human; use fixed when the page layout must stay at the agent viewport. Charged per minute. Needs a live key (rvp_live_).
Parametersegressviewport_mode
create_viewer_grant
Create viewer link
Create a one-time, origin-bound viewer link for a supervised session, for the person who will watch and take over. Give viewer_url to that person (one click opens the session). The admission_code in it works once and expires after expires_in_seconds. Never send passwords or other site credentials through chat: the person signs in themselves, in the viewer.
Parameterssession_id
request_human
Request human help
Pause a supervised session and ask a person to help. Explain what they need to do in reason. Returns waiting_for_human, the reason, human_wait_expires_at and a one-time viewer_url to give the person. Agent actions are refused until they return control. Repeating this request renews the viewer grant without extending the wait deadline.
Parametersreasonrequiredsession_id
Open a URL in the session's browser and return the final URL and page title after redirects. In a supervised session the person watching sees the page. For a parked challenge (challenge_parked), use navigate on the same session to poll every 10 to 60 seconds with backoff, never in a tight loop. With no session_id and no active session, it creates an ordinary session that no one can watch or take over; call start_supervised_session first when a person may need to step in, for example to sign in. API docs: https://roveapi.com/docs.
Parametersurlrequiredpage_idsession_idtimeout_mswait_until
Read the current page's content and controls, with element refs (such as e5) that click, fill, get_text and screenshot accept. After a person hands a supervised session back, this or screenshot is the fresh observation required before the next action. The page comes back as an accessibility tree: roles, names, values and states. On large pages it scopes itself to the main content; selector, max_depth, max_chars, visible_only and exclude_selectors narrow it further.
Parametersframepage_idselectormax_charsmax_depthsession_idrequiredvisible_onlyexclude_selectors
screenshot
Take screenshot
Capture the current page, or one element, as a PNG or JPEG. In a supervised session this is, like get_a11y_tree, a fresh observation after a person hands control back. With no session_id and no active session, pass url instead for a one-shot capture in a throwaway browser. API docs: https://roveapi.com/docs.
Parametersrefurlframeformatpage_idselectorfull_pagesession_id
Click an element by CSS selector, accessible label or a11y tree ref. A click can submit, delete or buy on the site, as a person clicking would. In a supervised session, a click that opens a popup makes the popup the current page.
Parametersrefframelabelbuttonpage_idselectorsession_idrequiredclick_countwait_after_ms
Type text into a form field, found by CSS selector, accessible label or a11y tree ref. By default it clears the existing value first. Never fill in passwords or other credentials you were sent through chat; in a supervised session, hand the sign-in to the person in the viewer.
Parametersrefframelabelvaluerequiredpage_idselectorsession_idrequiredclear_first
fill_credential
Fill saved credential
Fill saved username and password fields in a supervised session without returning credential values. etld_plus_one identifies the saved credential site and must match the target page, including private suffixes. Requires agent control; frame targeting is refused. Optional selectors override the default username/email and password inputs.
Parametersframepage_idsession_idetld_plus_onerequiredpassword_selectorusername_selector
Fill the current six-digit TOTP (SHA-1, 30-second step) into the focused main-page input in a supervised session without returning the code or seed. etld_plus_one identifies the saved credential site and must match the target page, including private suffixes. Requires agent control; frame targeting is refused.
Parametersframepage_idsession_idetld_plus_onerequired
interact
Click or fill by selector
Click an element or fill a field by CSS selector, as one tool: action is click or fill, and params carries selector (and value, for fill). click and fill take the same actions with labels, refs, frames and pages; prefer them.
Parametersactionrequiredparamssession_idrequired
get_text
Read element text
Read the text of one element, such as a price, a heading or a status message, by CSS selector or a11y tree ref.
Parametersreftrimframepage_idselectorsession_idrequired
Scroll the page, or one scrollable element, in a direction, for example to load more content or reach elements below the fold.
Parametersrefframeamountpage_idselectordirectionrequiredsession_idrequired
Run a JavaScript expression in the page and return its result as JSON. The script can read or change anything the page can, including submitting forms. Refused on a site's pages while a Poppy Session with that site is connected (see poppy_status).
Parameterspage_idexpressionrequiredsession_idrequired
list_downloads
List downloads
List this session's captured downloads as artifacts, with id, name, content_type, file_size_bytes, url and expires_at, plus download_errors for refused or failed captures. Use get_download with an artifact id to fetch its bytes. Defaults to this connection's active session.
Parameterssession_id
get_download
Fetch download
Fetch a captured download using its artifact_id from list_downloads, in chunks of at most 1 MiB. Returns session_id, artifact_id, content_type, data_base64, offset, total_bytes and next_offset. Decode each chunk separately and concatenate the bytes. Repeat with offset set to next_offset until next_offset is null. Defaults to offset 0 and this connection's active session.
Parametersoffsetsession_idartifact_idrequired
list_pages
List open pages
List the pages open in this session's browser, with page ids, opener, URL, title and status, and which page is current. Popups the page opened appear here. Does not count as a fresh observation.
Parametersafter_seqsession_idrequired
Make another open page current. Later actions without page_id run on it, and in a supervised session the viewer shows it.
Parameterspage_idrequiredsession_idrequired
Close an open page. If it was current, the session returns to the page that was current when it opened. The last open page cannot be closed.
Parameterspage_idrequiredsession_idrequired
poppy_connect
Connect to a Poppy site
Declare this supervised session to a site that takes part in the Personal Agent Protocol (Poppy) as the person's agent: Rove reads https://<site>/.well-known/poppy.json, starts a signed-out Poppy Session and joins the browser to it, so the site admits the session instead of challenging it. A site without a valid poppy.json answers poppy-not-participating and is browsed as usual. While connected, changes (any request that isn't GET, HEAD or OPTIONS) and live-update sockets on the site are refused until the person signs in with poppy_sign_in and approves them. If this browser profile already holds the site's cookies or saved data, the answer is poppy-company-cookies-present: ask the person, then call again with replace_company_cookies: true. Follow next in every answer.
Parametersoriginrequiredscopespage_idreturn_tosession_idreplace_company_cookies
poppy_sign_in
Sign in to a Poppy site
Ask the person to sign in to a connected Poppy site and approve permissions for you (default poppy:read; poppy:write allows changes). Rove opens the site's own sign-in in a separate sign-in window in the supervised viewer; the person signs in there themselves, and you never see their password, codes or tokens. Then send the person a viewer link (create_viewer_grant), tell them what next says, and check poppy_status for the outcome.
Parametersscopessession_idpoppy_session_idrequired
poppy_status
Show Poppy connections
Show this supervised session's Poppy Sessions: their state, the permissions granted and in force, the requests Rove refused, the latest sign-in's outcome, and next, what to do now. Changes nothing.
Parametersafter_seqsession_idpoppy_session_id
poppy_disconnect
Disconnect a Poppy site
End a Poppy Session. Rove removes the site's cookies and saved data from this browser before the site is used without Poppy again (poppy_status shows cleanup done). With sign_out: true it also deletes the person's stored approval for the site and revokes it there.
Parameterssign_outsession_idpoppy_session_idrequired
restore_pages
Restore or dismiss pages
Answer a supervised session's restore offer. When the previous session on this profile ended unexpectedly (crash, hang or restart), list_pages and the session status carry restore.available and the pages that were open; nothing reopens until you choose. restore reopens them (each through the target policy) and makes the recorded current page current; dismiss drops the offer.
Parametersdecisionrequiredsession_id
list_history
List browsing history
List the pages this API key's supervised browser profile visited, newest first, across sessions: URL, title, time, session id and whether the agent or a human held control. Sign-in callback codes and tokens are never stored. To reopen an entry, navigate to its url.
Parameterslimitquerybefore
clear_history
Clear browsing history
Delete this API key's supervised browsing history. Cookies, storage and open-pages restore are kept. Refused (profile-busy) while a supervised session on this key is running.
Takes no parameters.
delete_profile
Delete browser profile
Delete this API key's whole supervised browser profile: cookies, storage, history and any restore offer. The next session starts signed out. Refused (profile-busy) while a supervised session on this key is running.
Takes no parameters.
list_passkeys
List passkeys
List this API key's browser profile passkeys by site, including credential IDs and account labels. Private keys and other key material are never returned. No browser session is required.
Parametersrp_id
delete_passkey
Delete passkey
Delete one passkey from this API key's browser profile by its credential_id from list_passkeys. Returns deleted: false if absent. Refused (profile-busy) while a supervised session on this key is running; close it first.
Parameterscredential_idrequired
list_sessions
Show active session
Show which browser session this MCP connection is using: the session later tools act on when you omit session_id.
Takes no parameters.
close_session
Close session
End a browser session and release its browser; its open pages close. A supervised session's browser profile (cookies, history) is kept for the next session; delete_profile removes it. When it was this connection's active session, the next navigate or start_supervised_session starts a new one.
Parameterssession_idrequired
authenticate
Sign in by email
Sign in to Rove with your email when no API key is configured: sends a magic link, and once you open it this connection uses your live key. Supervised sessions need a live key; test keys (rvp_test_) run mock actions. Apps connected through OAuth are already signed in and cannot call it.
Parametersemailrequired
Show this account's plan, credit balance and whether this key may buy credits.
Takes no parameters.
Without arguments: shows Rove credit prices and whether this key may buy. With item_id: buys that credit pack and may charge the account owner's saved card, or returns a payment link for a person, within limits the owner set. Pass the same idempotency_key when retrying the same purchase. Without idempotency_key, the same call again in this MCP session returns the first purchase for 10 to 20 minutes; to buy the same pack twice on purpose, pass a new idempotency_key each time.
Parametersitem_idpaymentidempotency_key
get_credit_catalogue
Show credit prices
Shows Rove credit packs, subscription tiers and what an action or supervised minute costs. Never buys.
Takes no parameters.
get_credit_balance
Show credit balance
Shows this account's credits, exact to the millicredit, and whether this key may buy more and within what limits.
Takes no parameters.
get_purchase
Show purchase
Shows one purchase this key made and what to do next (for example, a payment link for a person).
Parameterspurchase_idrequired
list_purchases
List purchases
Lists purchases this key made, newest first.
Parameterslimitcursor
cancel_purchase
Cancel purchase
Cancels an unpaid purchase this key made, so its payment link stops working.
Parameterspurchase_idrequired
simulate_purchase
Simulate purchase (test keys)
Test keys only: moves a simulated purchase to paid, expired, failed or needs-authentication. Never charges.
Parametersoutcomerequiredpurchase_idrequired