Skip to main content

Crate ssh_mcp

Crate ssh_mcp 

Source
Expand description

SeSSHion - A lightweight SSH MCP server for LLM agents

This crate provides an MCP server that allows executing commands on remote Linux systems via SSH. It supports both password and key-based authentication, as well as privilege elevation via su and sudo.

§Features

  • Execute shell commands on remote SSH servers (shell tool)
  • Support for sudo command execution with password (sudo_shell tool)
  • Persistent SSH connection with auto-reconnect
  • Configurable command timeout
  • Command length limits for safety

§MCP Tools

  • shell - Execute a shell command on the remote SSH server
  • sudo_shell - Execute a command with sudo privileges (can be disabled with --disable-sudo)
  • check_process - Monitor background command and transfer jobs
  • transfer - Transfer files and directories over SSH, optionally in the background
  • apply_patch - Create, update, or delete one remote UTF-8 text file
  • sudo_apply_patch - Apply an exact remote file patch under sudo (can be disabled with --disable-sudo)

§Example Usage (CLI)

ssh-mcp --host=192.168.1.100 --user=admin --password=secret

§Example Usage (MCP Inspector)

npx @modelcontextprotocol/inspector ./target/release/ssh-mcp -- \
  --host=YOUR_HOST --user=root --password=pass

Re-exports§

pub use config::Args;
pub use config::Config;
pub use error::Result;
pub use error::SshMcpError;
pub use server::SshMcpServer;
pub use ssh::CommandOutput;
pub use ssh::HostKeyCheckMode;
pub use ssh::SshConfig;
pub use ssh::SshConnectionManager;
pub use ssh::SshHandler;
pub use ssh::escape_command_for_shell;
pub use ssh::escape_for_shell;
pub use ssh::escape_for_timeout_wrapper;
pub use ssh::sanitize_command;
pub use ssh::sanitize_password;
pub use ssh::wrap_command_with_timeout;
pub use ssh::wrap_sudo_command;
pub use tools::CheckProcessParams;
pub use tools::ExecParams;
pub use tools::SudoExecParams;

Modules§

background
Local background job state and log spooling.
config
Configuration and CLI argument parsing for SeSSHion
error
Error types for SeSSHion
logging
Logging initialization and configuration
server
MCP Server implementation
ssh
SSH connection management module
tools
MCP Tools module
transfer
File and directory transfer tool support.