Skip to main content
Glama

browser_tabs

List, switch between, and close the background browser’s tabs so browser_* actions apply to the current tab.

Instructions

Manage the background browser's tabs (this chat's own): with no arguments, list them as numbered lines with title and address, the current one marked; with switch_to, make that tab current (the browser_* tools act on the current tab); with close, close it. Tabs open with browser_open new_tab or when a page opens a link in a new tab.

Input Schema

NameRequiredDescriptionDefault
closeNoNumber of the tab to close, from the list
switch_toNoNumber of the tab to switch to, from the list

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.1
    • changedInput schema / properties / close / description
      Previous value: -"Tab number to close"New value: +"Number of the tab to close, from the list"
    • changedInput schema / properties / switch_to / description
      Previous value: -"Tab number to switch to"New value: +"Number of the tab to switch to, from the list"
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the load and discloses real behavior: the no-arg return format (numbered lines with title and address, current tab marked) and the side effect that browser_* tools follow the current tab. It omits what closing a tab does to the conversation/page state or what happens on an invalid tab number.

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

Conciseness4/5

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

Dense and front-loaded: the resource and its three modes come first, prerequisites last. The nested parentheticals make it slightly run-on, but no sentence is wasted.

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?

For a two-optional-param tool with no output schema and no annotations, it covers invocation modes, tab provenance, and the listing output. Remaining gaps (error behavior for bad indices, state after closing the current tab) are modest.

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% and both parameters already say "Number of the tab ... from the list." The description adds the missing linkage by explaining that the no-arg listing produces those numbers, so the agent knows how to obtain valid values.

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 ("Manage the background browser's tabs") and enumerates its three modes: list, switch_to, close. It also names how tabs come into existence (browser_open new_tab), which separates it from the sibling browser_open.

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

Usage Guidelines5/5

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

Explicitly maps each call shape to an outcome: no arguments lists tabs, switch_to makes a tab current, close closes it. It also warns that the other browser_* tools act on the current tab, which tells the agent when switching is a prerequisite for other calls.

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