Skip to main content
Glama
surfskyio

surfsky-mcp

Official
by surfskyio

Manage tabs

surfsky_tab
Destructive

Manage browser tabs in a cloud session: list all open tabs, open a new tab at a URL, switch active tab, or close a tab. Use list before switching to handle popups or target=_blank links.

Instructions

Manage the tabs of a session: list (index, id, url, title, active), new (opens a tab, optionally at url, and makes it active), switch (makes a tab active), close (a tab, default the active one). Use list then switch when a click opened a popup or a target=_blank link: the new page is another tab. Refs belong to a tab: take surfsky_snapshot after switching. The session's first tab cannot be closed; navigate it instead. The cloud allows five tabs per session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tabNoWhich tab for switch or close: the zero-based index from the last list, or its 8-character id (a prefix is enough).
urlNoFor new: URL to open in the new tab; https:// is added when the scheme is missing.
actionYeslist; new (optionally at url); switch (tab); close (tab, default the active one).
session_idNoSession from surfsky_session_start. Omit for the shared default session, started on first use.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.1

TDQS

A4.9/5.0
Behavior5/5

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

The description adds meaningful behavior beyond the annotations: new makes the tab active, close defaults to the active tab, the first tab cannot be closed, refs are tab-scoped, and cloud sessions allow only five tabs. This gives the agent important operational context that annotations alone do not convey.

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 compact, well-structured around actions and then usage guidance. Each sentence adds relevant information without redundancy, and the most important operational details are front-loaded.

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?

Given the tool's complexity and the absence of an output schema, the description covers the key return fields for list, tab selection semantics, constraints on closing, tab-scoped refs, and the cloud limit. The guidance for when to use snapshot and navigate makes it sufficiently complete for an agent to invoke the tool 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?

The input schema already has 100% coverage with detailed descriptions, so the baseline is 3. The description adds extra semantics by noting that new makes the tab active, switch makes a tab active, and close defaults to the active tab, enhancing the schema's action descriptions.

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 clearly identifies the resource (tabs of a session) and the specific actions: list, new, switch, and close. It differentiates itself from siblings like surfsky_navigate and surfsky_snapshot by explaining tab-specific operations and the relationship between tabs and refs.

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?

It explicitly tells the agent when to use list followed by switch for popups or target=_blank links, and when not to close the first tab, instead navigating it. It also directs the agent to take surfsky_snapshot after switching because refs belong to a tab, providing clear routing to sibling tools.

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