Skip to main content
Glama
priesdelly

WinTerminal MCP Server

by priesdelly

Read Terminal Output

read_terminal_output
Read-onlyIdempotent

Read a terminal session's captured output, with escape codes removed and progress bars collapsed. Optionally wait for the output to stabilize before returning, ensuring command results are ready.

Instructions

Reads a session's captured output transcript: everything the shell has printed since the session opened, with terminal escape/color codes stripped and carriage-return line-rewrites (progress bars, spinners) collapsed to their final state.

Args:

  • session (string): which session to read (default "default")

  • lines (number): trailing lines to return, 0 = everything captured so far (default 0)

  • waitForIdleMs / timeoutMs: optionally wait for output to stop changing (a heuristic for "the command probably finished") before returning; without this the call returns immediately with whatever has been captured so far

Returns: { text, truncated, idleReached, timedOut }. Long output is truncated from the start (oldest lines dropped first) to maxOutputChars (see config.json); truncated is true when that happened.

Note: this is a plain-text transcript, not a full terminal screen emulation - a full-screen app (vim, htop) that repaints the same screen region repeatedly will show as a scrolling log of each repaint, not one clean frame.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
linesNoHow many trailing lines of visible output to return. 0 (default) returns everything currently visible/scrolled-into-view.
sessionNoSession name to read from.default
timeoutMsNoMax total time to spend polling when waitForIdleMs > 0.
waitForIdleMsNoIf > 0, poll the terminal until its visible text stops changing for this many ms (useful for waiting until a command likely finished), up to timeoutMs.
Install Server

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond the readOnly/idempotent annotations, disclosing that escape codes are stripped, carriage-return rewrites are collapsed, output may be truncated from the start, polling behavior depends on waitForIdleMs, and full-screen apps appear as scrolling logs. This gives the agent an accurate model of the tool's quirks.

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 efficiently front-loaded with the core purpose, then systematically covers arguments, return shape, and the most important caveat. Every sentence adds useful information without padding or repetition.

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?

There is no output schema, so the description responsibly documents the return object fields, truncation behavior, and the full-screen repaint limitation. An agent has enough information to call this tool correctly and interpret its results in context.

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 schema already documents all parameters. The description adds valuable meaning by explaining the 'wait for output to stop changing' heuristic and clarifying that lines=0 means everything captured so far, which enriches the bare schema definitions.

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 begins with a specific verb and resource: 'Reads a session's captured output transcript'. It clearly distinguishes itself from sibling write/control tools and even clarifies it is not a full terminal screen emulation, leaving no ambiguity about what the tool does.

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?

The description clearly positions this as the read-only counterpart to terminal-write tools and explains when to use waitForIdleMs as a heuristic for waiting until a command finishes. It does not explicitly name alternatives or state when not to use it, but the context and sibling list make the intended use obvious.

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

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/priesdelly/Win-Terminal-MCP'

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