Skip to main content
Glama

eNSP-MCP

eNSP-MCP 是一个面向 Huawei eNSP 的网络实验 MCP 服务。它可以自动识别当前实验拓扑,读取设备与链路信息,执行常见网络配置任务,并把实验结果以看板、API 和 MCP 工具三种方式统一暴露给 AI 客户端和本地调试流程。

它解决的核心问题是:让 AI 真正基于当前 eNSP 实验环境工作,而不是依赖手工整理的设备信息、静态脚本或复制粘贴命令。你可以把它理解成 eNSP 和 AI 之间的执行中间层。

这个项目适合三类场景:

  • 给 Codex、Cursor、Claude Desktop 这类 AI 客户端提供 eNSP 实验后端

  • 给课程设计、实验教学提供统一的看板和任务执行入口

  • 给自己做实验排障、结果导出、协议配置执行和自动化验证

快速开始

先安装依赖:

py -3.10 -m pip install -r requirements.txt

直接启动看板:

py -3.10 -m backend.launch

启动后访问:

http://127.0.0.1:8000/static/index.html

启动MCP服务:

py -3.10 -m backend.mcp.server

MCP 直启也默认按真实 eNSP 模式运行。

Related MCP server: mcpdeployment

最常用能力

  • 自动识别当前实验拓扑:直接读取当前目录下的 .topo,不用手工维护设备表

  • 快速发现拓扑文件:通过 find_topology_files 查找可用实验拓扑,适合目录混乱时先定位环境

  • 一键查看设备清单:通过 list_devices 获取当前实验中的路由器、交换机、PC 和连接信息

  • 图形化查看实验状态:通过 open_config_board 打开 HTML 看板,直接看拓扑、设备和配置结果

  • 执行常见实验任务:通过 execute_task 直接处理 pc_connectivityospfvlandhcp

  • 执行完整校园网实验:通过 execute_campus_lab 处理固定校园网场景下的 VRRP、MSTP、DHCP、NAT 等内容

  • 执行协议配置能力:支持 WiFi、IPSec VPN、访问控制、公网访问控制、DHCP Relay 等网络配置场景

当前支持直接执行的配置能力

  • 二层与基础网络:VLANMSTP

  • 三层路由:OSPF

  • 地址服务:DHCPDHCP Relay

  • 网关高可用:VRRP

  • 出口能力:NAT、选择性公网访问控制

  • 安全访问控制:ACLtraffic-filter、访客网与内网隔离

  • VPN 与互联:IPSec VPNGRE over IPSec

  • 无线网络:WiFiSSIDVAPAP Group、业务 VLAN

  • 防火墙能力:IPSec policynat-policyACLtraffic-filterno-nat、公网访问控制

这些能力可以通过 execute_taskexecute_campus_labanalyze_reference_configs 相关链路统一调用。

.topo 时也能用

没有拓扑文件时,可以走“注册设备模式”做临时排障:

  • register_device

  • unregister_device

  • list_registered_devices

  • auto_discover_devices

注册后,list_devicesrun_commandconnect_devices 等只读能力可以直接复用这些设备。

输出结果文件

运行过程中会在 output/ 下生成稳定工件,方便看板、MCP、脚本和其他 AI 工具复用:

  • current_topology.json

  • current_devices.json

  • last_verification_report.json

  • reference_capabilities.json

也可以主动导出:

  • export_topology_summary

  • export_verification_report

  • export_reference_capabilities

拓扑定位规则

默认规则很简单:

  1. 如果设置了 TOPOLOGY_FILE,优先使用它。

  2. 否则优先使用当前目录下的 <目录名>.topo

  3. 如果当前目录只有一个 .topo,直接使用它。

如果不确定拓扑在哪,先调用 find_topology_files

如果仓库目录和实验目录不是同一个目录,可以补充:

$env:ENSP_MCP_WORKSPACE_DIR="你的实验目录"

MCP 配置示例

{
  "mcpServers": {
    "ensp-mcp": {
      "command": "py",
      "args": ["-3.10", "-m", "backend.mcp.server"],
      "cwd": "C:\\Users\\用户名\\.agents\\mcps\\ensp_mcp"
    }
  }
}

开发与测试

运行全部测试:

py -3.10 -m pytest

项目结构

backend/
├─ main.py
├─ launch.py
├─ adapters/
├─ mcp/
├─ runtime/
├─ services/
├─ static/
└─ topology/
config/
tests/
requirements.txt
F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmsgfc/ensp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server