Skip to main content
Glama

Save Browser State Capsule

capsule_save

Save browser cookies and storage after establishing UI state, and include a liveness marker to confirm the credential-bearing capsule is valid.

Instructions

Save cookies and storage after establishing state through the UI. Pass a liveness_marker visible only while the state is valid. Capsules contain credentials.

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": {
      "name": "<name>"
    },
    "name": "capsule_save"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
liveness_markerNo

Output Schema

NameRequiredDescriptionDefault
dataNo
run_idYes
stagesNo
statusYes
recoveryNo
operationYes
error_codeYes
session_stateYes
schema_versionNo
progress_omittedNo
progress_delivery_failedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.10.0
    • removedInput schema / properties / liveness_marker / title
      Removed value: -"Liveness Marker"
    • removedInput schema / properties / name / title
      Removed value: -"Name"
    • removedInput schema / title
      Removed value: -"capsule_saveArguments"
  2. Changed12 schema fields changed
    • removedOutput schema / properties / data / title
      Removed value: -"Data"
    • removedOutput schema / properties / error_code / title
      Removed value: -"Error Code"
    • removedOutput schema / properties / operation / title
      Removed value: -"Operation"
    • removedOutput schema / properties / progress_delivery_failed / title
      Removed value: -"Progress Delivery Failed"
    • removedOutput schema / properties / progress_omitted / title
      Removed value: -"Progress Omitted"
    • removedOutput schema / properties / recovery / title
      Removed value: -"Recovery"
    • removedOutput schema / properties / run_id / title
      Removed value: -"Run Id"
    • removedOutput schema / properties / schema_version / title
      Removed value: -"Schema Version"
    • removedOutput schema / properties / session_state / title
      Removed value: -"Session State"
    • removedOutput schema / properties / stages / title
      Removed value: -"Stages"
    • removedOutput schema / properties / status / title
      Removed value: -"Status"
    • removedOutput schema / title
      Removed value: -"AgentResult"
  3. Addedv0.5.2

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-idempotent, open-world write. The description adds real context beyond them: the capsule holds credentials (sensitivity warning) and the liveness_marker is only visible while state is valid. It does not say whether an existing capsule with the same name is overwritten.

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 short sentences, front-loaded with the action and precondition, with no filler. The credentials warning is placed where it will be read before invoking.

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?

An output schema exists, so return values need not be explained, and the sensitive-data and liveness semantics are covered. Missing details on naming collisions and required permissions keep it from complete for a mutation tool.

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 0%, so the description carries the burden; it explains liveness_marker's meaning and validity semantics well, but leaves the required `name` parameter completely undocumented, including uniqueness/overwrite behavior.

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?

States a specific verb and resource: save cookies and storage as a capsule, with the precondition that state was established through the UI. It is clearly distinct from capsule_restore, though the description never names that sibling explicitly.

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

Usage Guidelines4/5

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

"Save ... after establishing state through the UI" gives a clear triggering condition, and the liveness_marker note tells the agent when the marker is meaningful. It stops short of naming capsule_restore as the counterpart or stating any when-not conditions.

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