Skip to main content
Glama
WilliamSmithEdward

ssh-for-agents

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SSH_AGENT_CONFIGNoPath to the hosts.json configuration file. If not set, the server looks for hosts.json in the working directory.hosts.json

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_hostsA

List the SSH hosts this server can reach and the active safety policy.

Call this first: use the returned alias values as the host argument for the other tools. Never guess a hostname or IP — only configured aliases work.

check_commandA

Dry-run the safety policy for a command without executing it.

Returns the verdict (allow / needs_confirmation / block), a human-readable reason, and which rules matched. Use this to understand why a command would be refused before calling run_command.

run_commandA

Run one shell command on an SSH host, subject to the safety policy.

host must be an alias from list_hosts (not a raw hostname/IP). Read exit_status, stdout, and stderr from the result. The result status:

  • "ok": executed.

  • "needs_confirmation": destructive command — explain it to the user and only re-call with confirm=true after they approve; do not retry blindly.

  • "blocked": catastrophic; cannot run — use a safer approach.

  • "error": see reason (unknown host, timeout, connection failure).

Args: host: Alias of a configured host (call list_hosts to discover them). command: A single shell command to execute. confirm: Authorize a command previously flagged needs_confirmation. timeout: Per-command timeout in seconds (defaults to policy setting).

read_fileA

Read a remote file's contents over SFTP (size-capped).

Args: host: Alias of a configured host. path: Absolute or relative remote path. max_bytes: Max bytes to read (defaults to policy max_output_bytes).

list_dirB

List the entries of a remote directory over SFTP.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: check_command is for policy dry-run, list_dir for directory listing, list_hosts for host discovery, read_file for file reading, and run_command for command execution. There is no overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., check_command, list_dir) using snake_case. No mixing of conventions.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose of secure SSH command execution with file reading and directory listing. Each tool serves a necessary role without redundancy.

Completeness4/5

The tools cover the core workflow of host discovery, command safety checking, command execution, and file reading. However, there is a notable gap: no tool for writing or uploading files, which may limit some use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues