Token导航 LogoToken导航TokenDH.com
MCP Ssh Frr logo
开发工具stdio官方级别未说明来源级核验

MCP Ssh Frr

MCP Server

MCP server to play with IA and containerlab instances

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
Docker命令行工具开发工具

安装说明

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

作者 / 组织

aweher

提供方

aweher

最后核验

2026/5/18 02:51

快速接入

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

命令预览

pip install mcp-ssh-frr

详细介绍

MCP SSH Docker服务器

提供SSH和Docker命令执行功能的消息控制协议(MCP)服务器。此服务器允许您通过标准化的接口在远程系统和Docker容器上执行命令。

特性

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

先决条件

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

安装

使用pip

pip install mcp-ssh-frr

来源

  1. 克隆存储库:
git clone https://github.com/aweher/mcp-ssh-frr.git
cd mcp-ssh-frr
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 在开发模式下安装软件包:
pip install -e .
  1. 配置SSH:

- 将您的SSH私钥放入 ./config/id_rsa

- 设置环境变量:

     export SSH_HOST="your-remote-host"
     export SSH_USER="your-username" # Defaults to root
     export SSH_PORT="22"  # Optional, defaults to 22

- 别忘了将你的公钥添加到 authorized_keys 上的文件 your-remote-host

用法

启动服务器

python mcp_ssh_docker_server.py

可用工具

1.SSH命令执行(ssh_exec)

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

{
    "name": "ssh_exec",
    "args": {
        "command": "ls",
        "args": ["-la", "/etc"],
        "stream": false,  # Set to true for real-time output
        "structured_output": false  # Set to true for JSON output
    }
}

2.Docker命令执行(ssh_exec_docker)

在Docker容器中执行命令:

{
    "name": "ssh_exec_docker",
    "args": {
        "container": "my-container",
        "command": "vtysh",
        "args": ["-c", "show ip bgp"],
        "stream": false,
        "structured_output": false
    }
}

列出可用容器:

{
    "name": "ssh_exec_docker",
    "args": {
        "list_containers": true,
        "structured_output": false
    }
}

输出格式

  1. 文本输出(默认):
$ command arg1 arg2
(exit code 0)

output line 1
output line 2
  1. 结构化JSON输出:
{
    "command": "command arg1 arg2",
    "exit_code": 0,
    "stdout": "output line 1\noutput line 2",
    "stderr": "",
    "duration": 0.123,
    "metadata": {
        "container": "my-container"  // For Docker commands
    }
}
  1. 进度更新(流式传输时):
[progress] 45% - Bytes read: 1024

配置

超时

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

缓冲区大小

  • 流缓冲区大小:1024字节

错误处理

服务器处理各种错误情况:

  • 连接超时
  • 身份验证失败
  • 命令执行错误
  • Docker容器错误
  • 命令取消

安全

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

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

GPLv3

作者

Ariel S.Weher

目录标签

目录标签

Docker命令行工具开发工具developer-toolssshmcpcontainerlabllmSSH命令执行Python本地部署Docker容器管理远程命令执行实时输出流结构化JSON输出

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP