Skip to main content
Glama

Robot Actions — Remote Device Control

webpage_tabs

List, open, switch and close browser tabs on the device — one tool for what would otherwise be several. list works on BOTH iOS Safari and Android Chrome and returns a pageId per tab; pass that pageId to any other webpage_* tool to act on that specific tab, on either platform. new, select and close are ANDROID ONLY and error on iOS rather than pretending — Safari can list and drive tabs remotely but cannot open or close them, and needs no switching since pageId already targets one directly. Stale tabs accumulate across sessions and clutter the list: close what you are done with.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoURL to open — for action "new" (default: about:blank)
udidYesDevice UDID / serial (iOS or Android)
actionNoWhat to do (default "list"). "new"/"select"/"close" are Android only.
pageIdNoTab to act on, from action "list" — required for "select" and "close"
socketNoAndroid only: abstract unix socket name (default: chrome_devtools_remote)
platformVersionNoIgnored (kept for compatibility)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden, and it delivers: it discloses that unsupported actions will error on iOS rather than silently no-op, that list returns pageId values, and that stale tabs accumulate across sessions and clutter the list. This goes well beyond what the schema provides.

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?

Four sentences, no filler; the first sentence immediately states the consolidated scope, and subsequent sentences add platform constraints and cleanup guidance. Every sentence contributes a distinct piece of operational knowledge.

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

Completeness4/5

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

Given moderate complexity (6 params, 4 actions, 2 platforms) and no output schema, the description explains the key return value (pageId from `list`) and the workflow for using it. However, it does not state whether `new` returns a pageId or what `select`/`close` return, a minor gap for an agent that must rely on this text.

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?

The input schema already documents every parameter (100% coverage), so the baseline is met. The description adds meaningful semantics by explaining that pageId comes from `list` and can drive any other webpage_* tool, and by clarifying the platform constraints on `action`. It does not re-describe parameters redundantly.

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?

The description opens with a clear verb-resource pairing: 'List, open, switch and close browser tabs on the device', and immediately consolidates what would otherwise be several tools. It distinguishes from siblings by covering both iOS Safari and Android Chrome, and by positioning `list` as the pageId source for other webpage_* tools.

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?

It gives explicit platform boundaries: `list` works on both platforms, while `new`, `select`, and `close` are Android-only and error on iOS. It also explains Safari's pageId-based targeting to justify why `select` is unnecessary there, and advises closing stale tabs — practical when-to-use guidance. It doesn't name specific sibling alternatives like ios_safari_close_tab, but the webpage_* family is referenced.

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