Skip to main content
Glama

Robot Actions — Remote Device Control

android_devtools_navigate

Navigate a page running on the device to a URL via CDP (Page.navigate). If waitMs > 0, waits up to that many milliseconds for a Page.frameStoppedLoading event before returning. Returns { url (the requested URL), finalUrl (the ACTUAL post-redirect URL — non-null only when waitMs > 0, so redirects are visible), loaderId?, errorText?, frameStoppedLoading? }. Omit pageId to auto-select the visible/active page. On success the page it landed on becomes this device's current page, so you can call the other android_devtools_* tools straight afterwards WITHOUT pageId and stay on this tab — no list_pages round trip needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL to navigate to
udidYesDevice serial number (UDID)
pageIdNoTarget page id (auto-picked when omitted)
socketNoAbstract unix socket name (default: chrome_devtools_remote)
waitMsNoMilliseconds to wait for Page.frameStoppedLoading after navigating (default: 0 = do not wait)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the behavioral burden and does so thoroughly. It discloses waiting semantics for Page.frameStoppedLoading, the exact return shape including finalUrl being non-null only when waiting, and the side effect of changing the device's current page.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then flows logically through wait behavior, return fields, and stateful usage. Despite its length, every sentence carries useful information and none are redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description compensates by specifying the returned fields and their meaning, including nullability. It also covers the stateful page-selection behavior needed to correctly chain calls, making it complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds important meaning beyond field names: waitMs controls whether Page.frameStoppedLoading is awaited, pageId may be omitted for auto-selection, and finalUrl reveals redirects only when waiting. This exceeds the baseline expected from schema-only coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Navigate a page running on the device to a URL via CDP (Page.navigate)'. The android_devtools_* namespace and CDP framing clearly distinguish it from generic device or web navigation tools even without naming a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear workflow context: how to omit pageId for auto-selection, and that after success the landing page becomes the current page so subsequent android_devtools_* calls need no pageId or list_pages round trip. It does not explicitly list exclusions or alternate tools to prefer instead, but the operational guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources