Skip to main content
Glama

Configure Key Auth

tm_inventory_configure_key_auth

Configures SSH key authentication across hosts in a YAML inventory group, distributing a shared key to enable passwordless access. Returns resolved hosts so you can verify scope before bulk changes.

Instructions

Configure key auth (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.3/5.0
Behavior2/5

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

The annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, but the description adds nothing to them: it never states that SSH keys are written to files or hosts, that a target group is contacted over the network, whether existing keys are overwritten, or what authorization is needed. Its second sentence even broadens the claimed scope to 'bulk inventory operations', which is a different behavior from key auth.

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 only two short sentences, so it has no verbosity problem. However, the second sentence is generic family boilerplate that conflicts with the operation name, so it does not earn its place and actively misdirects rather than front-loading useful scope.

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, multi-mode tool that writes SSH keys into an inventory, two sentences are far too thin. The output schema exists, so return values need not be explained, but the description still omits which parameter selects which operation and what the tool actually changes on disk or across hosts.

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%, and the schema's parameter text (notably for 'host' and 'preview') is far richer than the description, so the baseline of 3 applies. The description adds nothing about parameter semantics and does not explain the multi-operation dispatch that its 16 flat parameters imply.

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?

The first sentence, "Configure key auth (tm_inventory)," simply restates the tool name and title. The second sentence, "Bulk inventory operations against YAML host groups," describes the whole inventory tool family rather than this key-auth operation, and it conflicts with the name; it does not distinguish this tool from siblings such as tm_inventory_rotate_key, tm_inventory_copy_ssh_config, tm_remote_setup_passwordless, or tm_remote_test_key_auth.

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?

The description contains no when-to-use guidance, no prerequisites, and no named alternative. Nothing tells the agent why it would pick this over tm_remote_test_key_auth or tm_remote_setup_passwordless, and it never explains that the 16 parameters are mode-selecting (key vs cmd vs cfg vs lpath), so an agent cannot infer what to call from the text.

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