Skip to main content
Glama
KevinBuettner

docent-terminal-mcp

search

Read-only

Scan a tmux session's logged output for regex or literal matches without reading it all. Get total hit counts plus line numbers, context, and regions for build errors, test failures, or trace values.

Instructions

Search session output (regex by default) without reading it all: what grep would do on a log file you had redirected to. Use it for a build's errors, a testsuite's FAIL lines, a value in a long trace -- after the command, or while it still runs.

Reports the total number of matching lines (so you know whether you saw them all), then up to max_results of them (after skipping skip), each with context lines around it, its line number (the number read start= takes) and the region it belongs to. Restrict to one region with region.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skipNohits to skip first, for paging (the reply's "[more: skip=N]")
regionNosearch only this region's output; default: the whole session log
contextNolines shown before and after each hit (0: the hit alone)
literalNotake `pattern` as plain text, not a regex
patternYesPython regex, tried against each line of the cooked log on its own (^ and $ anchor a line); the reply gives the total number of matching lines, then the hits in log order with their line numbers (usable as `read start=`) and regions
sessionYesthe session's name (from session_create or session_list)
ignore_caseNomatch case-insensitively
max_resultsNohits to show per call; the reply says how many there are in all

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

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 readOnlyHint=true already covering safety, the description adds substantial behavioral detail: it reports total matching lines, then up to max_results after skip, with context lines and line numbers/regions. This tells the agent what the operation returns and how paging behaves, beyond the annotation.

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?

Front-loads the purpose and intended use, then devotes the second paragraph to output contract and key options. The prose is dense but every sentence contributes to selection or invocation.

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?

For an 8-parameter read-only search tool with an output schema, the description covers purpose, use cases, output shape, paging, and region restriction. Missing details about literal/ignore_case/session are already supplied by the schema, so nothing essential is absent.

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 defines all eight parameters; the description still adds meaning for pattern, max_results, skip, context, and region, including that regex is default and line numbers map to read start=. It does not add much for literal, ignore_case, or session beyond what the schema says.

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: search session output, regex by default, analogous to grep on a redirected log. It also distinguishes the operation from reading everything by saying it works 'without reading it all' and by pointing to line numbers usable with read start=.

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?

Gives concrete usage scenarios (build errors, testsuite FAIL lines, a value in a long trace) and notes it can be used after or during a command. It implies the alternative is reading the whole log, but does not explicitly name when not to use it or lay out sibling alternatives.

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