使用说明

项目简介

mcpsshclient 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,它作为一个 SSH 客户端,允许用户通过 MCP 客户端安全地管理和操作远程服务器。该服务器的核心功能是提供 SSH 连接管理和命令执行能力,并集成了安全代理,使用户能够安全地执行远程命令,防止潜在的恶意操作。

主要功能点

  • SSH 连接管理: 支持创建和管理到远程服务器的 SSH 连接。
  • 安全命令执行: 允许在远程服务器上执行命令,并集成了安全代理,在命令执行前进行安全检测,防止执行不安全的命令。安全检测由集成的 Ollama 和预设的安全策略完成。
  • 命令安全检测: 通过集成的安全代理,利用本地大语言模型 (Ollama) 和可配置的安全策略,对即将执行的 SSH 命令进行安全评估,只有被判断为安全的命令才会被实际执行。
  • MCP 标准协议: 遵循 MCP 协议标准,易于与各种兼容 MCP 协议的客户端集成。

安装步骤

  1. 克隆仓库 在本地克隆 'mcpsshclient' 仓库到您的计算机:

    git clone https://github.com/jonnadul/mcpsshclient.git
    cd mcpsshclient
  2. 安装依赖并构建 确保您已安装 Node.js 和 npm,然后运行以下命令安装项目依赖并构建项目:

    npm install
    npm run build
  3. 配置安全代理 (可选) 如果您希望启用安全代理功能,请按照以下步骤操作:

    • 安装并运行 Ollama:https://ollama.com/
      ollama serve
      ollama pull llama2
      ollama run llama2
    • 编辑 'secagentconfig.json' 文件,设置 '"ENABLE_SECAGENT": true' 以启用安全代理,并配置 '"SECURITY_POLICY"' 定义安全策略。例如:
      {
        "ENABLE_SECAGENT": true,
        "SECURITY_POLICY": "Only allow safe system administration commands."
      }

服务器配置

为了让 MCP 客户端能够连接到 'mcpsshclient' 服务器,您需要在 MCP 客户端的配置文件中添加或修改服务器配置。以下是一个配置示例,通常在 MCP 客户端的设置中找到 MCP Server 配置项,例如 Claude Desktop 或 Cursor AI:

{
  "mcpServers": {
    "sshclient": {  // 服务器名称,客户端用此名称引用
      "command": "node",  // 启动服务器的命令,这里使用 node.js 运行时
      "args": [
        "[您的mcpsshclient项目完整路径]/build/index.js" // 服务器启动脚本的路径,请替换为实际路径
      ]
    }
  }
}

请注意: 将 '[您的mcpsshclient项目完整路径]' 替换为您本地 'mcpsshclient' 项目的实际完整路径。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,导航到 'mcpsshclient' 项目目录,并运行以下命令启动服务器:

    npm run start

    或者直接运行构建后的 'index.js' 文件:

    node build/index.js

    服务器成功启动后,您应该看到 'SSHClient MCP Server running on stdio' 的日志信息。

  2. 在 MCP 客户端中使用:

    • 确保您的 MCP 客户端已配置了 'sshclient' 服务器,配置信息参考上面的 服务器配置 部分。
    • 在 MCP 客户端中,您可以使用 'sshclient.new-ssh-connection' 工具创建新的 SSH 连接。例如,在 Claude Desktop 中,您可以使用 '@sshclient.new-ssh-connection' 触发该工具,并提供 'host', 'port', 'username', 'password' 等参数。
    • 使用 '@sshclient.run-safe-command' 工具在已连接的服务器上执行安全命令,提供 'command' 参数即可。服务器会先通过安全代理检测命令的安全性,再决定是否执行。

通过以上步骤,您就可以使用 'mcpsshclient' MCP 服务器在 MCP 客户端中安全地管理 SSH 连接和执行远程命令了。

信息

分类

开发者工具