Token导航 LogoToken导航TokenDH.com
Aruba Cx MCP Server logo
运维云端stdio官方级别未说明来源级核验

Aruba Cx MCP Server

MCP Server

一个Python MCP服务器,通过REST API将AI助手连接到Aruba CX交换机,用于管理接口、VLAN、光学器件、固件等。

工具数

19

提示词数

0

GitHub Stars

1

资源数

0
网络管理PythonClaudeAPI集成Claude DesktopClaude

安装说明

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

作者 / 组织

slientnight

提供方

slientnight

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r mcp-servers/aruba-cx-mcp/requirements.txt

详细介绍

aruba cx-mcp服务器

Python MCP(模型上下文协议)服务器,通过其REST API将AI助手桥接到Aruba CX交换机。直接从AI驱动的IDE或聊天客户端管理接口、VLAN、光学器件、固件等。

特性

  • 19工具 (13读+6写),涵盖完整的AOS-CX REST API
  • 系统 --系统信息、序列号、正常运行时间、固件、VSF成员详细信息,包括每个成员的序列号和角色、内存利用率
  • 接口 --列表、检查、配置(管理状态、速度、双工、VLAN、描述)
  • 端口接入AAA --通用端口级AAA配置(MAC身份验证、802.1X、身份验证优先级、客户端限制、回退VLAN、角色) mac-radius 预设用于快速转换
  • 虚拟局域网 --列表、创建、删除
  • 配置 --运行/启动配置、写入内存、检查点
  • 路由 --路由表、ARP表
  • 链路层发现协议 --邻居发现
  • MAC地址表 --带有VLAN和MAC过滤器
  • 光学/DOM --收发器信息、每条通道DOM诊断、具有阈值违规检测的健康评估
  • ISSU --准备状态检查、固件暂存、升级、回滚定时器、确认
  • 固件 --从本地文件上传,从HTTP下载,启动银行信息
  • 生成树协议 --生成树状态、根网桥、每个端口的角色/状态、BPDU保护/环路保护/根保护不一致检测
  • 事件日志 --按严重性、时间范围、模块、关键字搜索检索和过滤开关事件日志
  • 垂直同步频率 --拓扑和成员信息
  • 多路开关 --从单个服务器实例管理多个交换机

安装

git clone https://github.com/slientnight/aruba-cx-mcp-server.git
cd aruba-cx-mcp-server
pip install -r mcp-servers/aruba-cx-mcp/requirements.txt

配置

交换机可以通过两种方式配置:

选项1:配置文件(推荐)

创建 aruba-cx-config.json 在服务器目录中(请参见 mcp-servers/aruba-cx-mcp/aruba-cx-config.example.json):

{
  "targets": [
    {
      "name": "core-switch-1",
      "host": "10.0.1.1",
      "username": "admin",
      "password": "your-password",
      "port": 443,
      "verify_ssl": false
    },
    {
      "name": "access-switch-2",
      "host": "10.0.1.2",
      "username": "admin",
      "password": "your-password"
    }
  ],
  "timeout": 30
}

服务器正在查找 aruba-cx-config.json 在当前目录中。集 ARUBA_CX_CONFIG 使用不同的路径。

选项2:环境变量

export ARUBA_CX_TARGETS='[{"name":"my-switch","host":"10.0.0.1","username":"admin","password":"your-password","verify_ssl":false}]'

如果两者都被设置, ARUBA_CX_TARGETS 优先考虑。

每个目标都需要 name, host, username, password.可选字段: port (默认值443), api_version (默认为“v10.13”), verify_ssl (默认为true)。

环境变量

变量默认值描述
ARUBA_CX_TARGETS[]目标交换机定义的JSON数组
ARUBA_CX_CONFIGJSON配置文件的路径
ARUBA_CX_TIMEOUT30请求超时(秒)
ITSM_ENABLEDfalse启用ITSM门进行写入操作
ITSM_LAB_MODEfalse仅格式化CR验证(跳过外部检查)

与MCP客户端一起使用

Kiro/VS代码

添加 .kiro/settings/mcp.json:

{
  "mcpServers": {
    "aruba-cx-mcp": {
      "command": "python3",
      "args": ["-u", "mcp-servers/aruba-cx-mcp/aruba_cx_mcp_server.py"],
      "env": {
        "ARUBA_CX_CONFIG": "/path/to/aruba-cx-config.json"
      }
    }
  }
}

克劳德桌面

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "aruba-cx-mcp": {
      "command": "python3",
      "args": ["-u", "/path/to/aruba-cx-mcp-server/mcp-servers/aruba-cx-mcp/aruba_cx_mcp_server.py"],
      "env": {
        "ARUBA_CX_CONFIG": "/path/to/aruba-cx-config.json"
      }
    }
  }
}

可用工具

阅读工具(13)

