Skip to main content
Glama

tee

Destructive

Duplicate stdin to both files and stdout simultaneously. Use to capture intermediate pipeline data while allowing data to pass through. Supports append and dry-run preview.

Instructions

Read stdin and write simultaneously to files and stdout with dry-run and append support. Destructive: writes to specified output files. Use --dry_run to preview. Use --append to add to files instead of overwriting. Returns JSON with output paths and byte counts. Use to capture intermediate pipeline data while passing it through. Not for simple file writing without passthrough — use redirection or 'cp'. For secure overwriting use 'shred'. See also 'cat', 'echo'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appendNoAppend instead of replacing.
dry_runNoReport operations without writing files.
max_preview_bytesNoMaximum JSON preview bytes.
parentsNoCreate missing parent directories.
pathsNoFiles to write.
rawNoEcho stdin to stdout without a JSON envelope.
Behavior4/5

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

Annotations already indicate destructiveHint=true. Description adds specific behavior: writes to output files (destructive), dry_run preview, append mode, and return JSON with paths and byte counts. No contradictions. Could add more details about file overwrite defaults but sufficient.

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?

Five sentences, each carrying distinct value: core purpose, destructive warning, mode usage, return value, and usage guidelines with alternatives. No wasted words.

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?

Despite no output schema, description explains return format (JSON with output paths and byte counts). All major aspects covered: purpose, behavior, parameters, usage scenarios, and alternatives. Adequate for agent invocation.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 6 parameters with 100% description coverage. Description only reiterates dry_run and append behavior already in schema, adding no new parameter meaning. Baseline 3.

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?

Description clearly states the tool reads stdin and writes simultaneously to files and stdout. It distinguishes from related tools like cp and shred by noting that tee is for passthrough capture, not simple writing or secure overwrite.

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 states when to use (capture intermediate pipeline data while passing through), when not to use (simple writing without passthrough), and provides alternatives (redirection, cp, shred). Also covers dry-run and append modes.

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/caseSHY/AI-CLI'

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