Junos设备管理工具

提供用于查看Junos设备运行状态和更改配置的工具,适用于网络设备管理场景。

  • by dpajin
  • Python
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 dpajin/mcp-server-junos

使用说明

Junos MCP服务器(MCP服务器Junos)

概述

这 mcp-server-junos 该项目提供MCP工具,用于查看瞻博网络设备的运行状态和更改配置 朱诺斯 操作系统。 它使用Juniper的 junos-eznc Python SDK和 FastMCP.

工具

  • get_act:检索有关设备的基本信息,如操作系统版本和型号。
  • show_命令:在设备上执行任何指定的show命令并返回输出。它可用于检索设备配置并执行ping命令。
  • apply_config:在两者中加载并提交配置更改到设备 set 和 junos (花括号)格式。
  • 列表_设备:检索以下列表 本地配置 MCP服务器上的设备。清单包括 设备名称 和 IP地址 用于远程访问。

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd mcp-server-junos
    
  2. 安装所需的依赖项:

    pip install -r requirements.txt
    
  3. 重命名示例配置文件 config.example.yml 向 config.yml

    mv config.example.yml config.yml
    

配置

预期的配置文件已命名 config.yml 它应该位于根目录中。 提供的示例配置文件 config.example.yml 可以作为起点

mv config.example.yml config.yml

如果 环境变量 如果使用,它们将优先于配置文件参数。

全局服务器配置

使用配置文件:

global:
  # To listen on all available interfaces use "0.0.0.0"
  server_host: 127.0.0.1
  server_port: 10008
  # Possible values: "sse" or "streamable-http"
  server_transport: "sse"

使用环境变量:

MCP_SERVER_JUNOS_HOST="127.0.0.1"
MCP_SERVER_JUNOS_PORT=10008
MCP_SERVER_JUNOS_TRANSPORT="sse"
LOG_LEVEL="INFO"

设备清单

使用配置文件:

配置文件密钥 devices 包含设备名称及其各自访问配置的字典。

  • device_name:设备名称
    • host:用于访问的IP地址
    • user:访问用户名
    • passwd:访问密码
    • port:用于NETCONF/SSH访问的TCP端口

例子:

access: 

  default:
    user: "admin"
    passwd: "admin@123"
    port: 830

  test: &test
    user: "admin"
    passwd: "admin@123"
    port: 830

devices:

  r1:
    host: 172.20.20.2
    user: "admin"
    passwd: "admin@123"
    port: 830

  r2:
    host: 172.20.20.3
    <<: *test

默认访问参数 可以为配置文件中未明确配置的设备指定。 这些可以通过在暴露的MCP工具中提供IP地址来使用 host 争论。

  • 首选是环境变量:

    MCP_SERVER_JUNOS_ACCESS_DEFAULT_USER="admin"
    MCP_SERVER_JUNOS_ACCESS_DEFAULT_PASSWD="admin"
    MCP_SERVER_JUNOS_ACCESS_DEFAULT_PORT=830
    
  • 第二个首选项是配置文件:

    access:
      default:
        user: "admin"
        passwd: "admin"
        port: 830
    

用法

要使用MCP服务器,请运行以下文件:

python mcp_server_junos.py
  • MCP服务器在可配置端口(默认10008)和IP上公开HTTP SSE接口
  • 本地连接到MCP SSE服务器的URL为: http://127.0.0.1:10008/sse

测试

使用Github Copilot和VS Code作为MCP客户端,使用HTTP SSE进行测试。

  • 各种显示命令
  • 基本设备配置
  • 设备间ping

着手做

  • 制作Docker镜像

许可证

该项目根据麻省理工学院许可证获得许可。