Skip to main content
Glama
kuklaph
by kuklaph

Read cached MCP response slice

cascade_read_response
Read-onlyIdempotent

Retrieve a chunk of a long MCP response using a cached handle. Continue reading from a given offset or specify a byte range to fetch targeted data.

Instructions

Retrieve a slice of a cached MCP response by handle (cascade_read_response).

When a Cascade tool response exceeds the MCP character budget, the server caches the complete payload and returns a handle in structuredContent._cache.handle plus a preview in the text block. Use cascade_read_response to fetch the rest — either the remainder in chunks, or a targeted byte range if you know the structure.

Args:

  • handle (string, required): The handle returned by a prior tool call's structuredContent._cache.handle (e.g. "h_550e8400-...").

  • offset (number, optional, default 0): Byte offset within the full rendered response. Use the originating call's bytes_returned as the next offset, or structuredContent._cache.next_offset when iterating.

  • length (number, optional, default 25000): Max characters to return in this slice. Capped at 25000.

Returns: { success: true, handle: "", bytes_total: , offset: , bytes_returned: , slice_text: "", has_more: , next_offset: <offset to use next, if has_more> } The same JSON object is returned in content[0].text and structuredContent; slice_text contains the response slice.

Examples:

  • Continue reading: { handle: "h_abc...", offset: 20000 }

  • Specific byte range: { handle: "h_abc...", offset: 50000, length: 10000 }

  • Don't use when: The originating response fit under the limit (no handle was minted).

  • Don't use when: The handle is older than 50 oversize responses back (LRU-evicted); re-run the originating tool.

Error Handling:

  • "Handle not found" — the handle was evicted (cache holds the last 50 oversize responses) or never existed. Re-run the originating tool. Responses are JSON text; structuredContent is authoritative when the response fits. Oversized responses return bounded _cache metadata for cascade_read_response. For cascade_read, read_mode controls preview versus raw Cascade payload shape.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
handleNoREQUIRED: Response handle returned by a previous oversize tool call. Found in structuredContent._cache.handle (e.g. 'h_550e8400-e29b-41d4-a716-446655440000').
offsetNoByte offset to start the slice. Default 0. Use the previous call's next_offset to continue iterating.
lengthNoMaximum characters to return in this slice. Default and max 25000. Smaller slices are fine; iterate via next_offset.
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive. The description adds valuable behavioral context: caching mechanism (last 50 oversize responses), LRU eviction, error strings, and that slice_text contains the response. It does not contradict annotations.

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?

Well-organized with sections: summary, parameter details, return format, examples, error handling. No wasted sentences; every part adds value. Concise for the information provided.

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?

Given the tool's complexity (caching, slicing, error states) and lack of output schema, the description fully equips an agent to use it correctly: parameter semantics, return structure, iteration pattern, and eviction handling are all covered.

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%, so baseline is 3. The description adds context: handle source (structuredContent._cache.handle), offset usage (use next_offset), length cap (25000), and default values. This goes beyond schema descriptions.

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 clearly states the tool retrieves a slice of a cached MCP response by handle, with specific context about when it's needed (oversize responses). This distinguishes it from all sibling cascade tools, which are for asset operations or other functions.

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?

Explicitly explains when to use (response exceeds budget, handle returned) and when not to use (response fit under limit, handle evicted). Provides examples and error handling guidance, including re-running the originating tool if handle is missing.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kuklaph/cascade-cms-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server