Skip to main content
Glama

dsh_read

Fetch live runtime output from running conversations incrementally via cursor-based polling, so you can monitor active sessions before a turn finishes.

Instructions

读会话的运行期输出(游标式增量)——用它可以看到"正在跑的会话"当前吐出了什么,不必等回合结束。典型用法:dsh_list(only_running) 找到在跑的会话 → 反复 dsh_read 并回传上次的 cursor,就能像切换窗口一样轮流观察多个会话。输出缓冲只在内存里且有界(环形,满则丢最旧),服务/进程退出即消失;思考内容不进缓冲——只有 include_reasoning=true 时才会附带"当前正在跑那一轮"的实时思考。

Input Schema

NameRequiredDescriptionDefault
limitNo单次最多返回多少条,默认 200。
cursorNo上次返回的 cursor;首次不传或传 0。
conversation_idYes会话 id,来自 dsh_start 或 dsh_list。
include_reasoningNo附带当前回合的实时思考内容,默认 false。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/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: the buffer is in-memory, bounded, ring-shaped, drops the oldest entries when full, and disappears when the service/process exits. It also discloses that reasoning is excluded from the buffer unless include_reasoning=true, and that only the currently running turn's reasoning is attached.

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 purpose and the cursor/polling model, with buffer caveats after. Dense but every clause carries information; the parenthetical bolding and workflow sentence are slightly heavy but not wasteful.

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?

Covers the behaviors that determine correct invocation: polling with cursors, bounded retention, and the reasoning flag. With no output schema, it does not describe the shape of returned entries or the cursor field in the response, a minor remaining gap.

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 the baseline is 3; the description adds genuine meaning beyond it by explaining the cursor round-trip pattern (pass the previous cursor) and the exact semantics of include_reasoning (only the in-flight turn's live reasoning). Limit and conversation_id are left to the schema, which is acceptable at this coverage.

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 (read a conversation's runtime output), plus the key qualifier that it is cursor-based incremental. Explicitly frames itself against the alternative workflow of waiting for a turn to finish, so an agent can tell why this tool exists versus dsh_get or a blocking call.

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?

Gives a concrete step-by-step scenario: run dsh_list(only_running) to find live conversations, then poll dsh_read repeatedly, passing back the previous cursor, to rotate across multiple sessions. That is explicit when-to-use guidance naming the sibling tool to start from.

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