Navigate
browser_navigateNavigate the delegated tab to an allowed http(s) origin. Required: sessionId and url. Userinfo in the URL (https://user:password@host) is stripped before navigation and redacted to https://***@host in status, sessions, and history. Does not take observationId. If another action is still running, this call waits for it to finish (about 5s) and then navigates. BUSY means that wait ran out — retry with sessionId and url. Navigation pushes a history entry (location.assign on the top window) so browser_back and browser_forward move the tab. Navigation is paced; RATE_LIMITED means wait retryAfterMs. On a sensitive site, navigation returns APPROVAL_REQUIRED with approvalId. A different site returns APPROVAL_REQUIRED immediately with origin and approvalId — do not wait for command timeout. If a page asks for an HTTP sign-in, navigate returns HTTP_AUTH_REQUIRED and the tab is blocked. Call back (cancels the prompt) or navigate elsewhere. A JavaScript dialog opened by the navigation stays pending and is reported as dialog: { type, message, pending: true }. Navigating again while that dialog is open returns DIALOG_PENDING.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| sessionId | Yes | ||
| idempotencyKey | No | A key replays the original result only within ~60 seconds of the first call, only for the same Mcp-Session-Id, the same credential (API key or OAuth token), the same browser session, and the same tool. After the window, or under a different session/credential/tool, the call executes and bills normally. Reusing a key with different arguments returns IDEMPOTENCY_KEY_REUSED and is not executed or billed. Refusals (e.g. NO_HISTORY_ENTRY) are not cached, so the same key re-executes once state changes. A key passed in _meta is ignored. |