Skip to main content
Glama
feder-cr

invisible-playwright-mcp

by feder-cr

session_start

Start a browsing session with a chosen identity to control which browser fingerprint a website sees. Use a saved profile to keep logins, or a fresh seed for an anonymous new fingerprint.

Instructions

Start a browsing session as a particular person, and say who that is.

Call this when you want to control WHO is browsing: a fresh stranger, the same person as last time, or a saved profile that is already logged in somewhere. Calling it closes whatever browser is open and starts another, so anything not saved in a profile is gone.

You do not have to call it at all. The first tool that needs a page starts a session on its own; session_status then tells you who that turned out to be.

There is only ONE browser. Two identities are visited in turn, never at the same time, so a task that needs both accounts live at once cannot be done here and is worth saying so rather than half-starting.

seed the browser identity. Same seed, same fingerprint, every time. Leave it out and one is drawn, and the answer tells you which, so you can ask for it again later. profile a directory that keeps cookies and logins between sessions. A profile also KEEPS ITS SEED: the first session on a new one stores the identity inside it, and every session after reuses it, so a login does not come back wearing different hardware. Pass "" to insist on no profile at all, which is how you get sessions a site cannot link to each other. A relative path is resolved against the server's own directory, so the answer reports the full path it used. proxy where the traffic goes out, as http://user:pass@host:port or socks5://host:port. Pass "" to insist on going out from this machine's own address. A profile does NOT pin its exit the way it pins its seed: timezone, locale and geography come from the exit, so the same login arriving from another country is as visible as one arriving on different hardware. You are warned when a profile's exit changes, but only when YOU change it - a provider that rotates its own addresses behind one host and port looks identical here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNo
proxyNo
profileNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.11.0

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It discloses that calling it closes the current browser, that unsaved profile data is lost, that there is only one browser, that profiles persist their seed, and that proxy changes are only warned about when the user changes them—not when a provider rotates addresses.

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 long but densely informative, with every sentence earning its place. It is front-loaded with purpose and usage, then limitations, then parameter semantics, and it avoids repeating schema details since the schema has no descriptions.

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 tool with three optional but semantically complex parameters and an output schema, the description is complete. It covers when to call, what happens on call, persistence behavior, identity semantics, and the single-browser limitation, leaving nothing an agent needs in order to decide and invoke correctly.

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

Parameters5/5

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

Schema coverage is 0%, so the description must fully compensate, and it does. It explains seed determinism, profile persistence and seed-carrying behavior, the empty-string convention for no profile, relative path resolution, and proxy format and its identity implications.

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 verb and resource: 'Start a browsing session as a particular person, and say who that is.' It clearly differentiates this tool from siblings by focusing on controlling the browser identity, while other session_* tools handle status, pages, and navigation.

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?

The description explicitly says when to call it ('Call this when you want to control WHO is browsing'), when not to call it ('You do not have to call it at all'), and what to use instead (session_status). It also gives a concrete exclusion: tasks needing two identities live simultaneously cannot be done here.

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