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_).
输入参数egressviewport_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.
输入参数session_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.
输入参数reason必填session_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.
输入参数url必填page_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.
输入参数framepage_idselectormax_charsmax_depthsession_id必填visible_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.
输入参数refurlframeformatpage_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.
输入参数refframelabelbuttonpage_idselectorsession_id必填click_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.
输入参数refframelabelvalue必填page_idselectorsession_id必填clear_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.
输入参数framepage_idsession_idetld_plus_one必填password_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.
输入参数framepage_idsession_idetld_plus_one必填
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.
输入参数action必填paramssession_id必填
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.
输入参数reftrimframepage_idselectorsession_id必填
Scroll the page, or one scrollable element, in a direction, for example to load more content or reach elements below the fold.
输入参数refframeamountpage_idselectordirection必填session_id必填
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).
输入参数page_idexpression必填session_id必填
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.
输入参数session_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.
输入参数offsetsession_idartifact_id必填
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.
输入参数after_seqsession_id必填
Make another open page current. Later actions without page_id run on it, and in a supervised session the viewer shows it.
输入参数page_id必填session_id必填
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.
输入参数page_id必填session_id必填
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.
输入参数origin必填scopespage_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.
输入参数scopessession_idpoppy_session_id必填
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.
输入参数after_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.
输入参数sign_outsession_idpoppy_session_id必填
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.
输入参数decision必填session_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.
输入参数limitquerybefore
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.
无需输入参数。
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.
无需输入参数。
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.
输入参数rp_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.
输入参数credential_id必填
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.
无需输入参数。
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.
输入参数session_id必填
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.
输入参数email必填
Show this account's plan, credit balance and whether this key may buy credits.
无需输入参数。
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.
输入参数item_idpaymentidempotency_key
get_credit_catalogue
Show credit prices
Shows Rove credit packs, subscription tiers and what an action or supervised minute costs. Never buys.
无需输入参数。
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.
无需输入参数。
get_purchase
Show purchase
Shows one purchase this key made and what to do next (for example, a payment link for a person).
输入参数purchase_id必填
list_purchases
List purchases
Lists purchases this key made, newest first.
输入参数limitcursor
cancel_purchase
Cancel purchase
Cancels an unpaid purchase this key made, so its payment link stops working.
输入参数purchase_id必填
simulate_purchase
Simulate purchase (test keys)
Test keys only: moves a simulated purchase to paid, expired, failed or needs-authentication. Never charges.
输入参数outcome必填purchase_id必填