mcp-ssh mcp

v1.0.0 · MCP Tool · developer · registry.pascalai.org

SSH client — execute remote commands, transfer files (SFTP), read/write remote files. Supports password and private key authentication. Operations: exec, list_dir, read_file, write_file, upload, download.

sshsftpscpremoteshelldevopsserverdeploy

Input Parameters

ParameterTypeDescription
operationrequired string exec: run remote command; list_dir: list directory; read_file/write_file: SFTP file ops; upload/download: transfer files. One of: exec, list_dir, read_file, write_file, upload, download.
hostrequired string Remote host address.
portoptional integer SSH port (default: 22). Default: 22.
usernamerequired string SSH username.
passwordoptional string SSH password (for password auth).
privateKeyPathoptional string Path to private key file for key-based auth.
passphraseoptional string Passphrase for encrypted private key.
commandoptional string Command to execute (for exec).
timeoutMsoptional integer Timeout in milliseconds (default: 30000). Default: 30000.
remotePathoptional string Remote file or directory path.
localPathoptional string Local file path for upload/download.
contentoptional string File content for write_file.
encodingoptional string File encoding for read/write (default: utf-8). Default: utf-8.

Output Fields

FieldTypeDescription
stdout string
stderr string
exitCode integer
content string
files array[object]
ok boolean
error string

Examples

Execute remote command

// Input
{
  "operation": "exec",
  "host": "myserver.com",
  "username": "ubuntu",
  "privateKeyPath": "~/.ssh/id_rsa",
  "command": "uptime"
}

// Output
{
  "stdout": " 10:30:01 up 5 days",
  "exitCode": 0,
  "ok": true
}

Install & Discovery

Install

ppm install mcp-ssh

Get JSON Schema

GET /v1/packages/mcp-ssh/1.0.0/schema

Discover by keyword

GET /v1/mcp/discover?q=ssh
Discovery hint: Install with ppm install mcp-ssh or invoke remotely via POST /v1/invoke/mcp-ssh on the MCP Service.

PascalAI Usage

uses toolslib;
var Tool := LoadTool('mcp-ssh');
var R := Tool.Call(JsonObj(['operation','exec','host','myserver.com','username','ubuntu','privateKeyPath','~/.ssh/id_rsa','command','uptime']));
Writeln(R.ToJSON);