Skip to main content
Glama

WhiteMagic — governed local memory for agent continuity

Session Continuity

session.continuity

Recall where the previous session left off: recent turns, salient anchors, unresolved DiAML arcs, related track crystals, checkpoints, and open queues.

Input Schema

NameRequiredDescriptionDefault
nNoNumber of recent turns to recall (default: 5)
sinceNoTime-range floor: epoch seconds, RFC 3339, or YYYY-MM-DD
trackNoOptional track slug to surface prior crystallized codex memories and select the latest prior session on this track
untilNoTime-range ceiling: epoch seconds, RFC 3339, or YYYY-MM-DD
session_idNoTarget session (default: most recent)
token_budgetNoOptional cap for compact agent_context.text: UTF-8 byte cap is token_budget × 4; estimated_tokens is a byte-based heuristic, not tokenizer-guaranteed. Zero produces empty context.
max_content_bytesNoPer-turn content cap in bytes (default 8192)
current_session_idNoSession to exclude (optional)
max_response_bytesNoTurns budget in bytes (default 49152)
include_briefing_textNoInclude the ready-to-inject briefing.text block

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / include_briefing_text / description
      Previous value: -"Include the ready-to-inject briefing.text block (default false; adds bytes outside the turns budget)"New value: +"Include the ready-to-inject briefing.text block"
    • changedInput schema / properties / max_content_bytes / description
      Previous value: -"Per-turn content cap in bytes (256-262144, default 8192)"New value: +"Per-turn content cap in bytes (default 8192)"
    • changedInput schema / properties / max_response_bytes / description
      Previous value: -"Turns budget in bytes (256-262144, default 49152)"New value: +"Turns budget in bytes (default 49152)"
    • changedInput schema / properties / n / description
      Previous value: -"Number of prior turns (default 10)"New value: +"Number of recent turns to recall (default: 5)"
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "Target session (default: most recent)",
      +  "type": "string"
      +}
    • addedInput schema / properties / token_budget
      Added value: +{
      +  "description": "Optional cap for compact agent_context.text: UTF-8 byte cap is token_budget × 4; estimated_tokens is a byte-based heuristic, not tokenizer-guaranteed. Zero produces empty context.",
      +  "type": "integer"
      +}
    • addedInput schema / properties / track
      Added value: +{
      +  "description": "Optional track slug to surface prior crystallized codex memories and select the latest prior session on this track",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[]
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "description": "Recent turns plus the latest checkpoint handoff for the prior session.",
      -  "properties": {
      -    "checkpoint": {
      -      "description": "Latest checkpoint handoff, or null",
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "checkpoint_id": {
      -      "description": "Memory UUID of the checkpoint, or null",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "count": {
      -      "description": "Turns returned",
      -      "type": "integer"
      -    },
      -    "max_content_bytes": {
      -      "description": "Per-turn byte cap applied",
      -      "type": "integer"
      -    },
      -    "max_response_bytes": {
      -      "description": "Total response byte budget applied",
      -      "type": "integer"
      -    },
      -    "previous_session": {
      -      "description": "Session the turns were read from",
      -      "type": "string"
      -    },
      -    "status": {
      -      "description": "Operation status",
      -      "type": "string"
      -    },
      -    "truncated": {
      -      "description": "Whether the response hit its byte budget",
      -      "type": "boolean"
      -    },
      -    "turns": {
      -      "description": "Turns (memory_id, role, turn_type, sequence, content, content_bytes, content_truncated, importance)",
      -      "items": {
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "turns_omitted": {
      -      "description": "Turns dropped by the response budget",
      -      "type": "integer"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed1 schema field changed
    • addedInput schema / properties / include_briefing_text
      Added value: +{
      +  "description": "Include the ready-to-inject briefing.text block (default false; adds bytes outside the turns budget)",
      +  "type": "boolean"
      +}
  4. Changed2 schema fields changed
    • changedOutput schema / description
      Previous value: -"Result envelope for this tool; fields vary by operation."New value: +"Recent turns plus the latest checkpoint handoff for the prior session."
    • addedOutput schema / properties
      Added value: +{
      +  "checkpoint": {
      +    "description": "Latest checkpoint handoff, or null",
      +    "type": [
      +      "object",
      +      "null"
      +    ]
      +  },
      +  "checkpoint_id": {
      +    "description": "Memory UUID of the checkpoint, or null",
      +    "type": [
      +      "string",
      +      "null"
      +    ]
      +  },
      +  "count": {
      +    "description": "Turns returned",
      +    "type": "integer"
      +  },
      +  "max_content_bytes": {
      +    "description": "Per-turn byte cap applied",
      +    "type": "integer"
      +  },
      +  "max_response_bytes": {
      +    "description": "Total response byte budget applied",
      +    "type": "integer"
      +  },
      +  "previous_session": {
      +    "description": "Session the turns were read from",
      +    "type": "string"
      +  },
      +  "status": {
      +    "description": "Operation status",
      +    "type": "string"
      +  },
      +  "truncated": {
      +    "description": "Whether the response hit its byte budget",
      +    "type": "boolean"
      +  },
      +  "turns": {
      +    "description": "Turns (memory_id, role, turn_type, sequence, content, content_bytes, content_truncated, importance)",
      +    "items": {
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "turns_omitted": {
      +    "description": "Turns dropped by the response budget",
      +    "type": "integer"
      +  }
      +}
  5. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is largely covered, but the description never explains why a 'Recall' is not read-only (e.g., it may persist a continuity record) — an agent could be surprised by side effects. It does usefully disclose what gets surfaced, but says nothing about cost, latency, or payload size for the returned blocks.

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?

A single front-loaded sentence with no filler; every listed item names an actual returned section. Slightly dense with domain jargon (DiAML arcs, track crystals) that an unfamiliar agent must infer, which keeps it off a 5.

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 10 optional parameters and no output schema, the description carries the burden of describing return content, and it does enumerate the returned blocks. What is missing is any hint of the response shape (agent_context.text, briefing.text) or ordering, though the schema's parameter text partly compensates.

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 description coverage is 100% across all 10 parameters (n, since/until, track, token_budget, byte caps), so the schema carries parameter meaning fully. The description only indirectly hints at parameters by naming outputs like 'track crystals', adding little beyond the structured fields; baseline 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?

The verb 'Recall' plus a concrete scope ('where the previous session left off') and an explicit enumeration of the returned blocks (recent turns, anchors, DiAML arcs, crystals, checkpoints, queues) makes the purpose unambiguous. However, it never distinguishes itself from the very close sibling session.recall, nor from session.replay/digest/checkpoint, so an agent cannot tell from the description alone which of these to pick.

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?

The phrase 'where the previous session left off' implicitly signals the resumption/start-of-session scenario, which is the only usage cue. There is no explicit when-to-use, no exclusions, and no named alternative despite six session.* siblings with overlapping recall semantics.

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