ezssh-mcp
Allows using 1Password as an SSH agent for authentication when connecting to SSH hosts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ezssh-mcplist all available SSH hosts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ezssh-mcp
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
Related MCP server: SSH MCP Server
Installation
From npm (Recommended)
npm install -g ezssh-mcpFrom Source
git clone https://github.com/laomeifun/ezssh-mcp.git
cd ezssh-mcp
npm install
npm run buildQuick Start
1. Run as MCP Server
ezssh-mcp
# or
npx ezssh-mcp2. 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
Tool | Description |
| List available SSH hosts from config |
| Execute commands on one or more hosts |
| Upload/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
Variable | Description | Default |
| SSH config file path |
|
| known_hosts file path |
|
| SSH Agent socket path | System default |
| Connection timeout (ms) |
|
| Strict host key checking |
|
| Max concurrent connections |
|
Development
# Install dependencies
npm install
# Development mode (watch)
npm run dev
# Build
npm run build
# Type check
npm run typecheck
# Run tests
npm testLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/laomeifun/ezssh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server