Skip to main content
Glama

Dump a session's stored context

spicrawl_session_context
Read-onlyIdempotent

Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The session_context object can be passed to spicrawl_session_create to clone the session. The result contains secrets (login cookies): do not echo it to the user or logs unless asked.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_idYesThe session id returned by spicrawl_session_create or spicrawl_session_list.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
retiredNoWhy the session was retired; absent while usable.
warningNoThe API's reminder that this state dies with the session.
created_atNoCreation time, RFC 3339 UTC.
expires_atNoCurrent expiry, RFC 3339 UTC.
session_idYesThe session id.
fingerprintNoStored browser fingerprint; null when none.
usage_countNo
last_used_atNoLast use, RFC 3339 UTC; null if never used.
domain_scoresNoPer-domain standing, keyed by domain. Omitted when empty.
schema_versionNo
session_contextNoCookies and storage: secrets. Pass it as `session_context` to spicrawl_session_create to clone the session.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "created_at": {
      +      "description": "Creation time, RFC 3339 UTC.",
      +      "type": "string"
      +    },
      +    "domain_scores": {
      +      "additionalProperties": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "bad": {
      +            "description": "Failed requests counted.",
      +            "type": "integer"
      +          },
      +          "good": {
      +            "description": "Successful requests counted.",
      +            "type": "integer"
      +          },
      +          "last_updated": {
      +            "description": "Last update, Unix milliseconds.",
      +            "type": "number"
      +          },
      +          "retired": {
      +            "description": "Hard block for this domain; use a new session for it.",
      +            "type": "boolean"
      +          },
      +          "score": {
      +            "description": "Error score; rises on failures, decays on successes. Blocked at 3.",
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "description": "Per-domain standing, keyed by domain. Omitted when empty.",
      +      "type": "object"
      +    },
      +    "expires_at": {
      +      "description": "Current expiry, RFC 3339 UTC.",
      +      "type": "string"
      +    },
      +    "fingerprint": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Stored browser fingerprint; null when none."
      +    },
      +    "last_used_at": {
      +      "description": "Last use, RFC 3339 UTC; null if never used.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "retired": {
      +      "description": "Why the session was retired; absent while usable.",
      +      "type": "string"
      +    },
      +    "schema_version": {
      +      "type": "integer"
      +    },
      +    "session_context": {
      +      "additionalProperties": true,
      +      "description": "Cookies and storage: secrets. Pass it as `session_context` to spicrawl_session_create to clone the session.",
      +      "properties": {
      +        "cookies": {
      +          "items": {
      +            "additionalProperties": true,
      +            "properties": {
      +              "domain": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "value": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "indexed_db": {
      +          "additionalProperties": {},
      +          "description": "Origin to databases; opaque.",
      +          "type": "object"
      +        },
      +        "local_storage": {
      +          "additionalProperties": {},
      +          "description": "Origin to key/value map.",
      +          "type": "object"
      +        },
      +        "session_storage": {
      +          "additionalProperties": {},
      +          "description": "Origin to key/value map.",
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "session_id": {
      +      "description": "The session id.",
      +      "type": "string"
      +    },
      +    "usage_count": {
      +      "type": "integer"
      +    },
      +    "warning": {
      +      "description": "The API's reminder that this state dies with the session.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "session_id"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds genuinely new behavioral context: the result contains live login cookies and other secrets and must not be echoed to the user or logs unless asked. That is important disclosure beyond the structured fields, though the failure mode for a non-LIVE session is left unstated.

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 compact sentences: payload contents first, downstream cloning use second, sensitivity warning last. Every sentence carries distinct information and nothing is padded.

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?

With an output schema present, return values need only light description, and the description still characterizes them (cookies, fingerprint, domain scores). The secrets-handling warning closes the main risk gap; only edge behavior for expired/non-live sessions is missing.

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?

One parameter with 100% schema description coverage, and the schema already explains that session_id comes from spicrawl_session_create or spicrawl_session_list. The description adds no format, validity, or lifecycle detail beyond what the schema provides, so the baseline of 3 applies.

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 ('Return the full stored state of a LIVE session') and enumerates the payload (cookies, localStorage, credentials, fingerprint, domain scores), which is far richer than a tautology. It does not explicitly contrast itself with the near-named sibling spicrawl_session_get, so an agent must infer that this returns raw stored state rather than session metadata.

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?

Gives a concrete downstream use case — passing the session_context object to spicrawl_session_create to clone the session — which tells the agent why and when to call it. It offers no explicit 'when not to use' or comparison against session_get/session_list, so the guidance is contextual rather than exclusionary.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources