Token导航 LogoToken导航TokenDH.com
My MCP Ssh logo
运维云端未说明官方级别未说明来源级核验

My MCP Ssh

MCP Server

一个基于模型上下文协议(MCP)的SSH连接工具,允许大型语言模型通过SSH安全连接到远程服务器并通过MCP协议执行文件操作。

工具数

6

提示词数

0

GitHub Stars

4

资源数

0
会话管理Python命令执行

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ffpy

提供方

ffpy

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

我的mcp ssh

![EN doc](README.md) ![CN doc](README_zh_CN.md)

一种基于模型上下文协议(MCP)的SSH连接工具,允许大型语言模型通过SSH安全地连接到远程服务器,并通过MCP协议执行文件操作。

特性

  • SSH连接管理:连接到远程SSH服务器
  • 命令执行:在远程服务器上执行命令
  • 文件传输:上传和下载文件
  • 会话管理:维护和关闭SSH会话

安装

依赖项

  • Python>=3.12
  • uv包管理器
# Clone the project
git clone https://github.com/ffpy/my-mcp-ssh.git

# Enter the project directory
cd my-mcp-ssh

# Install dependencies
uv sync

用法

在客户端配置

{
  "mcpServers": {
    "my-mcp-ssh": {
      "command": "uv",
      "args": [
        "--directory",
        "/my-mcp-ssh",
        "run",
        "src/main.py"
      ],
      "env": {}
    }
  }
}

环境变量

SSH连接默认值(可选)

环境变量为SSH连接提供默认值,在频繁连接到同一服务器或自动化环境时非常有用:

  • SSH_HOST:SSH服务器主机名或IP地址
  • SSH_PORT:SSH服务器端口
  • SSH_USERNAME:SSH用户名
  • SSH_PASSWORD:SSH密码(如果使用密码身份验证)
  • SSH_KEY_PATH:SSH私钥文件路径(如果使用密钥身份验证)
  • SSH_KEY_PASSPHRASE:SSH私钥密码(如果需要)

何时使用SSH环境变量:

  • 重复连接:多次连接到同一服务器时
  • CI/CD管道:用于自动部署脚本
  • 开发环境:为常用服务器设置默认值
  • 容器部署:配置默认值而不修改代码

备注:传递给的参数 connect 该工具始终覆盖环境变量。

服务器配置

可以配置其他服务器行为:

  • SESSION_TIMEOUT:会话超时时间(分钟),默认值为30分钟
  • MAX_OUTPUT_LENGTH:最大命令输出长度(字符),默认值为5000个字符

SSH凭据文件

为了提高安全性,您可以将SSH凭据存储在本地配置文件中,而不是将密码作为参数传递。

  1. 复制示例文件:
cp ssh-credentials.json.example ssh-credentials.json
  1. 编辑 ssh-credentials.json 使用您的实际凭据:
{
  "root@192.168.1.100": "your_password",
  "admin@web-[0-9].example.com": "web_password",
  "deploy@server-{dev,test,staging}.company.com": "deploy_password",
  "admin@*.internal.network": "internal_password"
}

支持的模式:

  • * -匹配任何字符
  • ? -匹配单个字符
  • [0-9] -匹配任何数字
  • {dev,test,staging} -匹配列出的任何选项

身份验证优先级顺序:

  1. 传递给连接工具的参数(password, key_path)
  2. 凭据文件中的完全匹配(username@host)
  3. 凭据文件中的模式匹配(通配符)
  4. 环境变量密码(SSH_PASSWORD)
  5. 环境变量键(SSH_KEY_PATH)
  6. 默认SSH密钥(~/.ssh/id_rsa 如果存在)

安全:

  • 文件权限自动设置为600(仅限所有者读/写)
  • 该文件被添加到.gitignore中以防止意外提交

注:

  • 凭证文件更改无需重新启动服务器即可立即生效
  • 每次尝试连接时都会重新读取文件

刀具清单

连接

连接到SSH服务器

参数:

  • host:SSH服务器主机名或IP地址(可选)
  • port:SSH服务器端口(可选,默认22)
  • username:SSH用户名(可选)
  • password:用于身份验证的SSH密码(可选)
  • key_path:用于身份验证的SSH私钥文件路径(可选)
  • key_passphrase:SSH私钥密码(如果需要)(可选)

断开

断开与SSH会话的连接

参数:

  • session_id:要断开连接的会话ID

list_sessions

列出所有活动的SSH会话

参数:

执行

在SSH服务器上执行命令

参数:

  • session_id:会话ID
  • command:要执行的命令
  • stdin:输入要提供给命令的字符串,默认值为空
  • timeout:命令超时(秒),默认值为60秒

上传

将文件上传到SSH服务器

参数:

  • session_id:会话ID
  • local_path:本地文件路径
  • remote_path:远程文件路径

下载

从SSH服务器下载文件

参数:

  • session_id:会话ID
  • remote_path:远程文件路径
  • local_path:本地文件路径

调试

./inspector.sh 用于在线调试

许可证

我的mcp-ssh是根据Apache许可证2.0版获得许可的

目录标签

目录标签

会话管理Python命令执行SSH管理本地部署远程连接文件传输

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP