New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

ezssh-mcp

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ezssh-mcp

Easy SSH MCP Server - Execute commands and transfer files via SSH with AI

latest
Source
npmnpm
Version
1.1.1
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

ezssh-mcp

npm version License: MIT

Easy SSH MCP Server - Execute commands and transfer files via SSH with AI assistance.

Features

  • 🖥️ Cross-platform: Linux, macOS, Windows
  • 🔑 SSH Agent support: System SSH Agent, 1Password, Windows OpenSSH
  • 📋 Auto-discovery: Reads hosts from ~/.ssh/config
  • Concurrent execution: Run commands on multiple hosts simultaneously
  • 📁 File transfer: Upload/download via SFTP
  • 🔗 MCP Resources: SSH hosts exposed as resources for AI access
  • 🤖 Multi-AI compatible: Works with Claude, ChatGPT, Gemini and other MCP-compatible clients

Installation

npm install -g ezssh-mcp

From Source

git clone https://github.com/laomeifun/ezssh-mcp.git
cd ezssh-mcp
npm install
npm run build

Quick Start

1. Run as MCP Server

ezssh-mcp
# or
npx ezssh-mcp

2. Configure with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ssh": {
      "command": "npx",
      "args": ["-y", "ezssh-mcp"]
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "ssh": {
      "command": "ezssh-mcp"
    }
  }
}

Tools

ToolDescription
ssh_list_hostsList available SSH hosts from config
ssh_executeExecute commands on one or more hosts
ssh_transferUpload/download files via SFTP

ssh_execute

Execute commands on multiple hosts concurrently:

{
  "hosts": ["web1", "web2", "web3"],
  "command": "uptime"
}

Direct connection (without SSH config):

{
  "hosts": ["192.168.1.100"],
  "command": "uptime",
  "username": "root",
  "password": "your-password",
  "port": 22
}

ssh_transfer

Upload files:

{
  "direction": "upload",
  "hosts": ["web1", "web2"],
  "localPath": "./dist/app.zip",
  "remotePath": "/opt/app/app.zip"
}

Download files (with {host} placeholder for multiple hosts):

{
  "direction": "download",
  "hosts": ["web1", "web2"],
  "localPath": "./logs/{host}.log",
  "remotePath": "/var/log/app.log"
}

Resources

SSH hosts are exposed as MCP resources with URI format ssh://<host-name>.

Environment Variables

VariableDescriptionDefault
SSH_CONFIG_PATHSSH config file path~/.ssh/config
SSH_KNOWN_HOSTS_PATHknown_hosts file path~/.ssh/known_hosts
SSH_AUTH_SOCKSSH Agent socket pathSystem default
SSH_TIMEOUTConnection timeout (ms)30000
SSH_STRICT_HOST_KEYStrict host key checkingfalse
SSH_MAX_CONCURRENCYMax concurrent connections10

Development

# Install dependencies
npm install

# Development mode (watch)
npm run dev

# Build
npm run build

# Type check
npm run typecheck

# Run tests
npm test

License

MIT

Keywords

mcp

FAQs

Package last updated on 13 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts