Skip to main content
Glama

list_snapshots

Read-only

List saved session snapshots, newest first, optionally filtered by project path substring, and return IDs for loading a snapshot.

Instructions

List saved session snapshots, newest first, optionally scoped to a project path substring. Returns ids for load_snapshot.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_snapshots"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax snapshots (default 20, max 50).
projectNoProject path substring. Empty = all projects.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.11.4
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "snapshots": {
      +          "items": {
      +            "properties": {
      +              "createdAt": {
      +                "type": "integer"
      +              },
      +              "id": {
      +                "type": "integer"
      +              },
      +              "label": {
      +                "type": "string"
      +              },
      +              "projectPath": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "sourceKind": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "threadId": {
      +                "type": [
      +                  "integer",
      +                  "null"
      +                ]
      +              },
      +              "tokenEstimate": {
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "threadId",
      +              "projectPath",
      +              "sourceKind",
      +              "label",
      +              "tokenEstimate",
      +              "createdAt"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "snapshots"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "properties": {
      +        "notice": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "notice"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  2. Changed4 schema fields changedv0.11.3
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Max snapshots (default 20, max 50).",
      +  "format": "uint32",
      +  "minimum": 0,
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / project / description
      Previous value: -"Substring-match the project path to scope results. Empty = all projects."New value: +"Project path substring. Empty = all projects."
    • removedInput schema / title
      Removed value: -"ListSnapshotsArgs"
  3. Addedv0.6.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful behavior beyond that: deterministic ordering (newest first) and substring-matching semantics for the project scope. The mention of returning ids overlaps with the existing output schema, so it is not purely additive.

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?

Two sentences, zero filler, and the ordering plus scoping facts are front-loaded before the follow-up hint. Every clause carries a distinct piece of 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 small read-only list tool with a full output schema and safety annotations, nothing essential is missing: ordering, scoping, and the downstream consumer are all stated. An agent can call this correctly without reading further documentation.

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 100%, and the schema already documents defaults, max, and that project is a path substring with empty meaning all projects. The description reinforces the substring matching but adds no format or syntax detail beyond the schema, so the baseline 3 applies.

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?

"List saved session snapshots" gives a specific verb and resource, and the trailing clause adds the retrieval contract (newest first, optional project substring, returns ids). It is clearly distinguishable from the write-side sibling snapshot_session and from unrelated list_* tools.

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?

The description establishes the use context through "Returns ids for load_snapshot," which tells the agent this is the discovery step before a load. It also notes scoping is optional. It stops short of explicit when-not guidance or naming an alternative for other filtering needs.

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