mcpField
M
mcp-ssh-toolkit-py

mcp-ssh-toolkit-py

Local
github.com/VitalyMalakanovDeveloper Tools4Updated 81w ago

About mcp-ssh-toolkit-py

mcp-ssh-toolkit-py is an MCP server for running commands and transferring files over SSH. It serves DevOps and server-management workflows through password or key-based authentication and configurable connection settings.

Key features

  1. 01Run commands over SSH
  2. 02Upload and download files with SFTP
  3. 03Password, key, and SSH agent authentication
  4. 04Configurable ports and timeouts

Use cases

  1. 01Run remote scripts from an MCP client
  2. 02Manage servers through a chat interface
  3. 03Automate DevOps tasks with an LLM

MCP support

It exposes the `ssh_execute_command` tool to MCP clients for remote SSH command execution. The server also supports file upload and download over SFTP.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ssh-toolkit-py": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
Run commanddocker run -i --rm build

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocibuild

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp-ssh-toolkit-py

Build Status License: MIT Docker Author

A minimal Model Context Protocol (MCP) server for secure SSH automation, built with python-sdk and paramiko.


Table of Contents


Overview 🚀

mcp-ssh-toolkit-py is a powerful MCP server for secure SSH command execution via Model Context Protocol.

🔹 Key Features:

  • Execute arbitrary commands on remote servers via SSH
  • Upload/download files via SFTP
  • Integration with Claude/Cline and other MCP clients
  • Supports password and SSH key authentication
  • Configurable connection parameters (timeouts, ports)

🔹 Use Cases:

  • DevOps automation via LLMs
  • Server management through chat interface
  • Secure remote script execution
  • SSH integration in MCP ecosystem

Example usage:

# Through MCP client
response = mcp.tool("ssh_execute_command", {
    "host": "example.com",
    "username": "user",
    "command": "docker ps"
})

Features ✨

Core Functionality
  • 🛡️ Secure SSH command execution via MCP
  • 📁 SFTP operations (file upload/download)
  • 🔑 Multiple authentication methods:
    • Username/password
    • SSH keys (RSA)
    • SSH agent
Integration
  • 🤖 Full compatibility with Claude/Cline
  • 🐳 Ready-to-use Docker image
  • 📦 Pip package installation
Security
  • 🔒 Encrypted connections
  • ⏱ Configurable timeouts
  • 🚫 No credential storage

Installation 📦

Docker (Recommended)
  1. Clone the repository:
git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
  1. Build the Docker image:
docker build -t mcp-ssh-toolkit-py .
  1. (Optional) Push to your Docker registry:
docker tag mcp-ssh-toolkit-py yourusername/mcp-ssh-toolkit-py
docker push yourusername/mcp-ssh-toolkit-py
Pip Installation

Install directly from GitHub:

pip install git+https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git

Run the server after installation:

python -m mcp_ssh_toolkit
Development Setup

For development, install with:

git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
pip install -e .

Quickstart

Run with Docker
docker run --rm -i mcp-ssh-toolkit-py
MCP Integration

Add to your MCP configuration (e.g., cline_mcp_settings.json):

"mcp-ssh-toolkit-py": {
  "command": "docker",
  "args": ["run", "--rm", "-i", "mcp-ssh-toolkit-py"],
  "env": {}
}

Usage

Tool: ssh_execute_command

Description:
Execute a command on a remote server via SSH.

Input parameters:

  • host (string, required): SSH server address
  • username (string, required): SSH username
  • password (string, optional): SSH password
  • privateKey (string, optional): Path to SSH private key (PEM)
  • command (string, required): Command to execute
  • port (integer, optional, default 22): SSH port
  • timeout (integer, optional, default 20): Connection timeout (seconds)

Output:

  • stdout: Command output
  • stderr: Error output
  • exit_code: Exit code

Example call:

{
  "host": "example.com",
  "username": "user",
  "password": "secret",
  "command": "uname -a"
}

Development

Install dependencies locally:

pip install -r requirements.txt

Run locally:

python main.py

Security

  • SSH credentials are never stored or logged.
  • Always use strong passwords or SSH keys for authentication.
  • Do not expose the MCP server to untrusted networks.
  • Review paramiko security best practices.
  • If you discover a security vulnerability, please report it via GitHub Issues or contact the maintainer privately.

License

MIT License. See LICENSE for details.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.