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
Metadata
Release files for ssh-ide-mcp 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ssh_ide_mcp-2.0.1.tar.gz | 15.6 kB | Without provenance | Details for ssh_ide_mcp-2.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ssh_ide_mcp-2.0.1-py3-none-any.whl | Python 3 | none | any | Details for ssh_ide_mcp-2.0.1-py3-none-any.whl |
Total release size: 31.3 kB
Release files / ssh_ide_mcp-2.0.1.tar.gz
| Download URL | ssh_ide_mcp-2.0.1.tar.gz |
|---|---|
| Size | 15.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e9235810637b8e019dddb859a8ecf193f66ec9e90d2c226e214f611b6e6b041
|
|
BLAKE2b-256 checksum How to use checksums |
6456b09f2d904bd9308a8f8302deaea93a4d5718366feb850c6080b2be088479
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / ssh_ide_mcp-2.0.1-py3-none-any.whl
| Download URL | ssh_ide_mcp-2.0.1-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ba6ac85cc5f6dde8498fa5f651a190459e9c4bce50cabece53403bd94380ddf
|
|
BLAKE2b-256 checksum How to use checksums |
08dc278d06dbf3fd7d71ccd174741324f8ff25f5b27b958254c17d94a35e6c51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Security for ssh-ide-mcp 2.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.