README.md•2.38 kB
# MCP SSH Server with Streamable HTTP
A Model Context Protocol (MCP) HTTP server that enables Claude Code to control remote servers via SSH for automated deployment, testing, and operations.
**⚡ New Feature: Streamable HTTP Support**
This fork adds Streamable HTTP support for SSE-compatible clients while maintaining backward compatibility with standard HTTP.
## Features
- **SSH Connection Management**: Connect to multiple SSH servers simultaneously
- **Command Execution**: Execute commands on remote servers
- **File Transfer**: Upload and download files via SFTP
- **Dual Protocol Support**: Standard HTTP + Streamable HTTP
- **SSE Client Compatible**: Works with Streamable HTTP clients
- **MCP HTTP Protocol**: Full compatibility with Claude Code
- **Bearer Token Authentication**: Secure API access
- **Auto-restart**: Systemd service with automatic recovery
## Quick Start
### 🚀 One-Click Streamable Deployment
```bash
# SSH to your server
ssh root@your-server-ip
# Set environment variables
export GITHUB_TOKEN="your_github_token_here"
export AUTH_TOKEN="your_secure_token_here"
# One-click deployment with Streamable support
curl -sSL https://raw.githubusercontent.com/timetetng/mcpssh-streamable/main/deploy-streamable.sh | sudo -E bash
```
### 🔧 Client Configuration
**Standard HTTP (Traditional Clients):**
```bash
claude mcp add --transport http mcp-ssh http://your-server-ip:3000/mcp --header "Authorization: Bearer YOUR_TOKEN"
```
**Streamable HTTP (SSE Clients):**
```json
{
"mcpServers": {
"mcpssh-streamable": {
"url": "http://your-server-ip:3001/mcp"
}
}
}
```
## Available Tools
| Tool | Description | Parameters |
|------|-------------|------------|
| `ssh_connect` | Connect to SSH server | host, username, password, port? |
| `ssh_execute` | Execute command | connectionId, command |
| `ssh_upload` | Upload file to server | connectionId, localPath, remotePath |
| `ssh_download` | Download file from server | connectionId, remotePath, localPath |
| `ssh_disconnect` | Disconnect from server | connectionId |
| `ssh_list_connections` | List active connections | - |
## Architecture
- **Port 3000**: Standard HTTP MCP Server
- **Port 3001**: Streamable HTTP MCP Server
- **Backward Compatible**: Existing clients continue to work
- **Dual Service**: Independent services for better reliability
## License
ISC