SSH MCP Server — Connect to remote Linux servers, execute commands, manage files via AI agents
Project description
SSH IDE MCP
SSH MCP Server — Connect to remote Linux servers via SSH, execute commands, manage files, run Python/Jupyter code — all through AI agent conversation.
Features
- 🔌 SSH Connection — Key or password auth, persistent sessions
- 📋 Command Execution — Run any shell command on remote server
- 📁 File Operations — Read, write, edit, delete, list, glob, upload, download
- 🐍 Python Execution — Run Python code in any conda environment
- 📓 Jupyter Notebooks — Read, edit, execute notebook cells with persistent state
- 🖥️ Environment Management — List conda environments, switch Python versions
- 🤖 Universal MCP — Works with Reasonix, Cursor, Claude Code, Codex, and any MCP client
Installation
pip install ssh-ide-mcp
Quick Start
1. Start MCP Server
ssh-ide-mcp mcp
2. Configure your AI Agent
Reasonix (.mcp.json at project root):
{
"ssh-ide-mcp": {
"command": "ssh-ide-mcp",
"args": ["mcp"],
"env": {}
}
}
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"ssh-ide-mcp": {
"command": "ssh-ide-mcp",
"args": ["mcp"]
}
}
}
Claude Code (~/.claude/settings.json or claude.json):
{
"mcpServers": {
"ssh-ide-mcp": {
"command": "ssh-ide-mcp",
"args": ["mcp"]
}
}
}
Codex CLI (add to your MCP config):
{
"ssh-ide-mcp": {
"command": "ssh-ide-mcp",
"args": ["mcp"]
}
}
3. Connect to your server
Tell your AI agent:
"SSH connect to 192.168.1.100 as root, password: mypassword, workdir: /home/project"
Or use key auth:
"SSH connect to 10.0.0.1 as deploy, key: ~/.ssh/id_rsa, workdir: /var/www"
Available Tools (24 tools)
| Category | Tools |
|---|---|
| Connection | ssh_connect, ssh_disconnect, ssh_connections, ssh_save_host, ssh_connect_saved, ssh_list_hosts |
| Command | ssh_exec |
| Files | ssh_read_file, ssh_write_file, ssh_edit_string, ssh_delete_range |
| Directory | ssh_ls, ssh_glob, ssh_stat, ssh_file_tree |
| Transfer | ssh_download, ssh_upload |
| Python | ssh_execute_python, ssh_list_environments |
| Notebook | ssh_read_notebook, ssh_execute_notebook_cell, ssh_edit_notebook_cell, ssh_add_notebook_cell, ssh_delete_notebook_cell |
Example Workflow
1️⃣ Connect → ssh_connect(hostname="...", username="...", password="...", host_alias="my-server")
2️⃣ Explore → ssh_ls(host_alias="my-server", path="/home/project")
3️⃣ Read → ssh_read_file(host_alias="my-server", path="/home/project/config.yml")
4️⃣ Edit → ssh_edit_string(host_alias="my-server", path="/home/project/config.yml",
old_string="version: 1", new_string="version: 2")
5️⃣ Execute → ssh_exec(host_alias="my-server", command="python3 train.py")
6️⃣ Python → ssh_execute_python(host_alias="my-server", code="import torch; print(torch.__version__)", python_bin="python3")
7️⃣ Disconnect → ssh_disconnect(host_alias="my-server")
Requirements
- Python 3.9+
- Remote server: SSH access
Configuration
Host configs saved at ~/.ssh-ide-mcp/config.json.
License
MIT
Project details
Release history Release notifications | RSS feed
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 ssh_ide_mcp-2.0.1.tar.gz.
File metadata
- Download URL: ssh_ide_mcp-2.0.1.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e9235810637b8e019dddb859a8ecf193f66ec9e90d2c226e214f611b6e6b041
|
|
| MD5 |
6a1fe6b96e1f095d1d994fd0f0aafd88
|
|
| BLAKE2b-256 |
6456b09f2d904bd9308a8f8302deaea93a4d5718366feb850c6080b2be088479
|
File details
Details for the file ssh_ide_mcp-2.0.1-py3-none-any.whl.
File metadata
- Download URL: ssh_ide_mcp-2.0.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ba6ac85cc5f6dde8498fa5f651a190459e9c4bce50cabece53403bd94380ddf
|
|
| MD5 |
11e3c47e1a67b1abe951b49ec1f458cc
|
|
| BLAKE2b-256 |
08dc278d06dbf3fd7d71ccd174741324f8ff25f5b27b958254c17d94a35e6c51
|