← Back to search

ai-ssh-toolkit

ebmarquez Scanned 16h ago

MCP server for AI-driven SSH sessions with pluggable credential backends

D
40 / 100

Versions

0.3.0latest
May 10, 2026
0.2.3
Apr 27, 2026
0.2.2
Apr 20, 2026
0.1.0
Apr 16, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 28

ssh_execute
annotations: none low

Execute a command on a remote host via an interactive SSH PTY session.

ref string host string sudo boolean stream boolean backend string command string dry_run boolean username string timeout_ms number reuse_session boolean credential_ref string output_to_file string use_ssh_config boolean max_output_bytes number credential_backend string
ssh_multi_execute
annotations: none low

Execute SSH commands across multiple hosts in parallel.

port number username string max_parallel number credential_ref string timeout_per_host number credential_backend string
credential_get
annotations: none low

Retrieve credential metadata (username, availability) for a given ref. Never returns passwords.

ref string backend string
credential_list_backends
annotations: none low

List all registered credential backends and their availability in the current environment.

ssh_check_host
annotations: none low

Verify SSH host reachability via TCP connect, SSH banner probe (default), or full auth check.

host string port number username string timeout_ms number use_ssh_config boolean
ssh_session_open
annotations: none low

Open a persistent interactive SSH shell session. Returns a session_id for use with ssh_session_execute and ssh_session_close.

host string dry_run boolean username string timeout_ms number credential_ref string use_ssh_config boolean idle_timeout_ms number credential_backend string
ssh_session_execute
annotations: none low

Execute a command inside an open persistent SSH session.

ref string sudo boolean stream boolean backend string command string session_id string timeout_ms number output_to_file string max_output_bytes number
ssh_session_close
annotations: none low

Close a persistent SSH session opened with ssh_session_open.

session_id string
credential_diagnose
annotations: none low

Diagnose credential map resolution for a given host. Shows which rule matched and whether the backend is available.

host string
credential_map_reload
annotations: none low

Reload the credential map configuration from disk.

ssh_forward_local
annotations: none low

Start a local SSH port forward (-L). Binds a local port and tunnels traffic to a remote host:port through the SSH server. Uses key/agent auth (BatchMode).

host string username string local_port number remote_host string remote_port number credential_ref string use_ssh_config boolean credential_backend string idle_timeout_seconds number
ssh_stream_read
annotations: none low

Read output chunks from a streaming SSH command started with stream=true.

offset number stream_id string
ssh_upload
annotations: none low

Upload a local file to a remote host via SFTP.

host string port number username string local_path string timeout_ms number remote_path string credential_ref string credential_backend string
ssh_forward_remote
annotations: none low

Start a remote SSH port forward (-R). Binds a port on the SSH server and tunnels traffic back to a local host:port. Uses key/agent auth (BatchMode).

host string username string local_host string local_port number remote_port number credential_ref string use_ssh_config boolean credential_backend string idle_timeout_seconds number
ssh_stream_cancel
annotations: none low

Cancel a running streaming SSH command.

stream_id string
ssh_download
annotations: none low

Download a remote file to the local filesystem via SFTP.

host string port number username string local_path string timeout_ms number remote_path string credential_ref string credential_backend string
ssh_forward_dynamic
annotations: none low

Start a dynamic SOCKS proxy SSH forward (-D). Binds a local port as a SOCKS proxy through the SSH server. Uses key/agent auth (BatchMode).

host string username string local_port number credential_ref string use_ssh_config boolean credential_backend string idle_timeout_seconds number
ssh_forward_close
annotations: none low

Close an active SSH port forward.

forward_id string
ssh_forward_list
annotations: none low

List all active SSH port forwards with their status and configuration.

ssh_stream_list
annotations: none low

List all active and recent streaming SSH commands.

ssh_sftp_list
annotations: none low

List remote directory contents via SFTP.

host string port number username string recursive boolean timeout_ms number remote_path string credential_ref string credential_backend string
ssh_list_hosts
annotations: none low

List SSH host aliases from ~/.ssh/config (including Include directives). Returns a sanitized inventory with alias, hostname, user, port, and source file.

pattern string
version_check
annotations: none low

Check installed ai-ssh-toolkit version against latest published npm version.

ssh_audit_log_read
annotations: none low

Read the last N audit log records from the file destination (if configured via AI_SSH_AUDIT_LOG).

limit number
ssh_host_info
annotations: none low

Retrieve SSH host information (banner, OS hint, host key fingerprints) without authentication.

host string port number timeout_ms number use_ssh_config boolean
ssh_host_key_trust
annotations: none low

Pin or re-pin a host key fingerprint. If fingerprint is omitted, fetches live keys from the host.

host string port number key_type string fingerprint string use_ssh_config boolean
ssh_host_key_list
annotations: none low

List all pinned host key fingerprints.

ssh_host_key_remove
annotations: none low

Remove a pinned host key, forgetting a previously trusted host.

host string port number

Permissions 4

network medium
Server uses network capabilities via: https, net
filesystem low
Server uses filesystem capabilities via: fs, fs sync ops, path
shell high
Server uses shell capabilities via: child_process, execSync(), spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 75

low
Tool 'credential_map_reload' has no annotations annotation_checker · 100%
low
Tool 'ssh_forward_local' has no annotations annotation_checker · 100%
low
Tool 'ssh_execute' has no annotations annotation_checker · 100%
low
Tool 'ssh_multi_execute' has no annotations annotation_checker · 100%
low
Tool 'credential_get' has no annotations annotation_checker · 100%
low
Tool 'credential_list_backends' has no annotations annotation_checker · 100%
low
Tool 'ssh_check_host' has no annotations annotation_checker · 100%
low
Tool 'ssh_session_open' has no annotations annotation_checker · 100%
low
Tool 'ssh_session_execute' has no annotations annotation_checker · 100%
low
Tool 'ssh_session_close' has no annotations annotation_checker · 100%
low
Tool 'credential_diagnose' has no annotations annotation_checker · 100%
low
Tool 'ssh_stream_read' has no annotations annotation_checker · 100%
low
Tool 'ssh_upload' has no annotations annotation_checker · 100%
low
Tool 'ssh_forward_remote' has no annotations annotation_checker · 100%
low
Tool 'ssh_stream_cancel' has no annotations annotation_checker · 100%
low
Tool 'ssh_download' has no annotations annotation_checker · 100%
low
Tool 'ssh_forward_dynamic' has no annotations annotation_checker · 100%
low
Tool 'ssh_forward_close' has no annotations annotation_checker · 100%
low
Tool 'ssh_forward_list' has no annotations annotation_checker · 100%
low
Tool 'ssh_stream_list' has no annotations annotation_checker · 100%
low
Tool 'ssh_sftp_list' has no annotations annotation_checker · 100%
low
Tool 'ssh_list_hosts' has no annotations annotation_checker · 100%
low
Tool 'version_check' has no annotations annotation_checker · 100%
low
Tool 'ssh_audit_log_read' has no annotations annotation_checker · 100%
low
Tool 'ssh_host_info' has no annotations annotation_checker · 100%
low
Tool 'ssh_host_key_trust' has no annotations annotation_checker · 100%
low
Tool 'ssh_host_key_list' has no annotations annotation_checker · 100%
low
Tool 'ssh_host_key_remove' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: vitest@4.1.4 (GHSA-82fw-gwwq-j7x9) dependency_analyzer · 95%
medium
Buffer.from base64 in ebmarquez-ai-ssh-toolkit-4077e04/src/credentials/google-secret-manager.ts:139 entropy_analyzer · 75%
medium
Buffer.from base64 in ebmarquez-ai-ssh-toolkit-4077e04/src/credentials/google-secret-manager.ts:174 entropy_analyzer · 75%
info
package.json metadata manifest_parser · 100%
info
Tool: ssh_execute manifest_parser · 70%
info
Tool: ssh_multi_execute manifest_parser · 70%
info
Tool: credential_get manifest_parser · 70%
info
Tool: credential_list_backends manifest_parser · 70%
info
Tool: ssh_check_host manifest_parser · 70%
info
Tool: ssh_session_open manifest_parser · 70%
info
Tool: ssh_session_execute manifest_parser · 70%
info
Tool: ssh_session_close manifest_parser · 70%
info
Tool: credential_diagnose manifest_parser · 70%
info
Tool: credential_map_reload manifest_parser · 70%
info
Tool: ssh_forward_local manifest_parser · 70%
info
Tool: ssh_stream_read manifest_parser · 70%
info
Tool: ssh_upload manifest_parser · 70%
info
Tool: ssh_forward_remote manifest_parser · 70%
info
Tool: ssh_stream_cancel manifest_parser · 70%
info
Tool: ssh_download manifest_parser · 70%
info
Tool: ssh_forward_dynamic manifest_parser · 70%
info
Tool: ssh_forward_close manifest_parser · 70%
info
Tool: ssh_forward_list manifest_parser · 70%
info
Tool: ssh_stream_list manifest_parser · 70%
info
Tool: ssh_sftp_list manifest_parser · 70%
info
Tool: ssh_list_hosts manifest_parser · 70%
info
Tool: version_check manifest_parser · 70%
info
Tool: ssh_audit_log_read manifest_parser · 70%
info
Tool: ssh_host_info manifest_parser · 70%
info
Tool: ssh_host_key_trust manifest_parser · 70%
info
Tool: ssh_host_key_list manifest_parser · 70%
info
Tool: ssh_host_key_remove manifest_parser · 70%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (23) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 246 components sbom_generator · 100%
critical
RSA Private Key found in ebmarquez-ai-ssh-toolkit-4077e04/.copilot/skills/secret-handling/SKILL.md secret_scanner · 95%
critical
Database URL with Password found in ebmarquez-ai-ssh-toolkit-4077e04/.copilot/skills/secret-handling/SKILL.md secret_scanner · 85%
critical
RSA Private Key found in ebmarquez-ai-ssh-toolkit-4077e04/.squad/templates/skills/secret-handling/SKILL.md secret_scanner · 95%
critical
Database URL with Password found in ebmarquez-ai-ssh-toolkit-4077e04/.squad/templates/skills/secret-handling/SKILL.md secret_scanner · 85%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%