MCP server for SSH remote server management
Project description
cygnus-ssh-mcp
An MCP (Model Context Protocol) server for SSH remote server management. Enables AI assistants like Claude to execute commands, manage files, and perform system administration tasks on remote Linux servers.
Features
- Command Execution: Run commands with timeout control and background process support
- File Operations: Read, write, edit, search files and directories
- Process Management: Background tasks, process monitoring, interruption
- Sudo Support: Elevated privileges with password or passwordless sudo
- Multi-Auth: Password or SSH key authentication (with passphrase support)
- Host Management: TOML-based configuration with aliases
Installation
pip install cygnus-ssh-mcp
Or with uvx:
uvx cygnus-ssh-mcp
Quick Start
1. Create a hosts configuration file
Create ~/.mcp_ssh_hosts.toml:
[admin@myserver.com]
password = "your_password"
port = 22
alias = "myserver"
description = "My production server"
# Or with SSH key
[deploy@server2.com]
keyfile = "~/.ssh/id_ed25519"
port = 22
alias = "deploy"
2. Configure Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"ssh": {
"command": "cygnus-ssh-mcp",
"args": ["--config", "/path/to/.mcp_ssh_hosts.toml"]
}
}
}
3. Connect and use
In Claude, connect to a host:
Connect to myserver
Then run commands:
Show disk usage on the server
Documentation
See the docs/ folder for detailed documentation:
- Overview
- Installation
- Platform Compatibility
- Host Configuration
- Tools Reference
- Command Execution
- Process Management
- Logging
- Claude Desktop Setup
Available Tools
| Tool | Description |
|---|---|
ssh_conn_connect |
Connect to a configured host |
ssh_cmd_run |
Execute a command |
ssh_cmd_run_sudo |
Execute with sudo |
ssh_file_read |
Read file contents |
ssh_file_write |
Write to a file |
ssh_file_edit |
Edit file with search/replace |
ssh_dir_list |
List directory contents |
ssh_task_start |
Start background task |
ssh_task_status |
Check task status |
| ... and more |
See Tools Reference for the complete list.
License
GPL-3.0 - See LICENSE for details.
Author
Peter Ritter
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cygnus_ssh_mcp-1.0.0.tar.gz.
File metadata
- Download URL: cygnus_ssh_mcp-1.0.0.tar.gz
- Upload date:
- Size: 81.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffae736c16467fbd7a0dec96c774e856d54ef0a12010163b3578d1a6cc9d3954
|
|
| MD5 |
85c4e5a0ce7406ba4c591fcd41574f72
|
|
| BLAKE2b-256 |
e707c9126136db6b1522a3a4071ff0d5aefdde4db81987d31a4e11a91ec61bbf
|
Provenance
The following attestation bundles were made for cygnus_ssh_mcp-1.0.0.tar.gz:
Publisher:
publish.yml on cygnussystems/cygnus-ssh-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cygnus_ssh_mcp-1.0.0.tar.gz -
Subject digest:
ffae736c16467fbd7a0dec96c774e856d54ef0a12010163b3578d1a6cc9d3954 - Sigstore transparency entry: 1161769332
- Sigstore integration time:
-
Permalink:
cygnussystems/cygnus-ssh-mcp@434f0397fb69fb1cb3114cc67c4f85bc432a6f80 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/cygnussystems
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@434f0397fb69fb1cb3114cc67c4f85bc432a6f80 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cygnus_ssh_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cygnus_ssh_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 109.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e22596d589eea2a340ff27d8562148f4093311bacb9c7eae599e861c375a2fc2
|
|
| MD5 |
7201f6fa1288915f323fbf67a23fdd56
|
|
| BLAKE2b-256 |
e55d0d989695a4d3e7b38414a8ed84194b113e058353b537dbb5123be65f2aa5
|
Provenance
The following attestation bundles were made for cygnus_ssh_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on cygnussystems/cygnus-ssh-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cygnus_ssh_mcp-1.0.0-py3-none-any.whl -
Subject digest:
e22596d589eea2a340ff27d8562148f4093311bacb9c7eae599e861c375a2fc2 - Sigstore transparency entry: 1161769415
- Sigstore integration time:
-
Permalink:
cygnussystems/cygnus-ssh-mcp@434f0397fb69fb1cb3114cc67c4f85bc432a6f80 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/cygnussystems
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@434f0397fb69fb1cb3114cc67c4f85bc432a6f80 -
Trigger Event:
push
-
Statement type: