Skip to main content
Glama

Diff Compare

tm_file_diff_compare
Read-onlyIdempotent

Compare the same file on two remote SSH hosts to identify content differences for troubleshooting or sync validation.

Instructions

Diff compare (tm_files). Advanced file operations on remote hosts.

Input Schema

NameRequiredDescriptionDefault
modeNoPermission mode (recursive_ops/chmod).755
groupNoGroup (recursive_ops/chown).
host1NoFirst host (diff_compare).
host2NoSecond host (diff_compare).
ownerNoOwner (recursive_ops/chown).
sourceNoSource path (recursive_ops).
patternNoSearch pattern (content_search).
durationNoMonitor duration secs (watch).
usernameNoSSH username.
file_pathNoFile path to compare (diff_compare).
operationNoOperation type: copy, move, delete, list, chmod, chown (recursive_ops).
recursiveNoRecursive search (content_search).
backup_destNoBackup destination (backup).
compressionNoEnable compression (backup).
destinationNoDestination path (recursive_ops/copy/move).
incrementalNoIncremental backup (backup).
max_resultsNoMax results (content_search).
remote_hostNoRemote host.
watch_pathsNoPaths to monitor (watch).
backup_pathsNoPaths to backup (backup).
password_refNoRuntime secret reference for the SSH password.
search_pathsNoDirectories to search (content_search).
identity_fileNoSSH identity file path.
case_sensitiveNoCase-sensitive (content_search).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.3.1

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – no mention of SSH auth requirements (username, identity_file, password_ref), no disclosure of what a diff returns or how hosts are reached. "Advanced file operations" is loose enough to imply mutation, which sits awkwardly against readOnlyHint=true, though it never explicitly claims a write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, so it is not bloated, but the second sentence earns nothing and actively dilutes the diff-compare focus. Front-loading is fine; the content is the problem, not the length.

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?

With 24 optional parameters drawn from six different operations and no required fields, the agent needs the description to say which subset applies to diff compare and what the comparison result looks like. An output schema and annotations exist, which relieves some burden, but the description still leaves the core calling pattern unexplained.

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 description coverage is 100%, so the schema already documents all 24 parameters and the baseline is 3. The description's only gesture toward parameters is "remote hosts," which hints at host1/host2 but adds no real semantics. Notably it does not disambiguate the union schema – an agent must infer from the schema's own parentheticals that only host1, host2, and file_path matter here.

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

Purpose2/5

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

"Diff compare (tm_files)" simply restates the tool name, and the follow-on "Advanced file operations on remote hosts" is a vague catch-all that gives no specific verb+resource beyond the title. It never says what is compared (host1 vs host2, or file_path across hosts), so an agent learns nothing it didn't already get from the name.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all, despite a dense sibling set (tm_file_recursive_ops, tm_file_content_search, tm_file_watch, tm_file_backup) that all share this same 24-parameter union schema. Nothing tells the agent to pick this tool for host-to-host diffing rather than the other tm_file_* tools.

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