Skip to main content
Glama
johnhenry

mallory-grapher

by johnhenry

session_resume

Resume a session from a session_snapshot, opening it fresh with default resource guards and no inherited capabilities; pass capabilities to grant them.

Instructions

Reconstruct a session from a session_snapshot document. A resumed session is freshly opened, not re-authorized from wherever it paused -- every existing resource guard (session/cell/payload limits) applies exactly as it would to session_open, and capabilities (issue #7) are NOT carried forward from the original session: pass this call's own optional capabilities to grant any, default none.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
snapshotYes
capabilitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.0.1

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses that resource guards (session/cell/payload limits) apply exactly as for session_open, and the critical gotcha that capabilities are NOT carried forward from the original session, defaulting to none unless passed explicitly. This is exactly the non-obvious behavior an agent needs.

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?

Front-loaded with the core action, then the behavioral caveats. Dense but every sentence earns its place except the minor '(issue #7)' aside. Slightly long for a two-parameter tool but no real waste.

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?

No output schema exists, and the description does not state what a resumed session returns, but it thoroughly covers the behavioral risks. The main gap is the undocumented nested snapshot structure, which is not explained in either schema or description.

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 0%, so the description must compensate. It explains the optional 'capabilities' parameter semantics well ('pass this call's own optional capabilities to grant any, default none'), but the required nested 'snapshot' object (v, kind, free, defines) is described only as a 'session_snapshot document' with no field-level meaning.

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?

States a specific verb and resource ('Reconstruct a session from a session_snapshot document') and immediately differentiates it from session_open by clarifying the session is 'freshly opened, not re-authorized from wherever it paused.' An agent can distinguish it from session_snapshot (creates the doc) and session_open (starts fresh) without opening a schema.

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?

Clearly establishes the context of use (given a session_snapshot document) and implicitly contrasts with session_open via the 'freshly opened' framing. It does not explicitly state when NOT to use it or name session_open as the alternative, so it stops short of full when/when-not guidance.

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