Skip to main content
Glama

Read my last turn

read_my_last_turn
Read-onlyIdempotent

Read the latest LLM turn in numbers: prompt and cached tokens, prefill and generation speed, stop reason, context use, VRAM fit, and prompt cache mismatch. Use it to budget the next call.

Instructions

What exactly happened on your latest turn through LLMxRay, in numbers: prompt tokens and cached share, prefill time and speed, generated tokens and speed, stop reason, prompt make-up (system, tools, history, new message), context requested, VRAM fit, and where the prompt stopped matching the previous turn. Four tools read your turns, one question each: diagnose_my_turns, is anything wrong (a verdict over several turns); read_my_last_turn, what exactly happened on the latest turn (one turn in full); list_my_turns, what happened turn by turn (the sequence, one line each); compare_my_turns, did a change help (before against after). Use it to budget the next call. For what is installed and loaded use list_local_models. Returns text, one fact per line. Explains how to route through 11435 when no turn was seen. client: a substring of the label LLMxRay shows, which is the name you set in X-LLMxRay-Client. On a shared machine the latest turn may be another tool's, so pass your own name. Omit it when you are the only caller. Needs LLMxRay running (npx llmxray) and says so if not. Under a second, from records already kept. No model is called.

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": "read_my_last_turn"
  }
}

Input Schema

NameRequiredDescriptionDefault
clientNoPart of the client label or id, case-insensitive substring. Omit for the latest turn from any client.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.9
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Addedv0.8.5

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the safety profile (readOnly, idempotent, non-destructive, closed-world); the description adds traits beyond that: the LLMxRay runtime dependency ('Needs LLMxRay running (npx llmxray) and says so if not'), latency ('Under a second, from records already kept'), absence of side effects ('No model is called'), the output shape ('text, one fact per line'), and the empty-state behavior ('Explains how to route through 11435 when no turn was seen'). This is unusually complete behavioral disclosure for a read tool.

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?

The fact list, sibling routing table, usage line, and parameter guidance are all load-bearing and the scope statement is front-loaded. It is dense and slightly long, and the line about routing through 11435 is terse enough to be mildly cryptic, but nothing is redundant filler.

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?

With no output schema, the description compensates by describing the return format and empty-state behavior. It covers the runtime prerequisite, expected latency, side-effect profile, and the one optional parameter's intent, leaving nothing an agent needs in order to call 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 schema already explains the substring/omit semantics, so the baseline is 3. The description goes further by explaining the rationale the schema omits: the label is the name set via X-LLMxRay-Client, and on a shared machine the latest turn may belong to another tool, so you should pass your own name. That is genuine added meaning, though it does not cover case-sensitivity or matching edge cases.

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 precise verb and resource ('what exactly happened on your latest turn') and enumerates the concrete facts returned (prompt tokens and cached share, prefill time/speed, generated tokens/speed, stop reason, prompt make-up, context requested, VRAM fit, first divergence). It explicitly positions itself against all three siblings by naming each and the single question it answers, so an agent can distinguish it without opening another schema.

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?

It gives an explicit when-to-use ('Use it to budget the next call'), an explicit when-to-use-something-else ('For what is installed and loaded use list_local_models'), and a routing table that assigns one question to each of the four turn-reading tools. The condition that selects this tool (one turn in full) versus diagnose/list/compare is stated outright.

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