Skip to main content
Glama

Storage state

storage

Export or import cookies and local site data as a Playwright state file to keep logins across browser restarts; imports apply cookies immediately and write local data via CDP.

Instructions

Export or import cookies + localStorage as a Playwright storage-state file. Use this to persist logins across browser restarts. Import applies cookies immediately and writes localStorage through CDP.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "storage"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathNoExport: save path under the artifact dir. Import: JSON file path.
stateNoImport: inline storage state ({cookies, origins}).
actionYes
include_stateNoExport: include state in the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

The single annotation (readOnlyHint=false) only signals that this tool may write; the description adds genuinely new behavior: import applies cookies immediately while localStorage is written through CDP, and export produces a Playwright storage-state file. It does not disclose whether import overwrites or merges existing state, or whether a live browser session is required, which are the remaining gaps.

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?

Three tight sentences: the identity of the tool is front-loaded, the use case follows, and the import mechanics come last. No filler, though the CDP sentence could have been spent on the more decision-relevant distinction between the three actions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with a nested state object and no output schema, the description covers the conceptual model but omits what 'get' returns and what export's response contains when include_state is false. It is adequate to call the tool in the common import/export cases but incomplete for the full surface.

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 coverage is 75%, so path, state, and include_state are already documented in the schema and the description adds little beyond confirming the storage-state file format. The 'action' parameter is undocumented in both places for the 'get' case, and the description never explains what include_state or the artifact-dir location mean operationally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb pair (export/import) and a precise resource: cookies + localStorage serialized as a Playwright storage-state file. It is more specific than the name 'storage' alone, but it never contrasts itself with the sibling 'cookies' tool, so an agent must infer why it would pick this over direct cookie operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this to persist logins across browser restarts' gives a clear motivating scenario, which is real when-to-use guidance. However, no when-not guidance or alternatives are named, and the third enum value 'get' is never tied to a usage situation, so selection between export, import, and get is left to inference.

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