Skip to main content
Glama

tabs_list

List open Firefox tabs by profile, showing window, index, cookie store, and active/pinned status so you can move or manage tabs; optionally filter by window and cookie store.

Instructions

List open browser tabs, optionally filtered by window and cookie store

Each line includes "[window {id}, index {n}] [cookie store {cookie_store_id}]", and carries "(active)" for the active tab of its window and "(pinned)" for a pinned one. The window, the index and the pinned mark are what tabs_move needs: the window to move a tab out of or into, the position it currently holds, and whether a leading run of pinned tabs blocks the low indexes.

profile_id is required: obtain it from profiles_list. All object IDs are local to that profile; never reuse them in another profile.

Input Schema

NameRequiredDescriptionDefault
window_idNoRestrict the listing to this window (optional, accepts int or string). Omit it to list tabs in every window.
profile_idYes
cookie_store_idNoOpaque store ID to filter by, combined with window_id.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden well: 'List' establishes a read operation, and it explains the line format, active/pinned markers, and how window/index/pinned state feed into tabs_move. It does not explicitly state that no browser state is modified, but the read-only nature is strongly implied and reinforced by the output description.

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?

The description is front-loaded with the core purpose and then adds only relevant operational detail. The explanation of how window, index, and pinned state relate to tabs_move is useful but slightly longer than necessary for a list tool. Overall it is well structured with no fluff.

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 an output schema exists, the description need not define return values, yet it still explains the line format and markers helpfully. It covers profile requirements, ID locality, filtering, and output semantics. It stops short of discussing pagination, ordering, or when to prefer a different tab-query tool, but nothing critical is missing for correct invocation.

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 67%, and the description adds important meaning beyond the schema: profile_id is required and sourced from profiles_list, and all IDs are profile-local. It also clarifies that window and cookie store are optional filters. The remaining schema descriptions already document the window_id and cookie_store_id behavior adequately.

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 precise verb and resource: 'List open browser tabs,' and immediately scopes it with optional filtering by window and cookie store. It is clearly distinguishable from sibling tools like list_windows, get_current_window, and tabs_groups_query without needing to inspect the schema.

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 a clear prerequisite: profile_id is required and must be obtained from profiles_list. It also warns that object IDs are local to that profile and must not be reused elsewhere. It does not explicitly say when to choose tabs_list over alternatives like tabs_groups_query, so it falls short of a full 5.

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