Skip to main content
Glama

lb_shell_input

Destructive

Send a line of input to an active terminal session to control a running process or provide data when a command prompts for it.

Instructions

Send a line of stdin to an active persistent terminal session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
process_idYes
stdin_textYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the description's job is to add behavioral context beyond that. The description does not disclose what happens to the session after input, whether the input is echoed, whether it blocks, or any side effects. It also does not mention that sending input to a persistent session may have irreversible effects, which is important given the destructive hint.

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 description is a single sentence with no wasted words, and the core action is front-loaded. It is appropriately concise, though it could have used the available space to add parameter or usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that sends input to a persistent shell session, the description is incomplete. It does not explain how to identify the session (process_id), what happens if the session is inactive, or how this relates to lb_shell_output and lb_shell_sessions. With no output schema and no parameter documentation, an agent has limited guidance for correct invocation.

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 compensate for the two parameters. It does not explain what process_id refers to (e.g., how to obtain it from lb_shell_sessions) or what format stdin_text should take (e.g., whether newlines are appended). The description adds no meaning beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Send') and resource ('a line of stdin to an active persistent terminal session'), which clearly distinguishes it from sibling tools like lb_run_shell or lb_shell_output. It lacks a title but the description is unambiguous about the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('active persistent terminal session') but does not explicitly state when to use this tool versus alternatives like lb_run_shell or lb_shell_kill. It gives no exclusions or conditions, so an agent must infer that this is for interacting with an already-running session rather than starting a new one.

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