MCP Server SSH Server

by Machine-To-Machine

11 stars
156 downloads
Not rated
GitHub

Description

# MCP Server SSH Server [![PyPI version](https://img.shields.io/pypi/v/m2m-mcp-server-ssh-server.svg)](https://pypi.org/project/m2m-mcp-server-ssh-server/) [![Python Versions](https://img.shields.io/pypi/pyversions/m2m-mcp-server-ssh-server.svg)](https://pypi.org/project/m2m-mcp-…

About

# MCP Server SSH Server [![PyPI version](https://img.shields.io/pypi/v/m2m-mcp-server-ssh-server.svg)](https://pypi.org/project/m2m-mcp-server-ssh-server/) [![Python Versions](https://img.shields.io/pypi/pyversions/m2m-mcp-server-ssh-server.svg)](https://pypi.org/project/m2m-mcp-server-ssh-server/) [![License…

Details

Author
Machine-To-Machine
GitHub stars
11
Downloads
156
Categories
Developer Tools

- Secure remote access to MCP tools over SSH
- Key-based authentication with optional key management API
- Aggregation and proxying of multiple MCP servers
- Compatible with MCP prompts, resources, tools, and logging
- Dynamic configuration via simple JSON file
- Automatic key generation with secure permissions

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Server SSH Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install with uv add m2m-mcp-server-ssh-server or pip install m2m-mcp-server-ssh-server. For key server functionality, add the [key-server] extra. Run the server with uv run m2m-mcp-server-ssh-server and configure MCP servers via a JSON file (servers_config.json). Connect using the client with uv run m2m-mcp-server-ssh-client --host <host> --port 8022 --use-key-server.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp server ssh server": {
            "m2m-mcp-server-ssh-server": {
                "command": "uv",
                "args": [
                    "run",
                    "m2m-mcp-server-ssh-server",
                    "--run-key-server"
                ]
            }
        }
    }
}

McpServers

{
    "m2m-mcp-server-ssh-server": {
        "command": "uv",
        "args": [
            "run",
            "m2m-mcp-server-ssh-server",
            "--run-key-server"
        ]
    }
}

MCP Server SSH Server

PyPI version
Python Versions
License: MIT

A secure SSH server for accessing and interacting with MCP (Model Context Protocol) tools installed remotely. This server allows clients to connect to multiple MCP tool providers through a unified secure interface.

Features

- Secure Remote Access: Access MCP tools remotely over SSH
- Key-Based Authentication: Support for key-based authentication
- Key Management API: Optional HTTP API for managing SSH keys
- Server Aggregation: Proxy and merge multiple MCP servers into a unified interface
- MCP Support: Compatible with MCP capabilities including:
- Prompts
- Resources
- Tools
- Logging
- Dynamic Configuration: Configure available MCP servers through a simple JSON configuration

Authentication Flow

%%{init: {'theme':'default', 'themeVariables': { 'primaryColor': '#5D8AA8', 'primaryTextColor': '#fff', 'primaryBorderColor': '#1F456E', 'lineColor': '#5D8AA8', 'secondaryColor': '#006400', 'tertiaryColor': '#fff' }}}%%

sequenceDiagram
participant Host as MCP Host<br>(Claude/Cursor)
participant Client as MCP SSH Client
participant KeySrv as Key Server<br>(HTTP API)
participant SSHSrv as MCP SSH Server
participant MCP as MCP Servers

Note over Client,SSHSrv: Initial Key Exchange & Authentication

Client->>Client: Generate SSH key pair<br>if does not exist
Client->>KeySrv: GET /server_pub_key
KeySrv->>Client: Return server's public key
Client->>Client: Store server key in<br>temporary known_hosts
Client->>KeySrv: POST /register<br>{client_pub_key: "ssh-ed25519 AAAA..."}
KeySrv->>SSHSrv: Store client public key<br>in authorized keys
KeySrv->>Client: {status: "success"}

Note over Client,SSHSrv: Secure SSH Connection

Client->>SSHSrv: SSH handshake with<br>client key authentication
SSHSrv->>SSHSrv: Verify client key<br>against authorized keys
SSHSrv->>Client: Authentication successful

Note over Client,SSHSrv: MCP Communication

Host->>Client: JSONRPC request
Client->>SSHSrv: Forward request<br>over SSH tunnel
SSHSrv->>MCP: Route request to<br>appropriate MCP server
MCP->>SSHSrv: Process and return results
SSHSrv->>Client: Send response over SSH
Client->>Host: Return JSONRPC response

Note over Client,SSHSrv: Session Management

alt Session Termination
Host->>Client: Close connection
Client->>SSHSrv: Terminate SSH session
SSHSrv->>SSHSrv: Clean up resources
end

Installation

In a uv managed python project, add to dependencies by:

```bash
uv add m2m-mcp-server-ssh-server

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.