Skip to main content
Glama

Receive File

tm_inventory_receive_file

Receive a file from remote hosts in a YAML inventory group to a local path, enabling bulk retrieval of files across one host or the whole group.

Instructions

Receive file (tm_inventory). Bulk inventory operations against YAML host groups.

Input Schema

NameRequiredDescriptionDefault
cfgNoLocal SSH config path (copy_ssh_config).
cmdNoShell command (run_command).
keyNoShared key path (configure_key_auth)./app/.ssh/id_ed25519
hostNorun_command only. Optional single-host alias to target instead of the whole 'group' fan-out — the safe way to reach ONE inventory host (e.g. 'gb10') without running against 'homelab'. Resolved and authorized through the same alias store tm_remote/tm_hosts use, so the two are one source of truth: an unknown or unauthorized alias is rejected outright, never silently skipped. Takes precedence over 'group' when set.
groupNoTarget group.all
lpathNoLocal file path (send_file).
rpathNoRemote file path (send_file/receive_file).
key_pfxNoPrefix for new keys (rotate_key)./root/.ssh/id_
previewNorun_command only. If true, resolve the exact target host(s) for 'host'/'group' and return them in 'resolved_hosts' WITHOUT running 'cmd' — lets a caller verify scope before executing for real (no surprise fan-out). The real (non-preview) response also always includes 'resolved_hosts' for the same reason.
rmt_cfgNoRemote config path (copy_ssh_config)./root/.ssh/config
timeoutNoCommand timeout in seconds.
key_typeNoKey type: rsa or ed25519.ed25519
parallelNoRun parallel.
inventoryNoYAML inventory path (default: $XDG_CONFIG_HOME/agent-connectors/inventory.yaml)./root/.config/agent-connectors/inventory.yml
max_threadsNoMax threads.
lpath_prefixNoLocal dir prefix (receive_file).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.3.1

TDQS

C2.5/5.0
Behavior2/5

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

The annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the agent already knows this is a non-idempotent, non-destructive outward-facing operation. The description adds nothing: it does not say whether existing local files are overwritten, how fan-out across the group is handled, what happens on partial failure, or how parallel/max_threads affect behavior.

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?

The description is short and front-loaded, so it is not bloated, but the second sentence is boilerplate shared with the whole tm_inventory family and carries no tool-specific information. It is concise without being informative.

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 16-parameter file-transfer tool with no required parameters, no enum constraints, and a schema salted with run_command-only options, the description needed to say at minimum which parameters govern a receive_file call and what the source/target semantics are. It supplies none of that; even the existence of an output schema does not compensate for the missing operational contract.

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 16 parameters are documented in the schema itself and the baseline of 3 applies. The description contributes no additional parameter meaning, and notably several schema entries (host, preview, cmd) are scoped to "run_command only", leaving the agent to infer which of the 16 knobs actually matter for a receive-file call.

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

Purpose3/5

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

The description restates the tool name ("Receive file") and adds only a generic family tagline, "Bulk inventory operations against YAML host groups." It never says receive a file from which inventory host(s) to where locally, nor how this differs from the sibling tm_remote_receive_file or from tm_inventory_send_file. An agent can guess the general area but not the specific operation.

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, no exclusion, and no mention of alternatives such as tm_remote_receive_file (single host) or tm_inventory_send_file (opposite direction). With 38 sibling tools in the same listing, the absence of any routing signal is a real gap.

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