mcp-ssh-frr

查看源码
2025-5-12
Words 682Read Time 2 min
Score:85

提供SSH和Docker命令执行的MCP服务器,支持远程系统命令和容器内命令的执行。

MCP SSH Docker Server

一个提供 SSH 和 Docker 命令执行功能的 Message Control Protocol (MCP) 服务器。该服务器允许您通过标准化接口在远程系统和 Docker 容器上执行命令。

功能特性

  • 在远程系统上执行 SSH 命令
  • 在 Docker 容器中执行命令
  • 实时命令输出流
  • 长时间运行命令的进度报告
  • 支持结构化 JSON 输出
  • 支持命令取消
  • 连接和命令超时设置
  • 全面的错误处理机制

先决条件

  • Python 3.7+
  • 目标系统的 SSH 访问权限
  • 目标系统上已安装 Docker(用于 Docker 命令)

安装步骤

  1. 克隆仓库:
  1. 创建并激活虚拟环境:
  1. 安装依赖:
  1. 配置 SSH:
      • 将您的 SSH 私钥放置在 ./config/id_rsa
      • 设置环境变量:
        • 别忘了将您的公钥添加到 your-remote-hostauthorized_keys 文件中

    使用方法

    启动服务器

    可用工具

    1. SSH 命令执行 (ssh_exec)

    在远程系统上执行任意命令:

    2. Docker 命令执行 (ssh_exec_docker)

    在 Docker 容器中执行命令:
    列出可用容器:

    输出格式

    1. 文本输出(默认):
    1. 结构化 JSON 输出:
    1. 进度更新(流式传输时):

    配置

    超时设置

    • SSH 连接超时:10 秒
    • 命令执行超时:30 秒
    • 流式传输最大时间:300 秒(5 分钟)

    缓冲区大小

    • 流式传输缓冲区大小:1024 字节

    错误处理

    服务器处理多种错误场景:
    • 连接超时
    • 认证失败
    • 命令执行错误
    • Docker 容器错误
    • 命令取消

    安全性

    • 使用 SSH 密钥认证
    • 命令参数已正确转义
    • 无命令注入漏洞
    • 安全的连接处理

    贡献指南

    1. Fork 仓库
    1. 创建功能分支
    1. 提交您的更改
    1. 推送至分支
    1. 创建 Pull Request

    许可证

    GPLv3

    作者

    Ariel S. Weher <ariel[at]weher.net>
    上一篇
    memory-mcp-server
    下一篇
    reaper-mcp