Cover image
Try Now
2025-04-04

用于SSH连接和文件操作的MCP服务器。

3 years

Works with Finder

1

Github Watches

0

Github Forks

1

Github Stars

ssh-connect MCP server

** All of the code in this project was created by a generative AI. **

An MCP server for SSH connections and file operations.

Components

Tools

The server implements several SSH-related tools:

  • connect: Connect to an SSH server

    • Optional parameters to override environment variables: host, port, username, password, key_path, key_passphrase
    • Returns connection status
  • disconnect: Disconnect from the SSH server

    • No parameters required
    • Returns disconnection status
  • execute: Execute a command on the SSH server

    • Required parameter: command (string)
    • Optional parameter: timeout (integer, seconds, default: 60)
    • Returns command output (stdout and stderr) and exit status
  • upload: Upload a file to the SSH server

    • Required parameters: local_path, remote_path
    • Returns upload status
  • download: Download a file from the SSH server

    • Required parameters: remote_path, local_path
    • Returns download status
  • list_files: List files in a directory on the SSH server

    • Required parameter: path
    • Returns list of files with type and size information

Configuration

The SSH connection parameters can be configured using environment variables in the MCP settings:

  • SSH_HOST: SSH server hostname or IP address
  • SSH_PORT: SSH server port (default: 22)
  • SSH_USERNAME: SSH username
  • SSH_PASSWORD: SSH password (if using password authentication)
  • SSH_KEY_PATH: Path to SSH private key file (if using key authentication)
  • SSH_KEY_PASSPHRASE: Passphrase for SSH private key (if required)

You must provide either SSH_PASSWORD or SSH_KEY_PATH for authentication.

Example Configuration

An example MCP configuration file is provided in mcp-config-example.json. You can use this as a template for configuring the SSH MCP server:

{
  "mcpServers": {
    "ssh-connect": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/ssh-connect",
        "run",
        "ssh-connect"
      ],
      "env": {
        "SSH_HOST": "example.com",
        "SSH_PORT": "22",
        "SSH_USERNAME": "username",
        "SSH_PASSWORD": "password",
        "SSH_KEY_PATH": "/path/to/private_key",
        "SSH_KEY_PASSPHRASE": "key_passphrase"
      }
    }
  }
}

Note: You typically only need to provide either SSH_PASSWORD or SSH_KEY_PATH (with optional SSH_KEY_PASSPHRASE), not both.

Examples

An example Python script is provided in the examples directory to demonstrate how to use the SSH MCP server:

  • ssh_example.py: Shows how to connect to an SSH server, execute commands, upload/download files, list directory contents, and disconnect.

To run the example:

python examples/ssh_example.py

This example assumes the SSH MCP server is already configured and running.

Using with Cline

To help Cline understand how to use the SSH MCP server without reading the README.md file, the following files are provided:

  • cline_ssh_usage_example.md: A quick reference guide for using the SSH MCP server with Cline, including example commands and a complete workflow.
  • create_test_file.py: A script to create a test file for upload/download testing.
  • test_ssh_mcp.sh: A shell script that creates a test file and provides step-by-step instructions for testing the SSH MCP server with Cline.
  • test_ssh_mcp.py: A Python script that demonstrates how to use the SSH MCP server directly from Python, without using Cline.
  • ssh_mcp_guide.html: An HTML guide with examples and a complete workflow for using the SSH MCP server with Cline.

To test the SSH MCP server with Cline:

./test_ssh_mcp.sh

This will create a test file and display instructions for testing the SSH MCP server with Cline.

To test the SSH MCP server directly from Python:

./test_ssh_mcp.py

This will perform a complete test of the SSH MCP server, including connecting, executing commands, uploading/downloading files, and disconnecting.

Quickstart

Install

All-in-One Setup

For a complete setup and test of the SSH MCP server, you can use the all-in-one setup script:

./setup_and_test.sh

This script will:

  1. Install the required dependencies
  2. Install the SSH MCP server in Cline or Claude Desktop (or both)
  3. Test the SSH MCP server

Manual Setup

Dependencies

Before using the SSH MCP server, you need to install the required dependencies:

./install_dependencies.sh

This script will install the paramiko Python package, which is required for SSH connections.

Automatic Installation

Two Python scripts are provided to automatically install the SSH MCP server:

  1. For Cline:
./install_ssh_mcp.py
  1. For Claude Desktop:
./install_ssh_mcp_claude.py

These scripts will:

  1. Detect the location of the configuration file
  2. Prompt you for SSH connection parameters
  3. Update the configuration file with the SSH MCP server configuration

Manual Installation

Claude Desktop

An example Claude Desktop configuration file is provided in claude-desktop-config-example.json. This shows how to configure the SSH MCP server in Claude Desktop.

To install the SSH MCP server in Claude Desktop:

  1. Locate your Claude Desktop configuration file:

    • On macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Add the SSH MCP server configuration to the mcpServers object in the configuration file:

{
  "mcpServers": {
    "ssh-connect": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/ssh-connect",
        "run",
        "ssh-connect"
      ],
      "env": {
        "SSH_HOST": "example.com",
        "SSH_PORT": "22",
        "SSH_USERNAME": "username",
        "SSH_PASSWORD": "password",
        "SSH_KEY_PATH": "/path/to/private_key",
        "SSH_KEY_PASSPHRASE": "key_passphrase"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
  1. Restart Claude Desktop to apply the changes.

Note: Make sure to replace the placeholder values with your actual SSH connection details.

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Testing

A test script is provided in the tests directory to verify that the SSH MCP server is working correctly:

python tests/test_ssh_connect.py

This test script uses unittest and mocking to test the basic functionality of the SSH MCP server without actually connecting to an SSH server.

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /path/to/ssh-connect run ssh-connect

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Lists Tailwind CSS classes in monospaced font

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • https://appia.in
  • Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • tomoyoshi hirata
  • Sony α7IIIマニュアルアシスタント

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • jae-jae
  • MCP服务器使用剧作《无头浏览器》获取网页内容。

  • HiveNexus
  • 一个适用于中小型团队的AI聊天机器人,支持DeepSeek,Open AI,Claude和Gemini等车型。 专为中小团队设计的ai聊天应用,支持deepSeek,打开ai,claude,双子座等模型。

  • ravitemer
  • 一个功能强大的Neovim插件,用于管理MCP(模型上下文协议)服务器

  • patruff
  • Ollama和MCP服务器之间的桥梁,使本地LLMS可以使用模型上下文协议工具

  • pontusab
  • 光标与风浪冲浪社区,查找规则和MCP

  • JackKuo666
  • 🔍使AI助手可以通过简单的MCP接口搜索和访问PYPI软件包信息。

    Reviews

    4 (1)
    Avatar
    user_QY26EWlC
    2025-04-16

    SSH-Connect-MCP-Server by t-suganuma is a fantastic tool for anyone using MCP applications. Its user-friendly interface and seamless integration make it a breeze to manage SSH connections. The detailed documentation available on the GitHub page (https://github.com/t-suganuma/ssh-connect-mcp-server) is also extremely helpful. If you're in need of a reliable server management solution, I highly recommend giving this a try!