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.0.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.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file ssh_ide_mcp-2.0.0.tar.gz.

File metadata

  • Download URL: ssh_ide_mcp-2.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 3a236e188cc0fa45ae22cfc24a0e496db673dd1d9f4f084a9952889f87a62bb3
MD5 efdbd843eef15e31838ee2ad1d59b4b2
BLAKE2b-256 2ba07e2c5bda5f4c757525ac9b736f47423fc2307ec766210cc2068ed24d44b8

See more details on using hashes here.

File details

Details for the file ssh_ide_mcp-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: ssh_ide_mcp-2.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30bbb0f0d49b475a074fbfdf444e403a8d8809cac7718bfdf42ef0f1ab6c4720
MD5 cebc7cb46ad21ffd9c643851beae2aca
BLAKE2b-256 7932e8908826238b6444d90356a3fbcfca01bfbc859bccda3cd40467819a92c1

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