SuperAPI AI 工具集

junos-network

通用与其它

查看项目

更新于 10-15 17:21

技能介绍

用途:面向 Juniper JunOS 设备的网络自动化,通过 MCP Server 提供 CLI 执行、配置管理与批量操作能力,协议链路为 SSH → NETCONF → PyEZ(junos-eznc)。

主要能力(共 10 个工具):设备清单类 3 个(get_router_list 列出路由器、add_device 交互式添加设备、reload_devices 重载设备字典);CLI 执行类 2 个(execute_junos_command 单设备执行、execute_junos_command_batch 多设备并行执行同一命令);配置管理类 3 个(get_junos_config 获取完整运行配置、junos_config_diff 与回滚版本 1-49 比较、load_and_commit_config 加载并提交配置,格式支持 set/text/xml);模板与信息类 2 个(render_and_apply_j2_template 用 YAML 变量渲染 Jinja2 模板并可选应用、支持 dry_run;gather_device_facts 采集主机名、型号、序列号、版本、运行时间等)。

使用方式:需 Python 3.10+(推荐 3.11),安装依赖 junos-eznc>=2.7.4、jxmlease>=1.0.3、lxml>=6.0.0、mcp[cli]>=1.12.2、ncclient>=0.6.15、paramiko>=3.5.1,可通过 git clone + pip install -r requirements.txt 或 pip install .;入口为 junos-mcp-server -f devices.json -t stdio 或 python3 jmcp.py -f devices.json -t stdio;传输支持 stdio(CLI 默认)与 streamable-http(IDE);容器可用 docker build -t junos-mcp-server .。设备在 devices.json 中定义,支持 ssh_key 或 password 认证,生产环境强烈建议使用 SSH 密钥,并可通过 ssh_config 字段支持跳板机。环境变量含 JUNOS_DEVICES_FILE(默认 devices.json)与 JUNOS_TIMEOUT(默认 360 秒)。

安全与限制:内置 block.cmd 命令黑名单(阻止 reboot、halt、power-cycle、power-off、zeroize 等)与 block.cfg 配置黑名单(阻止修改 root 认证与用户凭据),支持自定义正则;get_router_list 会自动过滤密码与密钥路径。工具调用失败时应直接报告错误,不得伪造结果;写操作失败后不应自动重试,需显式确认。其他如具体收费、价格、平台与效果信息暂未提供。