MCP SSH Server logo

MCP SSH Server

by shaike1

A powerful SSH server implementation for Model Context Protocol (MCP). This server enables secure remote command execution and file operations through SSH protocol, supporting both password and key-based authentication.

View on GitHub

Last updated: N/A

What is MCP SSH Server?

MCP SSH Server is an SSH server implementation designed for Model Context Protocol (MCP). It allows secure remote command execution and file operations via SSH, supporting both password and key-based authentication.

How to use MCP SSH Server?

To use the MCP SSH Server, first install the package using npm. Then, configure it in your Claude desktop config file. Use the provided PowerShell examples to connect, execute commands, and perform file operations like upload and download. Refer to the documentation for detailed instructions and available API endpoints.

Key features of MCP SSH Server

  • Secure SSH connection management

  • Password and key-based authentication

  • Remote command execution

  • File operations (upload/download)

  • Progress tracking for file transfers

  • Permission management

  • Directory operations

  • Bulk file transfers

  • Detailed logging

Use cases of MCP SSH Server

  • Securely executing commands on remote servers

  • Transferring files between local and remote systems

  • Automating tasks on remote machines

  • Managing files and directories remotely

  • Integrating with Model Context Protocol (MCP) workflows

FAQ from MCP SSH Server

What is the default SSH port?

The default SSH port is 8889, but it can be configured using the SSH_PORT environment variable.

How do I enable detailed logging?

Set the SSH_LOG_LEVEL environment variable to 'debug' or 'verbose' to enable more detailed logging.

What authentication methods are supported?

The server supports both password and key-based authentication.

How do I upload files?

Use the /upload endpoint with a POST request, providing the file and remote path in the form data.

How do I execute commands?

Use the /exec endpoint with a POST request, providing the connection ID and command in the request body.