eNSP Automation MCP
Generates eNSP network topologies, deploys Huawei VRP configurations, and provides verification plans for lab scenarios.
README
eNSP Automation MCP
一个面向 eNSP 拓扑生成、VRP 配置下发和实验验收的 MCP 服务。
它能帮 agent 生成网络拓扑、输出华为 VRP 配置、批量下发配置,并给出验收命令和调试案例。定位很明确:把 eNSP 里重复搭拓扑、重复写配置、重复整理验证命令这部分省下来。
这不是华为官方工具,也不是 eNSP 官方插件。它是一个基于
.topo工程生成 + Telnet/Console CLI 自动化的开源 MCP 项目。
现在能跑到什么程度
目前先放了一套“中小型校园网”示例模板。它不是万能模板,只是一个相对完整的起点:有分区、有路由、有出口、有服务、有安全策略,拿来做实验、录演示、整理验证证据都比较方便。
这套模板大概长这样:
- 6 个 VLAN:教师、学生、实验室、服务器、管理、访客。
- 30 多台设备,40 多条线,看起来像一个完整校园网,而不是两台交换机随便连一下。
- 接入口走 Access,交换机之间走 Trunk。
- 跨 VLAN 通信用 AR 子接口做。
- 路由部分用 OSPF area 0,出口再配一条默认路由。
- DHCP 地址池放在核心路由侧。
- DNS、Web、FTP 这三类服务会把地址和测试步骤写清楚。
- 出口有 NAT/PAT。
- ACL 做了两条比较典型的限制:
- 学生区不能访问管理区。
- 访客区不能访问校园内网,但能访问模拟外网。
- 生成验收用的命令、测试点和一个调试案例,方便后面截图写报告。
重要限制
eNSP 和 Packet Tracer 不一样,没有稳定公开的 addDevice/addLink 画布控制接口。所以本项目采用更稳的路线:
- 生成
.topo拓扑工程。 - 在 eNSP 里打开拓扑并启动设备。
- MCP 扫描 eNSP 暴露的 Telnet/Console 端口。
- MCP 批量下发 VRP 配置并保存。
有些 eNSP 版本不会稳定加载生成工程里的 vrpcfg.zip。如果打开设备还是 <Huawei>,不是项目失效,直接使用批量下发配置工具即可。
PC / Server 的 IP 和 DNS/Web/FTP 图形服务也不一定能由 .topo 稳定恢复,报告验收前建议手动确认。
快速安装
git clone https://github.com/<your-name>/ensp-automation-mcp.git
cd ensp-automation-mcp
pip install -e . --no-deps --no-build-isolation
如果你本机已经能正常安装 MCP 依赖,也可以直接:
pip install -e .
MCP 客户端配置
通用 MCP JSON 配置示例:
{
"mcpServers": {
"ensp-automation-mcp": {
"command": "ensp-automation-mcp",
"args": []
}
}
}
Codex 风格 TOML 配置示例:
[mcp_servers.ensp-automation-mcp]
command = "ensp-automation-mcp"
args = []
配置好后重启你的 agent / MCP 客户端。
工具列表
| 工具 | 用途 |
|---|---|
ensp_getCampusPlan |
查看内置校园网方案 |
ensp_generateCampusProject |
生成 .topo、配置、服务步骤、测试计划 |
ensp_generateCampusConfigs |
输出所有 VRP 配置 |
ensp_getVerificationPlan |
输出验收命令、业务测试、调试案例 |
ensp_scanTelnetPorts |
扫描 eNSP 设备 Telnet/Console 端口 |
ensp_telnetConnect |
连接单台 eNSP 设备 |
ensp_telnetExecute |
在单台设备执行命令 |
ensp_telnetApplyConfig |
给单台设备批量下发配置 |
ensp_applyCampusConfigsByPortRange |
按默认端口映射一键下发整套校园网配置 |
ensp_saveCampusConfigsByPortRange |
按默认端口映射一键保存整套校园网配置 |
ensp_telnetListSessions |
查看当前 Telnet 会话 |
ensp_telnetDisconnect |
断开 Telnet 会话 |
推荐使用流程
- 调用
ensp_generateCampusProject生成工程。 - 在 eNSP 中打开生成的
.topo。 - 启动设备,建议分批启动:先路由器,再核心/汇聚交换机,再接入交换机,最后 PC/Server。
- 调用
ensp_scanTelnetPorts,确认端口在线。 - 调用
ensp_applyCampusConfigsByPortRange批量下发配置。 - 调用
ensp_saveCampusConfigsByPortRange保存设备配置。 - 调用
ensp_getVerificationPlan,按命令截图验收。
默认端口映射从 2000 开始:
AR-ISP 2000
AR-EDGE 2001
AR-CORE-A 2002
AR-CORE-B 2003
LSW-CORE1 2004
...
LSW-IOT-ACC 2019
服务器手动服务项
如果 eNSP Server 图形服务没有自动恢复,请手动设置:
SRV-DNS
IP: 192.168.40.10/24
Gateway: 192.168.40.1
DNS: On
www.campus.local -> 192.168.40.20
ftp.campus.local -> 192.168.40.30
SRV-WEB
IP: 192.168.40.20/24
Gateway: 192.168.40.1
HTTP: On
SRV-FTP
IP: 192.168.40.30/24
Gateway: 192.168.40.1
FTP: On
User: ftpuser / cisco
什么情况下适合用
如果你是在做这些事,这个项目会比较顺手:
- eNSP 网络实验,不想从零拖设备、写重复配置。
- 网络工程演示,需要一套看起来完整、配置也说得通的拓扑。
- 想让支持 MCP 的 agent 帮你生成拓扑、下发配置、列验收命令。
- 想研究 eNSP 工程文件和 VRP 配置自动化。
先说清楚哪些事它做不了
- 它不是用来管真实生产网络的。
- 它不是华为官方工具,eNSP 版本差异导致的问题只能尽量兼容。
- 它不能绕开 eNSP 自己的限制,比如 Server 图形服务有时还是要手动点。
- 它也不是“打开拓扑就百分百全自动恢复配置”。如果设备还是
<Huawei>,就走 Telnet 批量下发配置。
开发
python -m py_compile (Get-ChildItem -Path .\src\ensp_automation_mcp -Filter *.py | ForEach-Object { $_.FullName })
python -c "from ensp_automation_mcp.tools import TOOLS; print(len(TOOLS)); print([t['name'] for t in TOOLS])"
许可证
MIT License. See LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。