From d4232caaba07c7ce5478048ed35eaac1b573dc6f Mon Sep 17 00:00:00 2001 From: will-m2m Date: Fri, 25 Apr 2025 14:24:27 -0400 Subject: [PATCH 1/3] Add m2m-ssh-gateway.json --- mcp-registry/servers/m2m-ssh-gateway.json | 131 ++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 mcp-registry/servers/m2m-ssh-gateway.json diff --git a/mcp-registry/servers/m2m-ssh-gateway.json b/mcp-registry/servers/m2m-ssh-gateway.json new file mode 100644 index 00000000..2ee4e71e --- /dev/null +++ b/mcp-registry/servers/m2m-ssh-gateway.json @@ -0,0 +1,131 @@ +{ + "name": "m2m-ssh-gateway", + "display_name": "MCP SSH Gateway Client", + "description": "A Model Context Protocol Server (Remote SSH client) that connects to remote MCP servers over SSH, proxying tools, prompts, and resources.", + "repository": { + "type": "git", + "url": "https://github.com/Machine-To-Machine/m2m-mcp-server-ssh-client.git" + }, + "homepage": "https://github.com/Machine-To-Machine/m2m-mcp-server-ssh-client", + "author": { + "name": "Machine To Machine" + }, + "license": "MIT", + "categories": [ + "Dev Tools", + "Productivity", + "Web Services", + "System Tools" + ], + "tags": [ + "mcp", + "ssh", + "gateway", + "proxy", + "remote", + "client" + ], + "installations": { + "uvx": { + "type": "uvx", + "command": "uvx", + "args": [ + "m2m-mcp-server-ssh-client" + ], + "description": "Run the MCP SSH Gateway client globally using uvx (requires uv installed)", + "recommended": true + } + }, + "arguments": { + "host": { + "description": "Remote SSH server host.", + "required": false, + "example": "mcp-beta.machinetomachine.ai" + }, + "port": { + "description": "Remote SSH server port.", + "required": false, + "example": "8022" + }, + "username": { + "description": "SSH username.", + "required": false, + "example": "mcp" + }, + "client_key": { + "description": "Path to the client private SSH key file.", + "required": false, + "example": "~/.ssh/m2m_mcp_server_ssh_client" + }, + "known_hosts": { + "description": "Path to the known hosts file.", + "required": false, + "example": "~/.ssh/known_hosts" + }, + "passphrase": { + "description": "Passphrase for the private key, if encrypted.", + "required": false, + "example": "your-passphrase" + }, + "disable_host_key_checking": { + "description": "Skip server SSH key signature verification (use with caution).", + "required": false, + "example": "true" + }, + "use_key_server": { + "description": "Use the key server for automatic key management.", + "required": false, + "example": "true" + }, + "log_level": { + "description": "Set logging level (e.g., DEBUG, INFO, WARNING, ERROR).", + "required": false, + "example": "DEBUG" + } + }, + "is_official": true, + "examples": [ + { + "title": "Connect to M2M Demo Server", + "description": "Configure the gateway to connect to the public Machine-To-Machine demo SSH server using the key server for authentication.", + "prompt": "Configure m2m-ssh-gateway with host=mcp-beta.machinetomachine.ai, port=8022, use_key_server=true" + }, + { + "title": "Connect to Custom Server with Key", + "description": "Configure the gateway to connect to a custom remote server using a specific SSH key and known hosts file.", + "prompt": "Configure m2m-ssh-gateway with host=your-server.example.com, client_key=~/.ssh/your_key, known_hosts=~/.ssh/known_hosts" + } + ], + "tools": [ + { + "name": "proxied_remote_mcp_features", + "description": "Placeholder representing the tools, prompts, and resources proxied from the remote MCP server connected via SSH. The actual features available depend on the remote server's configuration. Refer to https://github.com/Machine-To-Machine/m2m-mcp-server-ssh-server on how to configure your own remote SSH server and use the server arguments to configure the corresponding SSH connection.", + "inputSchema": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Hostname or IP address of the remote SSH server." + }, + "port": { + "type": "integer", + "description": "Port number for the SSH connection (default: 8022)." + }, + "username": { + "type": "string", + "description": "Username for SSH authentication (default: 'mcp')." + }, + "client_key": { + "type": "string", + "description": "Path to the client's private SSH key." + }, + "use_key_server": { + "type": "boolean", + "description": "Whether to use the key server for authentication." + } + }, + "required": [] + } + } + ] +} \ No newline at end of file From dbe00d4775b44526036b2f912956be9492efc703 Mon Sep 17 00:00:00 2001 From: Jonathan Wang <229140959@qq.com> Date: Sun, 27 Apr 2025 13:01:50 +0800 Subject: [PATCH 2/3] Update mcp-registry/servers/m2m-ssh-gateway.json --- mcp-registry/servers/m2m-ssh-gateway.json | 1 - 1 file changed, 1 deletion(-) diff --git a/mcp-registry/servers/m2m-ssh-gateway.json b/mcp-registry/servers/m2m-ssh-gateway.json index 2ee4e71e..43e843ef 100644 --- a/mcp-registry/servers/m2m-ssh-gateway.json +++ b/mcp-registry/servers/m2m-ssh-gateway.json @@ -14,7 +14,6 @@ "categories": [ "Dev Tools", "Productivity", - "Web Services", "System Tools" ], "tags": [ From 861350929af07aa02129977a6e70589d4766841c Mon Sep 17 00:00:00 2001 From: Jonathan Wang <229140959@qq.com> Date: Sun, 27 Apr 2025 13:01:55 +0800 Subject: [PATCH 3/3] Update mcp-registry/servers/m2m-ssh-gateway.json --- mcp-registry/servers/m2m-ssh-gateway.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mcp-registry/servers/m2m-ssh-gateway.json b/mcp-registry/servers/m2m-ssh-gateway.json index 43e843ef..49eeedfd 100644 --- a/mcp-registry/servers/m2m-ssh-gateway.json +++ b/mcp-registry/servers/m2m-ssh-gateway.json @@ -82,7 +82,7 @@ "example": "DEBUG" } }, - "is_official": true, + "is_official": false, "examples": [ { "title": "Connect to M2M Demo Server",