Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OCTSSH_SHELLNoShell to use on Windows in serve mode (e.g., 'powershell')
OCTSSH_SERVE_KEYNoFixed authentication key for serve mode (otherwise random)
OCTSSH_SERVE_HOSTNoHost to listen on in serve mode (default: 127.0.0.1)
OCTSSH_SERVE_PORTNoPort to listen on in serve mode (default: 8787)
OCTSSH_TOOL_PREFIXNoPrefix for tool names to avoid collisions (e.g., 'us1_')

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
listA

List configured SSH hosts from local ssh_config. Optionally return cached extended fields.

infoA

Get cached (or refreshed) extended info for a machine via SSH.

execB

Execute a command on a machine (no sudo).

sudo-execB

Execute a command on a machine using passwordless sudo (sudo -n).

exec-asyncB

Execute a long-running command in background (remote screen session).

exec-async-sudoC

Execute a long-running command in background using passwordless sudo.

uploadA

Upload a file or directory to the remote machine. Refuses to overwrite unless confirm_code is provided after a conflict preview.

downloadA

Download a file or directory from the remote machine. Never overwrites local files; on conflict, you must choose a new local directory.

upload-asyncB

Async upload. Only creates a session if the transfer actually starts. Uses the same overwrite confirmation logic as upload.

download-asyncB

Async download. Only creates a session if the transfer actually starts. Never overwrites local files.

get-resultB

Get async command status; optionally tail last N lines from logs.

grep-resultC

Search async stdout/stderr logs by pattern.

write-stdinB

Write data to a running async session stdin. Works for exec-async sessions (remote screen).

cancelB

Terminate a running async session by session_id (signal is optional).

sleepA

Sleep for a duration (ms).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 15 tools

Disambiguation4/5

Most tools are clearly distinct: exec vs exec-async vs sudo variants separate sync/async and privilege. A few pairs could cause confusion, such as list vs info (both fetch host data) and get-result vs grep-result (both inspect async logs), but descriptions clarify their different purposes.

Naming Consistency4/5

Tool names consistently use lowercase hyphenated words (exec-async, upload-async, get-result, write-stdin). However, the placement of 'sudo' varies: sudo-exec puts it first while exec-async-sudo puts it last, which is a minor inconsistency.

Tool Count5/5

15 tools is well-scoped for an SSH server, covering synchronous/async execution, sudo variants, file transfer, session management, and host info. Each tool serves a clear purpose without feeling bloated or sparse.

Completeness4/5

The domain of remote SSH operations is fairly complete: exec, sudo, upload/download (sync and async), session status/log retrieval, and host listing. Minor gaps include no file-browsing or interactive shell, but core workflows are well covered.

Maintenance

ActivityInactive
ResponsivenessNo issues