Skip to main content
Glama
pmboxbiz

mcp-ssh-live

by pmboxbiz

ssh_upload

Uploads a local file to a remote host via SFTP with atomic writes, auto-creates directories, and returns SHA256 integrity hash.

Instructions

Upload a local file to the remote host via SFTP. Binary-safe; preserves arbitrary bytes unlike 'cat > file <<EOF' over ssh_exec.

Writes to <remote_path>.partial first, then renames atomically on success — a crashed upload never leaves a half-written file at the target path. Parent directories are auto-created (mkdir -p). If remote_path points at an existing directory, the local filename is appended (same as scp).

Size cap: max_bytes (default 100 MiB, hard ceiling 1 GiB). Returns a sha256 of the bytes actually transferred so the caller can verify integrity.

Optional mode (octal, e.g. 493 for 0o755) runs chmod on the remote after the transfer. A chmod failure is non-fatal — the bytes are already there; mode_set=null in the response means the chmod was skipped or rejected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
local_pathYesAbsolute or relative path to a local file. Resolved against the server's current working directory; using an absolute path avoids surprises.
remote_pathYesDestination path on the remote host. Can be a full file path (overwritten atomically) or a directory (local filename appended). Intermediate directories are created automatically.
hostNoAlias of the configured host, or a raw address. If omitted, the server's default host is used.
modeNoOptional POSIX mode bits (int), e.g. 0o755 or 493. Applied via chmod after the upload. Pass None to skip.
max_bytesNoHard cap on the transfer size. Default 100 MiB, clamped to 1 GiB.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: binary-safety, atomic rename, parent directory creation, directory target behavior, size cap, SHA256 return, optional chmod with non-fatal failure. This is comprehensive.

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

Conciseness5/5

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

The description is concise yet informative, starting with a clear summary followed by detailed bullet points. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and an existing output schema, the description covers edge cases (directory target, partial writes, chmod failure), return values, and constraints. It is fully complete for an agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value: explains local_path resolution, remote_path directory behavior, host alias usage, mode as octal example, max_bytes default and cap. This goes well beyond the schema descriptions.

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

Purpose5/5

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

The description explicitly states 'Upload a local file to the remote host via SFTP,' using a specific verb and resource. It immediately differentiates from sibling tools like ssh_exec by highlighting binary safety and atomic write, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description clearly indicates when to use this tool (for binary-safe uploads, atomic writes) and contrasts with ssh_exec. It does not explicitly state when not to use it, but the context is sufficient for an agent to decide.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pmboxbiz/mcp-ssh-live'

If you have feedback or need assistance with the MCP directory API, please join our Discord server