Skip to main content
Glama
surfskyio

surfsky-mcp

Official
by surfskyio

Screenshot

surfsky_screenshot
Read-onlyIdempotent

Capture the active tab as a viewport JPEG or full-page/element PNG to check visual states like layouts, charts, or challenge pages when the snapshot misses key details.

Instructions

Capture the active tab as an image you can see: the viewport as JPEG by default, or PNG for the full page or one element (selector). Use it to check a visual state, such as a challenge page, a layout or a chart, or to find something the snapshot does not list; for reading text, surfsky_read is cheaper and exact. A full-page capture of a long page is large.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectorNoA CSS selector, @N from the latest snapshot of this tab, or text=words (the first visible element whose name contains the words). XPath is not accepted.
full_pageNoCapture the whole scrollable page as PNG instead of the viewport.
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.6/5.0
Behavior4/5

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

Annotations already signal safe read-only, idempotent behavior. The description adds behavioral context beyond those flags: default output is viewport JPEG, PNG is used for full page or element captures, and full-page captures can be large. It does not cover every possible failure mode, but given the strong annotation coverage this is sufficient context.

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?

Three sentences front-load the core purpose, then cover when to use it, the alternative, and a cost caveat. Every sentence provides distinct information and none are redundant with the schema or annotations.

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 the rich annotations, 100% schema coverage, and optional parameters, the description covers the key decisions an agent needs: what the image captures, what the output modes are, and when to prefer surfsky_read. The main omission is exactly how the image is returned (e.g., in-band image vs reference), but this is minor because the description says it is an image the agent can see.

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?

All three parameters are fully described in the schema (100% coverage), so the baseline is 3. The description adds extra meaning by tying selector/element capture to PNG output and full_page to a whole scrollable page, which slightly goes beyond the schema's individual field 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 opens with a specific action ('Capture the active tab as an image you can see') and clarifies the resource and output types, distinguishing viewport JPEG from full-page/element PNG. It also positions the tool against surfsky_read ('for reading text... cheaper and exact'), so an agent can tell it apart from siblings without opening schemas.

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 gives explicit use cases: checking a visual state such as a challenge page, layout, chart, or finding something not listed in the snapshot. It explicitly routes text-reading tasks to surfsky_read and cautions that full-page captures of long pages are large, which guides when to prefer other tools.

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