Skip to main content
Glama

msf_process_read

Read-only

Reads spooled process output at a byte offset without consuming it, returning base64 data and next_offset for continuing stdout or stderr reads.

Instructions

Read lossless spooled output at a byte offset, without consuming it.

data is base64 bytes; text is a display-only UTF-8 decoding. Use next_offset to continue reading. Pipe mode separates stdout/stderr; PTY merges them into stdout. eof means the process exited and this stream has been read. A process timeout/cancellation never implicitly replays or stops it.

Input Schema

NameRequiredDescriptionDefault
offsetNo
streamNostdout
max_bytesNo
process_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses important behavior: reads are non-consuming, data is base64 bytes while text is display-only UTF-8, pipe mode separates stdout/stderr, PTY merges them, and timeout/cancellation never implicitly replays or stops the process. This is rich behavioral context that an agent needs to interpret results correctly.

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 tightly front-loaded: the core read semantics appear first, followed by concise notes on data/text representation, continuation, stream modes, and eof. Every sentence adds useful information without 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?

An output schema exists, so the description need not explain return values, and it covers most non-obvious behavioral traits. The main gap is the unexplained max_bytes parameter, which leaves some invocation details incomplete.

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

Parameters2/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 carry parameter meaning. It clarifies offset via 'byte offset' and next_offset, and indirectly explains stdout/stderr for the stream parameter, but max_bytes and process_id are not explained at all.

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 gives a specific verb and resource: read lossless spooled output at a byte offset without consuming it. This clearly distinguishes it from sibling write/close tools such as msf_process_write and msf_process_close.

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?

It gives clear operational guidance: use next_offset to continue reading, and eof means the process exited and the stream has been read. It also explains pipe versus PTY stream behavior. It does not explicitly name alternatives or exclusion cases, so it falls short of a 5.

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