工具说明
get_system系统信息+运行状况(主机名、固件、序列号、平台、正常运行时间、MAC、VSF成员序列号/角色、内存)
get_interfaces所有接口汇总,或一个详细(通过 interface 参数)。 detail:config/stats/full
get_vlans所有带有ID、名称和状态的VLAN
get_config正在运行或启动配置(pass config_type)
get_routing路由或ARP表(传递 table="routes""arp")
get_lldp_neighborsLLDP邻居详细信息
get_mac_address_table带可选VLAN/MAC过滤器的MAC表
get_optics收发器信息、DOM诊断或健康状况(通过 detail).支持每通道SFP+和QSFP28 DOM
get_issu_infoISSU准备情况、状态、进度
get_firmware固件版本、启动库、传输进度
get_vsf_topologyVSF堆栈拓扑和成员
get_stpSTP状态、根网桥、每个端口的角色/状态、BPDU保护/环路保护/根保护不一致、BPDU统计信息
get_logs带过滤器的事件日志:严重性、时间范围(since),模块,关键字搜索,限制。默认值50,最大值1000

书写工具(6)

工具说明
configure_interface设置管理状态、描述、速度、双工、VLAN
configure_port_access配置端口级别AAA(MAC认证、802.1X、认证优先级、客户端限制、角色、回退VLAN)。支持 mac-radius 预设和任意JSON配置
manage_vlan创建或删除VLAN(传递 action)
save_config写入内存或创建检查点(通过 action)
manage_issu启动、设置回滚计时器或确认(通过 action)
manage_firmware上传或下载固件(pass action)

写入工具接受可选 change_request_number 参数。当 ITSM_ENABLED=true,有效的CR(格式: CHG +数字)是必需的。

端口接入AAA配置

configure_port_access 该工具通过以下方式在任何AOS-CX交换机端口上提供通用AAA配置 /system/interfaces/{port} REST端点。

快速预设:MAC RADIUS

在一次调用中将静态VLAN端口转换为MAC RADIUS身份验证:

configure_port_access(target="my-switch", port="1/1/9", mode="mac-radius")

此预设:

  • 删除静态VLAN分配
  • 将身份验证优先级设置为mac身份验证优先,dot1x次
  • 启用MAC身份验证和重新身份验证
  • 将客户端限制设置为256

自定义AAA配置

通过以下方式将任何有效的AOS-CX端口属性作为JSON字符串传递 port_access_config:

configure_port_access(
  target="my-switch",
  port="1/1/5",
  port_access_config='{"aaa_auth_precedence":{"1":"dot1x","2":"mac-auth"},"port_access_auth_configurations":{"dot1x":{"auth_enable":true,"reauth_period":3600,"quiet_period":60,"max_retries":3,"tx_period":30},"mac-auth":{"auth_enable":true}},"port_access_clients_limit":128}'
)

预设覆盖

从预设开始,自定义特定字段。用户覆盖被深度合并到预设之上:

configure_port_access(
  target="my-switch",
  port="1/1/9",
  mode="mac-radius",
  port_access_config='{"port_access_clients_limit":512,"port_access_local_override":{"critical_vlan":100,"auth_fail_vlan":999}}'
)

支持的字段

AOS-CX REST API在上接受的任何字段 /system/interfaces/{port} 可以通过 port_access_config.常见字段:

字段示例描述
aaa_auth_precedence{"1":"mac-auth","2":"dot1x"}身份验证方法顺序
port_access_auth_configurations{"mac-auth":{"auth_enable":true,"reauth_enable":true}}按方法身份验证设置
port_access_clients_limit256最大已验证客户端数
port_access_role"/rest/v10.13/system/roles/my-role"分配端口访问角色
port_access_local_override{"critical_vlan":100,"auth_fail_vlan":999,"guest_vlan":50}回退VLAN分配
vlan_tagnull删除静态VLAN(设置为null)
vlan_modenull删除VLAN模式(设置为空)

响应格式

该工具返回完整审计跟踪的基线(之前)、应用(修补的内容)和验证(之后)状态:

{
  "status": "success",
  "port": "1/1/9",
  "applied": { ... },
  "baseline": { "vlan_tag": "598" },
  "verify": {
    "aaa_auth_precedence": {"1": "mac-auth", "2": "dot1x"},
    "port_access_auth_configurations": {"mac-auth": {"auth_enable": true, "reauth_enable": true}},
    "port_access_clients_limit": 256
  }
}

测试

88个基于属性的测试使用假设验证正确性属性:

cd mcp-servers/aruba-cx-mcp
python -m pytest tests/ -v

需求

  • Python>=3.10
  • Aruba CX交换机在启用REST API的情况下运行AOS-CX(在6300M VSF、6100、8360-FL/PL/LL.10.16上测试)
  • 从MCP服务器到交换机管理接口的网络访问

许可证

麻省理工学院

目录标签

目录标签

网络管理PythonClaudeAPI集成本地部署AI集成RESTAPI交换机配置自动化工具

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

19

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP