Skip to main content
Glama

session_handoff

Idempotent

Save session state by recording accomplishments, next steps, and unfinished task IDs, allowing future agents to resume work without losing context.

Instructions

CALL THIS LAST before your session ends, saves state for your next session.

Stores what you did, what's in progress, and what to do next. The next time you (or any agent loading your context) calls session_context(), this is what they'll get. Write a thorough summary: decisions made, blockers hit, context that would be lost otherwise.

Args: summary: What you accomplished this session. Be specific, this is your only record. next_steps: What to do in the next session, in order of priority. in_progress: Task IDs that are currently claimed and not yet completed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
summaryYesWhat you accomplished this session. Be specific, this is your only record.
next_stepsNoWhat to do in the next session, in order of priority.
in_progressNoTask IDs that are currently claimed and not yet completed.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.47.0
    • changedInput schema / properties / summary / description
      Previous value: -"What you accomplished this session. Be specific — this is your only record."New value: +"What you accomplished this session. Be specific, this is your only record."
  2. Addedv0.17.0
  3. Removedv0.16.1
  4. Addedv0.9.0
  5. Removedv0.7.0
  6. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations provide idempotentHint=true and destructiveHint=false, so the safety profile is already covered. The description adds useful behavioral context: it persists a summary, next steps, and in-progress task IDs, and explicitly states that this is the only record of the session's accomplishments. This goes beyond the annotations without contradicting them.

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?

The description is front-loaded with the critical action ('CALL THIS LAST'), followed by a concise functional overview and per-argument guidance. Every sentence adds value, and there is no filler or repetition of schema metadata.

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 state-saving handoff tool, the description covers purpose, timing, persistence behavior, retrieval via session_context, and parameter semantics. With an output schema present and annotations covering safety and idempotency, nothing essential is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description reinforces each parameter. It adds extra guidance beyond the schema, particularly for summary: 'Be specific, this is your only record' and 'decisions made, blockers hit, context that would be lost otherwise.' This gives the agent a clearer sense of how to fill the parameter.

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?

The description states a specific verb and resource: 'saves state for your next session.' It clearly differentiates from the sibling session_context, which retrieves the state, by explaining the handoff stores context that session_context later returns.

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

Usage Guidelines5/5

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

The description explicitly instructs when to invoke the tool: 'CALL THIS LAST before your session ends.' It also explains the relationship to session_context, telling the agent that the next session's context will come from this call, which provides clear when-to-use guidance.

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