Skip to main content
Glama
surfskyio

surfsky-mcp

Official
by surfskyio

Start a session

surfsky_session_start
Destructive

Start an isolated cloud browser session to get a session_id for saved profiles, proxy locations, or fingerprint OS. Use when you need a private session; otherwise the default shared session suffices.

Instructions

Start a cloud browser session and return its session_id for the other tools. Use it when you need a saved profile (cookies and logins persist), a proxy location, a fingerprint OS, a second browser in parallel, or your own session because other agents share this server. Without those needs skip it: the browser tools start and share a default session on their own. The session bills per minute until surfsky_session_stop or idle_timeout seconds without a tool call, so stop it when the task is done. It opens on about:blank; call surfsky_navigate next. The result's screencast URL is a live view for the user and is private. Use only a profile_uuid the user gave you: a profile carries real logins.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
osNoFingerprint operating system. Not allowed with profile_uuid.
archNoFingerprint CPU architecture, with os.
cityNoProxy exit city, with country.
proxyNoOmit for the account default. 'premium': the residential pool (proxy_type 'mobile' for mobile IPs). 'shared': the free pool, tests only. Or your own proxy URL (user:pass@host:port); then country, region, city and proxy_type are not allowed.
regionNoProxy exit state or region, with country.
countryNoProxy exit country code, for example US.
dialogsNoAnswer for alert, confirm and prompt dialogs: 'dismiss' (default) or 'accept'. Each answered dialog is reported in the next result.dismiss
os_versionNoFingerprint OS version, with os.
proxy_typeNoPool for Surfsky proxies: 'residential' (default) or 'mobile'.
idle_timeoutNoSeconds without a tool call after which this server stops the session (default 300).
profile_uuidNoSaved Surfsky profile to load: its cookies and logins come with it and are saved back on a normal stop. Only a uuid the user gave you. Not combinable with os, os_version or arch: the profile owns its fingerprint.
block_resourcesNoResource types the browser does not download: faster and less proxy traffic, but screenshots and layout lose them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.1

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses billing per minute, idle_timeout stopping, the about:blank starting page, the private screencast URL, and the persistence of real logins for profiles. This is rich behavioral context that annotations alone do not provide.

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 primary purpose and then groups usage guidance, lifecycle, and security considerations coherently. It is longer than necessary in places, but each sentence carries useful decision-making or safety information.

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?

For a session-creation tool with no output schema, the description covers what is returned, how to act next, how to stop the session, billing implications, when to use it, and an important privacy/security constraint. An agent has enough context to invoke it correctly and decide whether it is needed at all.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains all 12 parameters in detail. The description adds meaningful high-level guidance for profile_uuid and default session behavior, but does not systematically add per-parameter semantics beyond the schema.

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 states the tool starts a cloud browser session and returns a session_id, with a specific verb and resource. It distinguishes itself from sibling browser tools by explaining when an explicit session is needed versus when the default session suffices.

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 when-to-use conditions: saved profile, proxy location, fingerprint OS, parallel browser, or own session because other agents share the server. It also says when to skip it, and names the next step (surfsky_navigate) and terminal action (surfsky_session_stop).

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