SSH IDE — Remote SSH IDE with Jupyter notebook support, file browser, and MCP tools for AI agents
Project description
SSH IDE MCP
Remote SSH IDE with Jupyter notebook support + MCP tools for AI agents.
Connect to Linux servers via SSH, browse/edit files, execute Python/Jupyter code — all through a Web IDE interface and AI agent tools (MCP protocol).
pip install ssh-ide-mcp
Features
- 🔌 SSH Connection — Key or password auth, persistent sessions
- 📁 File Browser — VS Code-style sidebar, browse remote files
- ✏️ Code Editor — Monaco Editor (VS Code engine) with syntax highlighting
- 📓 Jupyter Notebooks — View, edit, and execute .ipynb cells remotely
- 🐍 Python Execution — Run Python code in any environment (conda, system)
- 🖥️ Terminal — Web-based terminal via SSH
- 🤖 MCP Tools — 25+ MCP tools for AI agents to control remote servers
- 🔄 Universal — Works with Reasonix, Cursor, Claude Code, Codex, and any MCP client
Quick Start
1. Install
pip install ssh-ide-mcp
2a. Start Web IDE (human interface)
ssh-ide-mcp web 8765
Open http://localhost:8765 in your browser.
2b. Start MCP Server (AI agent interface)
ssh-ide-mcp mcp
For Reasonix/Cursor/Claude Code, add to .mcp.json:
{
"ssh-ide-mcp": {
"command": "ssh-ide-mcp",
"args": ["mcp"],
"env": {}
}
}
3. Connect to your server
Via Web UI: Fill in hostname, username, password → click Connect
Via AI agent: Tell your AI agent:
"SSH connect to 172.19.247.29 as rchen, password: YwL7qc7wcn, workdir: /cluster2/huanglab/rchen"
MCP Tools (for AI Agents)
| 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 |
| Web | web_ide_url |
Web UI Screenshot
┌──────────────────────────────────────────────────────────┐
│ Tab Bar: [file.py] [notebook.ipynb] [Terminal] ● Connected │
├────────────────────────────────────┬─────────────────────┤
│ │ 📁 File Tree │
│ Monaco Editor / Notebook Viewer │ ├── src/ │
│ │ │ ├── main.py │
│ (Edit and execute code here) │ │ └── utils.py │
│ │ ├── notebooks/ │
│ │ │ └── analysis │
│ │ └── config.yml │
│ ├─────────────────────┤
│ │ 🐍 Env: Python 3 │
└────────────────────────────────────┴─────────────────────┘
Configuration
Host configs saved at ~/.ssh-ide-mcp/config.json.
Requirements
- Python 3.9+
- Remote server: SSH access, Python 3 (for Jupyter execution)
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-1.0.0.tar.gz.
File metadata
- Download URL: ssh_ide_mcp-1.0.0.tar.gz
- Upload date:
- Size: 29.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89ed92d01ffa7ffbb5dd4876d4babed63824f6bd806b9448c9841f7c2a490b01
|
|
| MD5 |
079a9af5bd6afb218eb9553899971df7
|
|
| BLAKE2b-256 |
a27ca4c0d243b9d141c5f7f9ca92a2bf8f86edcc4cc62f6fdeb378609d468236
|
File details
Details for the file ssh_ide_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ssh_ide_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 32.2 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 |
aa98faa035e671368519b27ef8f3ce18cf9fc440e693adc1adbb8a779ed7882f
|
|
| MD5 |
1b3e24f082524ee0491ae0215cf0f9b2
|
|
| BLAKE2b-256 |
af67ed38bbad9f981883b343a7f2b9ac86dac89d70211ab79e904190f6b5d420
|