Manage your Ubuntu/Linux servers from your Windows computer using natural language! This MCP (Model Context Protocol) server enables you to control your remote servers through conversation via Claude Desktop or Cursor IDE by establishing SSH connections.
TR: Windows bilgisayarınızdan Ubuntu/Linux sunucularınızı doğal dil ile yönetin! Bu MCP (Model Context Protocol) server, Claude Desktop veya Cursor IDE üzerinden SSH bağlantısı yaparak uzak sunucularınızı konuşarak kontrol etmenizi sağlar.
Geleneksel SSH yönetimi yerine, AI asistanınıza "Ubuntu sunucuma bağlan ve disk kullanımını göster" diyerek işlerinizi halledebilirsiniz. MCP protokolü sayesinde AI, SSH komutlarını sizin için çalıştırır ve sonuçları gerçek zamanlı olarak size sunar.
- 🔐 Güvenli SSH Bağlantısı - Şifre tabanlı kimlik doğrulama
- ⚡ Gerçek Zamanlı Çıktı - Komut çıktılarını anlık görün
- 🤖 AI Entegrasyonu - Claude Desktop ve Cursor IDE desteği
- 🎨 Doğal Dil Kontrolü - Komutları konuşarak çalıştırın
- 📦 Minimal Kurulum - Sadece 3 tool, sıfır karmaşıklık
Windows:
- nodejs.org adresinden LTS versiyonunu indirin
- İndirilen
.msidosyasını çalıştırın - Kurulum tamamlandıktan sonra terminal açın ve
node --versionyazın
macOS:
# Homebrew ile
brew install node
# Veya resmi site'den indirinLinux (Ubuntu/Debian):
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejsSadece config dosyanıza ekleyin:
{
"mcpServers": {
"ssh": {
"command": "npx",
"args": [
"-y",
"git+https://github.com/mertcankaraoglu/ssh-mcp.git#main"
]
}
}
}Gereksinimler:
- Node.js v18+ (İndir)
- Claude Desktop veya Cursor IDE
git clone https://github.com/mertcankaraoglu/ssh-mcp.git
cd ssh-mcpnpm installKullandığınız uygulamaya göre aşağıdaki adımları izleyin:
Windows:
%APPDATA%\Claude\claude_desktop_config.json dosyasını açın ve ekleyin:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["C:\\Users\\KULLANICI_ADINIZ\\ssh-mcp\\index.js"]
}
}
}macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json dosyasını açın:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["/tam/yol/ssh-mcp/index.js"]
}
}
}Windows:
%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json dosyasını açın:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["C:\\Users\\KULLANICI_ADINIZ\\ssh-mcp\\index.js"]
}
}
}macOS/Linux:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["/tam/yol/ssh-mcp/index.js"]
}
}
}Claude Desktop veya Cursor'ı kapatıp tekrar açın. MCP server otomatik olarak başlayacaktır.
Claude Desktop'ta şu komutu deneyin:
"SSH bağlantısı test et - 192.168.1.100 IP'li sunucuya bağlan"
Eğer MCP server çalışıyorsa, Claude size SSH bağlantı parametrelerini soracaktır.
| Araç | Açıklama |
|---|---|
ssh_connect |
SSH sunucusuna bağlantı kur |
ssh_exec |
Uzak sunucuda komut çalıştır |
ssh_disconnect |
SSH bağlantısını kapat |
Bağlantı Kurma:
Siz: "192.168.1.100 IP'li Ubuntu sunucuma bağlan. Kullanıcı adı: ubuntu, şifre: mypassword"
Claude: [ssh_connect aracını kullanarak bağlanır]
Komut Çalıştırma:
Siz: "Disk kullanımını göster"
Claude: [ssh_exec ile 'df -h' komutunu çalıştırır]
Siz: "Son 10 sistem logunu göster"
Claude: [ssh_exec ile 'tail -n 10 /var/log/syslog' çalıştırır]
Siz: "Docker container'larını listele"
Claude: [ssh_exec ile 'docker ps' çalıştırır]
Bağlantıyı Kapatma:
Siz: "SSH bağlantısını kapat"
Claude: [ssh_disconnect aracını kullanır]
- @modelcontextprotocol/sdk - MCP protokol implementasyonu
- ssh2 - SSH2 client kütüphanesi
┌─────────────────┐
│ Claude/Cursor │
│ (AI Client) │
└────────┬────────┘
│ MCP Protocol
│ (stdio)
┌────────▼────────┐
│ MCP SSH Server │
│ (Bu Proje) │
└────────┬────────┘
│ SSH2
│
┌────────▼────────┐
│ Ubuntu Server │
└─────────────────┘
⚠️ Şifreler düz metin olarak config dosyasında saklanmaz, sadece runtime'da kullanılır- 🔒 SSH bağlantıları standart SSH2 protokolü ile şifrelenir
- 💡 Üretim ortamları için SSH key tabanlı kimlik doğrulama önerilir (gelecek sürümlerde eklenecek)
- SSH key desteği
- Çoklu sunucu yönetimi
- SFTP dosya transferi
- Port forwarding
- Session kaydetme/yükleme
Katkılarınızı bekliyoruz! Pull request göndermekten çekinmeyin.
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing) - Commit edin (
git commit -m 'feat: Add amazing feature') - Push edin (
git push origin feature/amazing) - Pull Request açın
MIT License - Detaylar için LICENSE dosyasına bakın.
- Anthropic - Claude ve MCP protokolü için
- Model Context Protocol - Harika dokümantasyon için
⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!
Instead of traditional SSH management, you can handle your tasks by simply telling your AI assistant "Connect to my Ubuntu server and show disk usage". Thanks to the MCP protocol, AI executes SSH commands for you and presents results in real-time.
- 🔐 Secure SSH Connection - Password-based authentication
- ⚡ Real-Time Output - See command outputs instantly
- 🤖 AI Integration - Claude Desktop and Cursor IDE support
- 🎨 Natural Language Control - Execute commands by speaking
- 📦 Minimal Setup - Only 3 tools, zero complexity
- Node.js v18 or higher
- Claude Desktop or Cursor IDE
- A Linux/Ubuntu server with SSH access
git clone https://github.com/YOUR_USERNAME/ssh-mcp.git
cd ssh-mcpnpm installFollow the steps below according to your application:
Windows:
Open %APPDATA%\Claude\claude_desktop_config.json and add:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["C:\\Users\\YOUR_USERNAME\\local-mcp-ssh\\index.js"]
}
}
}macOS/Linux:
Open ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["/full/path/ssh-mcp/index.js"]
}
}
}Windows:
Open %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["C:\\Users\\YOUR_USERNAME\\local-mcp-ssh\\index.js"]
}
}
}macOS/Linux:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["/full/path/ssh-mcp/index.js"]
}
}
}Close and reopen Claude Desktop or Cursor. The MCP server will start automatically.
| Tool | Description |
|---|---|
ssh_connect |
Establish SSH connection to server |
ssh_exec |
Execute command on remote server |
ssh_disconnect |
Close SSH connection |
Connecting:
You: "Connect to my Ubuntu server at 192.168.1.100. Username: ubuntu, password: mypassword"
Claude: [Connects using ssh_connect tool]
Running Commands:
You: "Show disk usage"
Claude: [Executes 'df -h' command via ssh_exec]
You: "Show last 10 system logs"
Claude: [Executes 'tail -n 10 /var/log/syslog' via ssh_exec]
You: "List Docker containers"
Claude: [Executes 'docker ps' via ssh_exec]
Disconnecting:
You: "Close SSH connection"
Claude: [Uses ssh_disconnect tool]
- @modelcontextprotocol/sdk - MCP protocol implementation
- ssh2 - SSH2 client library
┌─────────────────┐
│ Claude/Cursor │
│ (AI Client) │
└────────┬────────┘
│ MCP Protocol
│ (stdio)
┌────────▼────────┐
│ MCP SSH Server │
│ (This Project) │
└────────┬────────┘
│ SSH2
│
┌────────▼────────┐
│ Ubuntu Server │
└─────────────────┘
⚠️ Passwords are not stored in config files as plain text, only used at runtime- 🔒 SSH connections are encrypted with standard SSH2 protocol
- 💡 SSH key-based authentication is recommended for production environments (will be added in future versions)
- SSH key support
- Multi-server management
- SFTP file transfer
- Port forwarding
- Session save/load
We welcome your contributions! Feel free to send pull requests.
- Fork it
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
MIT License - See LICENSE file for details.
- Anthropic - For Claude and MCP protocol
- Model Context Protocol - For excellent documentation
⭐ Don't forget to star the project if you like it!