Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssh_ide_mcp-2.0.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ssh_ide_mcp-2.0.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

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

Hashes for ssh_ide_mcp-2.0.1.tar.gz
Algorithm Hash digest
SHA256 0e9235810637b8e019dddb859a8ecf193f66ec9e90d2c226e214f611b6e6b041
MD5 6a1fe6b96e1f095d1d994fd0f0aafd88
BLAKE2b-256 6456b09f2d904bd9308a8f8302deaea93a4d5718366feb850c6080b2be088479

See more details on using hashes here.

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

Hashes for ssh_ide_mcp-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8ba6ac85cc5f6dde8498fa5f651a190459e9c4bce50cabece53403bd94380ddf
MD5 11e3c47e1a67b1abe951b49ec1f458cc
BLAKE2b-256 08dc278d06dbf3fd7d71ccd174741324f8ff25f5b27b958254c17d94a35e6c51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page