protogrid

Search / io.github.noncelogic/rove

Rove

R2· OAuth, once

Rove — supervised browser for AI agents. Your agent drives; a human watches, takes over.

v1.10.0 · active · repository · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality89new
Trust96of 100
Uptime, 30 days95%
Latency p50773 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "rove": {
      "type": "http",
      "url": "https://api.roveapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ROVE_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http rove https://api.roveapi.com/mcp --header "Authorization: Bearer ${ROVE_TOKEN}"
[mcp_servers.rove]
url = "https://api.roveapi.com/mcp"
bearer_token_env_var = "ROVE_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "rove": {
      "type": "remote",
      "url": "https://api.roveapi.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:ROVE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "rove": {
      "type": "http",
      "url": "https://api.roveapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ROVE_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=rove&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnJvdmVhcGkuY29tL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke1JPVkVfVE9LRU59In19"
}
{
  "servers": {
    "rove": {
      "type": "http",
      "url": "https://api.roveapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ROVE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "rove": {
      "httpUrl": "https://api.roveapi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${ROVE_TOKEN}"
      }
    }
  }
}
extensions:
  "rove":
    enabled: true
    name: "rove"
    type: streamable_http
    uri: "https://api.roveapi.com/mcp"
    headers:
      "Authorization": "Bearer ${ROVE_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${ROVE_TOKEN}. The registry never accepts secret values.

Quality 89 / 100new

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • warn
    tools.annotationsonly 7 of 27 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints7 of 27 tools declare all four hints; missing: navigate (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); click (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); fill (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,958 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 5 of the 7 days needed
dependencies100 · weight 15
  • pass
    deps.known_vulnsno known advisory in 99 resolved packages
  • pass
    deps.mcp_sdk_version@modelcontextprotocol/sdk 1.32.1, no known advisory
  • pass
    deps.resolvable@roveapi/[email protected] resolved: 99 packages

27 tools, about 3,958 tokens to load them all · tool set 93e3098e1016 · checked 2026-10-19 10:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance90
liveness98
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-95% +updated-6d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@roveapi/[email protected] npm98 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.32.1 · advisories checked 2026-10-19

No known advisory affects this dependency graph.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.roveapi.com/mcp streamable-httpoauth2 AS: https://api.roveapi.comyes95%773 ms–2026-10-19
packageregistryversionruntimesecrets
@roveapi/mcpnpm1.10.0–ROVE_API_KEY

Tools (27)

account_infoCheck your account status: credits balance, plan, and usage.
authenticateAuthenticate this MCP session. Sends a magic link to your email — click it to activate. Required before using any other tool.
buy_creditsdestructiveWithout 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.
cancel_purchasedestructiveCancels an unpaid purchase this key made, so its payment link stops working.
clear_historyDelete 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.
clickClick an element by CSS selector, accessible label or a11y tree ref. In a supervised session, a click that opens a popup makes the popup the current page.
close_pageClose 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.
close_sessionClose a browser session and release resources.
delete_profileDelete 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.
evaluateExecute JavaScript in the browser context.
fillFill a form field with text. By default clears existing value first.
get_a11y_treeGet the accessibility tree snapshot of the current page. Returns structured data 77% smaller than a screenshot. Auto-scopes to the main content area on large pages (50K+ chars). Use selector to manually scope to a specific element.
get_credit_balanceread-onlyShows this account's credits, exact to the millicredit, and whether this key may buy more and within what limits.
get_credit_catalogueread-onlyShows Rove credit packs, subscription tiers and what an action or supervised minute costs. Never buys.
get_purchaseread-onlyShows one purchase this key made and what to do next (for example, a payment link for a person).
get_textExtract text content from an element.
list_historyList 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.
list_pagesList 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.
list_purchasesread-onlyLists purchases this key made, newest first.
list_sessionsList all active browser sessions.
navigateNavigate to a URL. Creates a browser session automatically if none exists.
restore_pagesAnswer 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.
screenshotTake a screenshot of the current page or a specific element.
scrollScroll the page in a direction, or scroll a specific element.
simulate_purchaseTest keys only: moves a simulated purchase to paid, expired, failed or needs-authentication. Never charges.
switch_pageMake another open page current. Later actions without page_id run on it, and in a supervised session the viewer shows it.
wait_for_popupWait for a popup opened by your last navigate, click, fill, scroll or evaluate, even one that has already opened, and return its page_id. In a supervised session the popup becomes current. In other sessions, call switch_page or pass page_id. A popup Rove blocks answers popup-blocked at once instead of waiting. After a human returns control, a popup they opened counts; pass after_seq to wait for a newer one.

Schemas: list_tools.

Similar MCP servers

More from io.github.noncelogic

Official server.json
{
  "name": "io.github.noncelogic/rove",
  "title": "Rove",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.roveapi.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Your Rove API key as a Bearer token"
        }
      ]
    }
  ],
  "version": "1.10.0",
  "packages": [
    {
      "version": "1.10.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@roveapi/mcp",
      "registryType": "npm",
      "environmentVariables": [
        {
          "name": "ROVE_API_KEY",
          "format": "string",
          "isSecret": true,
          "description": "Your Rove API key (optional — use the authenticate tool to sign up interactively)"
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/noncelogic/rove",
    "source": "github"
  },
  "websiteUrl": "https://roveapi.com",
  "description": "Rove — supervised browser for AI agents. Your agent drives; a human watches, takes over."
}