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., "@MCP SSH Serverlist the files in /var/www/html"
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.
MCP SSH Server - Remote Server Control for Claude
π Connect Claude AI to your remote server via SSH. Read files, write files, execute commands, and manage your server directly from Claude Desktop!
Features
β
Full SSH Access - Connect to any SSH server
β
SSH Key Generator - Generate keys directly in installer
β
Multiple Servers - Add, remove, and manage unlimited servers
β
Easy Server Management - Add servers by just talking to Claude
β
No Code Editing - Manage everything through conversation
β
File Operations - Read, write, and manage files
β
Command Execution - Run any command on your server
β
Directory Listing - Browse your server's filesystem
β
Auto-Updates - Automatically checks for updates every 12 hours
β
Secure - Supports SSH keys and password authentication
β
Easy Installation - Simple GUI installer for Windows
Quick Start
1. Download Installer
Download the latest MCP-SSH-Installer.exe from Releases
2. Run Installer
Enter first server details:
Server name (e.g., "production")
Server IP, port, and username
Choose authentication:
SSH Key (Recommended):
Click "π Generate New" to create a new SSH key
Or click "Browse" to select an existing key
Copy the public key shown and add it to your server (instructions provided)
Password: Enter your SSH password
Click "β Add Server"
Repeat to add more servers (optional)
Click "Install"
3. Restart Claude Desktop
Close and reopen Claude Desktop. You're done! π
Usage Examples
Once installed, you can ask Claude:
Managing Servers
"List all my servers"- Show all configured servers"Add a new server called staging with IP 192.168.1.50, username admin, password mypass123""Add server named aws-prod, IP 54.123.45.67, port 2222, user root, using SSH key C:\Users\Me\.ssh\aws_key""Remove server staging"- Delete a server"Edit server production, change IP to 10.0.0.5"- Update server details"Switch to development server"- Change active server"What server am I connected to?"- Show current server
File Operations
"List files in /var/www""Read the file /etc/nginx/nginx.conf""Create a file /home/user/test.txt with content 'Hello World'""Show me the last 50 lines of /var/log/nginx/error.log"
Commands
"Execute command: df -h"- Check disk space"Run: systemctl status nginx"- Check service status"Execute: top -bn1 | head -20"- Check system resources"Show me running Docker containers"
Manual Installation
If you prefer manual installation:
Multiple Servers
You can add servers directly through Claude without editing any files!
Example conversation:
Or manually create config.json:
Managing servers through Claude:
"List all servers"- See all your servers"Switch to development"- Change active server"What server am I on?"- Show current server"Add server staging with IP 10.0.0.5, user ubuntu, password test123"- Add new server"Remove server old-server"- Delete a server"Edit server production, change password to newpass456"- Update server
Auto-Update
The server automatically checks for updates every 12 hours. When an update is available, it will:
Download the latest version from GitHub
Install updated dependencies
Notify you to restart Claude Desktop
Manual update:
Security
β οΈ Important Security Notes:
Best Practices
β Use SSH Keys - Much more secure than passwords
β Create Limited User - Don't use root for everything
β Enable Firewall - Restrict SSH port access
β Use Strong Passwords - If you must use password auth
β Keep config.json Private - Contains your credentials
β Regular Updates - Keep the MCP server updated
Setting up SSH Keys
Option 1: Generate in Installer (Easiest)
In the installer, select "SSH Key"
Click "π Generate New"
A window will show your public key
Click "π Copy Key"
On your server, run these commands:
Option 2: Manual Generation
On Windows (PowerShell):
On Mac/Linux:
Additional Security
Disable Password Authentication (after SSH keys work):
Use a Non-Standard SSH Port:
Troubleshooting
Connection Issues
Problem: Cannot connect to server
Solutions:
Verify server IP:
ping your-server-ipCheck SSH port:
telnet your-server-ip 22Test SSH directly:
ssh username@your-server-ipCheck firewall:
sudo ufw statusVerify credentials are correct
Problem: "Permission denied (publickey)"
Solutions:
Check key path is correct
Verify key has correct permissions:
chmod 600 ~/.ssh/id_ed25519Ensure public key is on server:
cat ~/.ssh/authorized_keysCheck server SSH config allows key auth
Claude Desktop Issues
Problem: Claude doesn't see the server
Solutions:
Verify config path in
claude_desktop_config.jsonCheck the path uses double backslashes on Windows:
C:\\path\\to\\server.jsRestart Claude Desktop completely (check system tray)
Check for errors in Claude Desktop logs
Problem: "config.json not found"
Solutions:
Ensure
config.jsonexists in the installation directoryCheck installer completed successfully
Manually create
config.jsonfromconfig.example.json
Update Issues
Problem: Auto-update not working
Solutions:
Ensure Git is installed:
git --versionCheck internet connection
Verify GitHub repository URL is correct
Check file permissions on installation directory
Problem: Update failed mid-way
Solutions:
Performance Issues
Problem: Slow file operations
Solutions:
Check network connection speed
Verify server isn't under heavy load
Use
execute_commandfor batch operationsConsider compressing large files before transfer
Development
Want to contribute or customize? Here's how:
Setup Development Environment
Project Structure
Adding New Features
Fork the repository
Create a feature branch:
git checkout -b feature-nameMake your changes
Test thoroughly
Commit:
git commit -m "Add feature-name"Push:
git push origin feature-nameCreate a Pull Request
Testing
Server Management Commands
All server management can be done through natural conversation with Claude:
Adding Servers
With SSH Key:
With Password:
Minimal (uses defaults - port 22):
Editing Servers
Change IP:
Change Password:
Change Authentication Method:
Change Multiple Fields:
Removing Servers
Switching Servers
Listing Servers
Current Server
Advanced Usage
Batch Operations
Execute multiple commands:
File Management
Server Monitoring
Deployment Tasks
API Reference
Available Tools
The MCP server exposes these tools to Claude:
list_servers
Lists all configured servers with their connection details.
add_server
Adds a new server configuration.
Parameters:
name(string, required) - Server nameserver_ip(string, required) - IP addressserver_port(number, optional) - SSH port (default: 22)username(string, required) - SSH usernameauth_method(string, required) - "key" or "password"ssh_key_path(string, optional) - Path to private keypassword(string, optional) - SSH password
remove_server
Removes a server configuration.
Parameters:
name(string, required) - Server name to remove
edit_server
Edits an existing server configuration.
Parameters:
name(string, required) - Server name to editAll other parameters optional
switch_server
Switches to a different server.
Parameters:
server_name(string, required) - Server name to switch to
current_server
Shows the currently active server.
read_file
Reads a file from the remote server.
Parameters:
path(string, required) - Absolute path to file
write_file
Writes content to a file on the remote server.
Parameters:
path(string, required) - Absolute path to filecontent(string, required) - Content to write
list_directory
Lists contents of a directory.
Parameters:
path(string, required) - Absolute path to directory
execute_command
Executes a shell command on the remote server.
Parameters:
command(string, required) - Command to execute
Version History
v2.0.0 (2024-12-10) - Current
β¨ Generate SSH keys directly in installer
β¨ Visual guide for adding keys to server
β¨ Add/Remove/Edit servers through Claude conversation
β¨ No code editing required for server management
β¨ Multiple servers support with easy switching
β¨ Switch between servers easily
β¨ Auto-update every 12 hours from GitHub
β¨ GitHub integration for seamless updates
β¨ Professional GUI installer for Windows
β¨ Config file support for flexible configuration
π Bug fixes and stability improvements
π Comprehensive documentation
v1.0.0 (2024-11-15)
π Initial release
Basic SSH file operations (read/write)
Command execution on remote servers
Single server configuration
Manual installation only
Roadmap
Planned Features
π Multi-platform Support - Mac and Linux installers
π SSH Tunnel Management - Create and manage SSH tunnels
π File Transfer Progress - Visual progress for large file operations
π Server Groups - Organize servers into groups
π Scheduled Commands - Run commands on a schedule
π Server Health Monitoring - Automatic health checks
π Backup Management - Automated backup solutions
π Log Streaming - Real-time log viewing
π Container Management - Docker/Podman integration
π Database Tools - Direct database query support
Request a Feature
Have an idea? Open an issue with the "enhancement" label!
FAQ
Q: Is my data secure?
A: Yes! Your credentials are stored locally in config.json and never sent anywhere except directly to your servers. The auto-update only downloads code from GitHub.
Q: Can I use this with multiple Claude Desktop instances?
A: Yes, but each instance needs its own installation and config.
Q: Does this work on Mac/Linux?
A: The MCP server works on all platforms. Currently, the GUI installer is Windows-only, but you can do manual installation on Mac/Linux.
Q: How much does it cost?
A: It's completely free and open-source!
Q: Can I connect to servers behind a firewall?
A: Yes, as long as your machine can reach the server via SSH.
Q: What if I have multiple SSH keys?
A: You can specify different keys for each server.
Q: Can Claude see my passwords?
A: Claude can only execute the commands you approve. Passwords are stored locally in config.json.
Q: How do I update to a new version?
A: Just wait! Auto-update checks every 12 hours. Or manually: cd mcpaddon && git pull && npm install
Q: Can I disable auto-update?
A: Yes, set "auto_update": false in config.json.
Q: What if something breaks after an update?
A: The auto-update creates a backup. You can also roll back: git checkout v2.0.0
License
MIT License
Copyright (c) 2024 MaraBank
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Support
Having issues or questions?
π Check the Wiki for detailed guides
π Report bugs in Issues
π¬ Join discussions in Discussions
π§ Contact: Create an issue
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the Project
Create your Feature Branch (
git checkout -b feature/AmazingFeature)Commit your Changes (
git commit -m 'Add some AmazingFeature')Push to the Branch (
git push origin feature/AmazingFeature)Open a Pull Request
Acknowledgments
Built with Anthropic's MCP SDK
SSH functionality powered by ssh2
Inspired by the amazing Claude AI community
Star History
If this project helped you, please consider giving it a star! β
Made with β€οΈ by
π